Python--類的調用


類的調用

實例化

class Luffy:
    school = 'luffy'
    def __init__(self,name,age):
        self.Name = name
        self.Age = age
    def learn(self):
        print('%s is learning' % self.Name)
    def eat(self):
        print('is eating')

stu1 = Luffy('xing',19)

__init__,初始化方法,可差異化不同對象,self為自己本身,實例化時把 自己傳遞進去了

stu1 = Luffy('xing',19)
print(stu1.Name)
Luffy.
__init__(stu1,'yang',22) print(stu1.Name) --------------------------------------- xing yang

甚至可以通過以上方法更改屬性

stu1 = Luffy('xing',19)

stu1.learn()
Luffy.learn(stu1)
--------------------------------
xing is learning
xing is learning

以上為調用類的方法的兩種方法

 

注意:

實例化對象有自己的特有屬性

stu1 = Luffy('Tom',19)
stu2 = Luffy('Bob',22)

print(stu1.__dict__)
print(stu2.__dict__)
---------------------------
{'Name': 'Tom', 'Age': 19}
{'Name': 'Bob', 'Age': 22}

 

實例化對象的公共數據屬性都指向類中數據屬性的地址,而函數屬性則是自己的地址

stu1 = Luffy('Tom',19)
stu2 = Luffy('Bob',22)

print(id(stu1.school))
print(id(stu2.school))
print(id(Luffy.school))

print(id(stu1.learn))
print(id(stu2.learn))
print(id(Luffy.learn))
-------------------------------
15527680
15527680
15527680           # 數據屬性地址一樣

12010160
12010160
16096184           # 函數屬性地址stu1和stu2一樣(可能是Python新版的優化)

 

Python3 中統一了類型與類的概念

l1 = [1,2,3]
l2 = list([4,5,6])
print(type(l1),type(l2))

l1.append(4)
list.append(l2,7)
print(l1)
print(l2)
------------------
<class 'list'> <class 'list'>

[1, 2, 3, 4]
[4, 5, 6, 7]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM