類與對象的關係
類: 就是建立對象的第一步,先寫類
對象: 經過類來建立對象
類是對某事物的歸類(類就是對屬性和方法的封裝)
__init__(self, 參數): 參數通常做爲屬性設置給對象,對象就是self,對屬性的封裝,(根據須要,若是在類中傳參就用__init__,若是不須要傳參,就直在類裏定義函數便可)
def 方法(self, 參數): 方法,第一個參數通常是固定的self,當前類的對象
建立類:
class 類名:
對象是某類型的一個具體
建立對象:
變量 = 類名() #實例化 <-> 建立對象
變量.屬性 #訪問對象的屬性信息
變量.方法() #訪問類中的方法python
1 class 類名: 2 def __init__(self,值1,值2): # __init__(初始化方法,又被成爲構造方法) 3 self.屬性 = 值1 4 self.屬性 = 值2 5 6 def 方法(self): 7 方法體 8 def 方法2(self): 9 方法體2 10 11 對象名 = 類名(值1,值2) 12 對象名.方法() 13 對象名.方法2()
建立類web
1 class Car: #類名首字母大寫,嚴格遵照變量命名規則 2 pass 3 c = Car() #建立對象,對象名=類名() 4 c.color = '紅色' # 對象.屬性(.意思就是'的')當屬性不存在的時候,添加一個屬性 5 c.pai = '京A88888' 6 c.color = '黑色' # 當屬性存在的時候是修改屬性信息(相似於字典根據key修改value) 7 print(c.color) 8 print(c.pai) 9 結果 10 紅色 11 黑色 12 京A88888
建立一個類並調用這個類
__init__方法是一個特殊的方法,初始化方法(構造方法),在建立對象的時候,默認執行這個函數
在建立對象的時候會自動的調用__init__()
self就是建立出來的對象函數
1 class Car: 2 def __init__(self,color,pai): 3 self.a = color 4 self.pai = pai 5 def pao(self): #在類中寫的函數就是方法,self當前類的對象 6 print('我%s的%s車能跑'%(self.a,self.pai)) 7 def jump(self): 8 print('個人%s車能飛'%self.pai) 9 c=Car('紅色','京A88888') # 建立Car類型對象,self參數不須要管 10 c.pao() 11 c.jump() 12 c2 = Car('黑色','京B66666') 13 c2.pao() 14 c2.jump() 15 結果 16 我紅色的京A88888車能跑 17 個人京A88888車能飛 18 我黑色的京B66666車能跑 19 個人京B66666車能飛 20 21 事例2,對象傳參 22 class Car: 23 def __init__(self,color,pai): 24 self.a = color 25 self.pai = pai 26 def pao(self,ret): 27 print('我%s的%s車能跑%s'%(self.a,self.pai,ret)) 28 def jump(self): 29 print('個人%s車能飛'%self.pai) 30 c=Car('紅色','京A88888') 31 c.pao('太空') 32 c.jump() 33 結果 34 我紅色的京A88888車能跑太空 35 個人京A88888車能飛 36 37 38 練習 39 用向對象的思惟來模擬LOL裏的蓋倫上陣殺敵 40 class Hero: 41 def __init__(self,name,nickname): 42 self.name = name 43 self.nickname = nickname 44 def synopsis(self): 45 print('%s外號%s'%(self.name,self.nickname)) 46 def q(self): 47 print('拎着大寶劍嗷嗷跑') 48 def w(self): 49 print('護盾') 50 def r(self): 51 print('大寶劍') 52 gw = Hero('蓋倫','德瑪西亞之力') 53 gw.synopsis() 54 gw.q() 55 gw.w() 56 gw.r() 57 結果 58 蓋倫外號德瑪西亞之力 59 拎着大寶劍嗷嗷跑 60 護盾 61 大寶劍 62 63 用向對象的思惟來完成用戶登陸 64 class People: 65 def __init__(self,user,pwd): 66 self.user = user 67 self.passwd = pwd 68 def login(self): 69 use = input('user:') 70 password = input('passwd:') 71 if use == self.user and password == self.passwd: 72 print('登錄成功') 73 else: 74 print('登錄失敗') 75 Lgin = People('bob',