python day16--面向物件(01)
一、概念
類:具有相同屬性的一類事物
比如人類是類,人類中的某個人是物件。食物是一類,米飯是一個物件
class Person: '''類體:兩部分:變數部分,方法(函式)部分''' mind = '有思想' # 變數,靜態變數,靜態欄位 animal = '高階動物' faith = '有信仰' def __init__(self,name,age,hobby): self.name = name self.age = age self.hobby = hobby def work(self): #方法,函式,動態變數 print('%s都會工作...' %self.name) def shop(self): print('人類可以消費....')
可以將多個函式放在一起。
1.從類名的角度來看
1.1 Person.__dict__ 查詢類中的所有的內容 (不能進行增刪改操作)
print(Person.__dict__)#返回的是字典
print(Person.__dict__['faith'])
Person.__dict__['mind'] = '無腦'
print(Person.__dict__['mind'])
1.2萬能的 . 對類中的單個的變數進行增刪改查,用 萬能的 點
# # print(Person.mind)
# # print(Person.animal) # 查
# # Person.money = '運用貨幣' # 增
# # Person.mind = '無腦的' # 改
# # del Person.mind
# # print(Person.__dict__)
2.物件的角度
2.1.ret = Person('alex',1000, 'oldwomen') # 類名+()的這個過程:例項化的過程(建立一個物件的過程)
#1, 類名+()產生一個例項(物件,物件空間.)
#2, 自動執行類中的__init__方法,將物件空間傳給__init__的self引數,
#3, 給物件封裝相應的屬性.
# print(ret.__dict__)
# print(ret.name) # 查
# ret.high = 175 # 增
# del ret.name # 刪
# ret.age = 73 # 改
# print(ret.__dict__)
# 物件操作類中的靜態變數 : 只能查詢.
# print(ret.mind)
# 物件呼叫類中的方法 (工作中 通過物件執行類中的方法,而不是通過類名)
# ret.shop()
# print(ret)
bigsum = Person('大哥',39, '男')
india_ning = Person('拉拉',19, '女')
bigsum.work()
india_ning.work()