#每天一點Python——90 #類的創建
'''
創建類的語法:
class 類名:pass【縮進之后寫類里面的內容】
[類里面寫什么沒有想好之前,可以用pass進行占位.可以不報錯]
'''
#演示:
class Lei:pass
#以上就上一個類被創建的樣例
'''
注意事項:
類名:是由一個或者多個單詞,而且要求每個單詞的首字母大寫,其余小寫【這是規范,不遵循也沒事,規范不會造成誤解】
對象:由三部分組成id{內存空間} 類型 值
python一切皆對象
那么我們創建的這個類Lei是對象嗎?
我們驗證一下
'''
print(id(Lei))#查看內存空間
print(type(Lei))#查看類型
print(Lei)#查看值
'''
我的輸出結果如下
1831088599744
<class 'type'>
<class '__main__.Lei'>
都有
這就是一個類對象
'''
#類的組成部分
'''
類屬性
實例方法
靜態方法
類方法
'''
#解釋:
class Leione:native_place='北京'#【native_place籍貫,直接寫在類里面的變量,我們稱為類屬性,這里是我們定義一個變量native_place='北京'】def __init__(self,name,age):#初始化【一般只有self,后面的name age可以自己添加,我寫的是name,age】[還需要注意def __init__(self,name,age):這個里面是def空格+雙下劃線]self.name=nameself.age=age#這是賦值操作#這是把self.name實例屬性,在這里進行了賦值操作將局部變量name賦值給了self.name實例屬性【name可以自己定義】【下面有解釋】#實例方法def eat (self):#除了類屬性,我們還可以定義實例方法,實例方法與函數定義類似,不過()里面一定要寫self【必須寫】你也可以換別的單詞,但是我們一般用selfprint('學生在吃飯')#我們在類之外定義的def叫做函數,在類里面定義的叫做方法#靜態方法[使用@staticmethod修飾的叫做靜態方法]【可以不加@,就使用內置函數staticmethod() 也行,一般用@】@staticmethoddef m1():print('我是使用了@staticmethod,所以我是靜態方法')#在靜態方法中,()里面不允許使用self#類方法【使用@classmethod修飾的叫做類方法】@classmethoddef cm(cls):print('我使用了@classmethod,所以我是類方法')#在類方法中()里面必須有cls#定義函數
def drink():print(1)
#這個縮進與class【類】不一致,在類之外,叫做函數
#以上是一個基本創建類的過程,至于怎么用,我們后面繼續研究深入'''
self是形參,必不可少解釋:把name賦值給self. name
name是輸入的數據,只能在函數int使用
但self. name可以在類里面的其他函數使用
算我在定義外輸入了name,但是我在類里面不能用
需要我在創建類里面需要用self.name轉化一下,才可以使用
'''