class Person: def __init__(self,name,gender,hobby): self.name = name # 實例變量 對象裏的變量 self.gender = gender self.hobby = hobby s = Person('張三','男','打籃球') print(s.hobby) s.hobby = '踢足球' print(s.hobby)
二、類變量:變量屬於類,可是對象也能夠訪問 ide
class Person: country = '中國' def __init__(self,name,gender): self.name = name self.gender = gender c = Person('Ann','女') b = Person('Bob','男') print(Person.country) c.country = '大清' # 大坑,沒有修改類變量 print(c.country) # 類變量能夠給對象使用 print(b.country)
class Computer: #實例方法(成員方法) def play(self): print('電腦能夠玩遊戲') # 在定義實例方法的時候,必須給出一個參數self # 形參的第一個參數,自動的把對象給傳遞進來 def work(self): # self是當前類的對象 print(self) print('電腦能夠用來工做') c = Computer() c.work() # 調用的時候不須要手動的給出self print(c)
class Person: # 實例方法 def eat(self): print('吃遍山珍海味') @classmethod # 裝飾器,此時這個方法是一個類方法 def talk(cls): # 此時接收到的cls是類名 print('自言自語') # # 用對象訪問 # s = Person() # s.talk() # 在調用類方法的時候,默認的把類名傳遞給類方法 # print(Person) # 類方法通常用類名訪問 Person.talk() # 類方法
class Quit: @staticmethod def meet(): print('會議保持安靜') # 靜態方法可使用對象訪問,也可使用類名訪問,可是通常推薦使用類名訪問 c = Quit() c.meet() # 推薦使用類名訪問 Quit.meet()
class Person: __qie = 'beauty' def __init(self,name,secret): self.name = name self.__secret = secret # 私有內容 實例變量 def tell(self): print(f"你的祕密是{self.__secret}") print(Person.__qie) # 私有的類變量只能在類中調用 return self.__secret def __dream(self): # 私有的實例方法 print('個人夢想是..') @staticmethod def __think(): print('當心思') @classmethod def __work(cls): print('我的工做') p =Person('zhangmeng','過去的生活') # print(p.__secret) # 私有的內容只能在類中調用 # # p.tell() # print(Person.__qie) # p.__dream() # Person.__work()
class Person: def __init__(self,name,hobby,birth): self.name = name self.hobby = hobby self.birth = birth # 年齡應該是算出來的,而不是直接存儲 @property # 把一個方法更改爲一個屬性,每次拿屬性的時候都會自動的去執行這個方法 # 方法的返回值就是屬性值 def age(self): # 實例方法 print('個人年齡') return 2018 - self.birth c = Person('zhangmeng','dance',1999) # c.age print(c.age) # 看着像一個變量同樣使用,實際上這裏是調用的一個方法 # c.age = 26 # 不能夠,由於age是一個方法,不是一個變量
class Person: __qie = 'beauty' def __init(self,name,secret): self.name = name self.__secret = secret # 私有內容 實例變量 def tell(self): print(f"你的祕密是{self.__secret}") print(Person.__qie) # 私有的類變量只能在類中調用 return self.__secret def __dream(self): # 私有的實例方法 print('個人夢想是..') @staticmethod def __think(): print('當心思') @classmethod def __work(cls): print('我的工做') p =Person('zhangmeng','過去的生活') # print(p.__secret) # 私有的內容只能在類中調用 # # p.tell() # print(Person.__qie) # p.__dream() # Person.__work()