1. 程式人生 > >python day16--面向物件(01)

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()