__init__(self,參數) 參數通常做爲屬性設置給對象,對象就是self,對象性的封裝。 def 方法(self,參數): 方法,第一個參數通常是固定的self,當前類的對象
建立類: python
class 類名: def __init__(self): # 初始化方法,又被稱爲構造方法 self.屬性 = 值 self.屬性 = 值 self.屬性 = 值 def fangfa(self): 方法體(函數體,return)
建立對象:編程
變量 = 類名() #實例化 <--> 建立 變量.屬性 # 訪問對象的屬性信息 變量.方法() # 訪問類中的方法
下面以造車來舉例: ide
class Car: # 類名首字母大寫,嚴格遵照駝峯命名規則 pass # 造車 c = Car() #類名() 表示建立對象 c.color = 'red' # 對象.屬性 中間的點表示‘的’ ,當屬性不存在的時候,至關於添加一個屬性 c.paizhao = '京A888888' print(c.color) print(c.paizhao) c.color = 'blue' # 當屬性存在的時候,是修改屬性星系 # 至關於一個字典,屬性爲key,等號後邊的內容爲value
class User: def __init__(self,username,password): self.username = username self.password = password def login(self): uname = input('請輸入用戶名:') passw = input('請輸入密碼') if uname == self.username and passw == self.password: print('登錄成功') else: print('登錄失敗') info = User('zhangmeng','ni123') info.login()
用面向對象的思惟完成用戶登陸 函數
class User: def __init__(self,username,password): self.username = username self.password = password def login(self): uname = input('請輸入用戶名:') passw = input('請輸入密碼') if uname == self.username and passw == self.password: print('登錄成功') else: print('登錄失敗') info = User('zhangmeng','ni123') info.login()
class Student: def __init__(self,name,ID,grade): self.name = name self.ID = ID self.grade = grade stu1 = Student('張欣','001','三年級') # 把多個信息(值)保存在一個對象中 stu2 = Student('黃瑤','009','六年級') def choose(s): print('選擇%s去參加競賽'%s.name) choose(stu1)
class foo: def getmoney(self): print('快到碗裏來') class bar(foo): pass c = bar() c.getmoney() # 快到碗裏來
# 封裝,繼承,多態 class Animal: def run(self): print('動物在跑') def chi(self): print('動物在吃') class Cat(Animal): def __init__(self,name,color,hobby): self.name = name self.color = color self.hobby = hobby class Dog(Animal): def __init__(self,name,color,hobby): self.name = name self.color = color self.hobby = hobby def chi(self): print('吃吃吃') c = Cat('xiaomei','紅色','偷吃魚') d = Dog('budian','黑色','咬東西') def func(ani): ani.chi() func(c) func(d)