對象是特徵與技能的結合體,我可能有身高體重、而你也有身高體重,因此你會說你像我,可是你必定不會說你像阿貓阿狗。而且我和你其實就能夠說成是一類,而你和選課系統不能說是一類,所以給出類的定義:類就是一系列對象類似的特徵與技能的結合體。python
在現實世界中:先有一個個具體存在的對象,而後隨着人類文明的發展才了分類的概念函數
對象:含有屬性和方法學習
拿咱們的選課系統來講的話,咱們先總結一套現實世界中的學生對象code
站在將來選課系統的角度,咱們還能夠總結現實世界中的學生類:對象
class Students: # 定義對象相同的屬性 shool = 'xiwangzhongxue' # 定義對象想的方法 def choice(self): print('選課。。。。') def study(self): print('學習。。。。')
stu1 = Student() # 這個時候只是生成了一個對象stu1,對象自己沒有任何屬性 print(stu1) # 打印的只是stu1對象在定義的時候生成的內存地址
<main.Student object at 0x000001EE24F2C198>內存
print(Student.__dict__)
{'module': 'main', 'school': 'oldboy', 'func1': <function Student.func1 at 0x000001EE25195620>, 'func2': <function Student.func2 at 0x000001EE2C0C59D8>, 'dict': <attribute 'dict' of 'Student' objects>, 'weakref': <attribute 'weakref' of 'Student' objects>, 'doc': None}it
print(stu1.__dict__) # 返回的是一個空的字典,由於咱們在定義這個stu1對象的時候,沒有給它定義其餘的屬性
{}io
Student.choice(stu1) # 函數的第一個參數則是定義的對象名
選課。。。。function
stu1.choice():
選課。。。。class
stu1.name = '小明' print(stu1.__dict__)# 返回一個字典,字典包含的是對象本身的屬性集合 print(stu1.name) # 返回對象本身name的屬性
{’name‘:’小明‘}
小明
# 定義一個學生類 class Student: # 定義類的相同屬性 school = '但願中學' # 定義類的相同方法 # 定義類的屬性方法 def __init__(self,name): self.name = name def choice(self): print('選課...') def study(self): print('學習....') # 實例化一個對象 stu1 = Student('小明')# ()括號裏傳的是對象stu2的name屬性值爲'小明' print(stu1.__dict__)# 打印對象stu1的屬性集合 print(stu1.name)# 打印stu1的name的屬性值