day16類成員
阿新 • • 發佈:2018-11-07
類成員
1.例項方法
物件.方法
2.類方法
@classmethod
類名.方法
3.靜態方法
@staticmethod
類名.方法
4. @property 可以把一個方法變成一個屬性
1. 函式只能有一個self引數.
2. 需要有返回值
3. 不能賦值
4. 呼叫的時候, 我們不需要寫括號. 直接當成屬性變數來⽤就可以了
class Person:
country="中國"
def __init__(self,name,brithday,qq):
#例項變數. 給物件賦值
self.name=name
self.brithday=brithday
self.qq=qq
def chi(self):
print("走,吃去")
@classmethod #申明類方法
def he(cls):
print("喝飲料")
@staticmethod #申明靜態方法,相當於在類中定義的一個普通函式
def shui():
print("睡")
@property #把方法變屬性
def age(self):
return 2018-self.brithday
p1=Person()
Person.country="China" # 類變數的修改只能通過類名來完成
p1.email=1970664132 新增例項變數-> 欄位 -> 屬性(java)
p1.chi() #物件.方法
Person.he() #類名.方法 不管用物件還是用類去訪問類方法. 預設傳遞進去的是類
Person.shui() #類名.方法
print(p1.age)
class Person: def __init__(self, name): # 構造, 建立物件的時候自動呼叫 self.__name = name # 私有的 print("這裡是構造方法") def init(self): print("例項方法") def __chi(self): # 私有的 print("我要吃. 瘋狂的吃") def he(self): self.__chi() # 內部呼叫 print("我是喝", self.__name私有) p = Person("孫藝珍") p.he() # # p.__init__() # 很蠢 # p.init() # print(p.__name)