下面是乙個簡單的示例
輸入class school():
def __init__(self, teacher_charge, *students):
"""初始化兩個屬性"""
self.teacher_charge = teacher_charge
self.students = students
def teaching(self):
print('students:')
for i in range(0,len(self.students)):
print(self.students[i])
print('teacher:' + self.teacher_charge)
school = school('miss young', 'leison','ying')
school.teaching()
輸出students:
leison
ying
teacher:miss young
class school():部分**塊為類的建立,最後兩句則分別為根據類建立例項和呼叫類的方法。首先在建立類的時候,需要注意到方法__init__(),這是一種特殊的方法,每次根據類建立例項時這個方法會自動執行,其中有三個形參,在每次建立例項是,self都會被自動傳入,因此在這個例項中實際是後兩個形參有對應的實參。每個與類相關聯的方法呼叫都將自動傳入self,它是指向例項本身的引用,讓例項能夠訪問類中的屬性和方法。
考慮如下**
class girl():
def __init__(self, age):
self.age = age
def age_print(self):
print(self.age)
my_girl = girl(18) #建立例項
my_girl.age_print()
my_girl.age = 16 #通過例項對屬性直接訪問
my_girl.age_print()
輸出考慮如下**
class girl():
def __init__(self, age):
self.age = age
def age_print(self):
print(self.age)
def age_chage(self, age): #新建立了乙個方法,能夠對age屬性進行修改
self.age = age
my_girl = girl(18)
my_girl.age_print()
my_girl.age_chage(16) #呼叫age方法對其修改
my_girl.age_print()
輸出考慮如下**
class girl():
def __init__(self):
self.age = 18 #此時__init__()不接受引數了,age屬性已經具有初始預設值18
def age_print(self):
print(self.age)
def age_chage(self, age):
self.age = age
my_girl.age_print()
my_girl.age_chage(16) #可以呼叫age方法對其修改
my_girl.age_print()
輸出考慮如下**
class man():
def __init__(self, name, age):
self.name = name
self.age = age
def print_profile(self):
print('name:'+self.name + '\nage:' +str(self.age))
class ultraman(man):
def __init__(self,name, age):
super().__init__(name, age)
tiga = ultraman('tiga',30000000)
tiga.print_profile()
輸出ultraman類繼承了man類,能夠使用man類的方法,ultraman類的__init__()方法中使用到了super()函式,該函式能將父類和子類相關聯。
現重新編寫ultraman類如下
class ultraman(man):
def __init__(self,name, age,*ability):
super().__init__(name, age)
self.ability = ability #新屬性ability
def show_ability(self): #新方法.show_ability()
print('ability ' + self.ability[0] +' activate!')
tiga = ultraman('tiga',30000000, '哉佩利敖光線','迪迦復合手刀')
tiga.show_ability()
輸出ability 哉佩利敖光線 activate!
子類繼承了父類可以使用其方法,但是原來的方法不能很好地模擬實物,於是需要對其重寫ultraman類繼承了父類的.print_profile()方法,但是不能顯示ability屬性,先對其修改如下
class ultraman(man):
def __init__(self,name, age,*ability):
super().__init__(name, age)
self.ability = ability
def show_ability(self):
print('ability ' + self.ability[0] +' activate!')
def print_profile(self): #重寫方法
print('name:'+self.name + '\nage:' +str(self.age) + '\nability:'+ self.ability)
輸出略如上,重寫父類方法直接顯式地重新定義即可
考慮以下**
class man():
def __init__(self, name, age):
self.name = name
self.age = age
def print_profile(self):
print('name:'+self.name + '\nage:' +str(self.age))
class personal_computer():
def __init__(self, cpu, gpu, ram, rom, owner_name, owner_age):
self.cpu = cpu
self.gpu = gpu
self.ram = ram
self.rom = rom
self.owner = man(owner_name, owner_age) #例項作為屬性
def use_computer():
print(self.owner.name + ' is using this computer.') #訪問屬性(例項)的屬性
my_pc = personal_computer(4800h, 1650,16gb,1012gb,tang, 19)
my_pc.use_computer()
輸出tang is using this computer.
類的匯入和函式匯入類似。現有一模組檔名module_1.py,內有類class_1和class_2,且不接受任何引數。
import module_1
class1 = module_1.class_1()
class2 = module_1.class_2()
from moduel_1 import class_1, class_2
class1 = class_1()
class2 = class_2()
也可以使用*匯入所有,如
from moduel_1 import *
Python 程式設計 從入門到實踐
1.官網安裝 3.環境配置 務必選中核取方塊add python to path 4.檢視 啟動python版本的命令 python 執行 print hello python world 5.終端執行x.py檔案 python x.py 7.檢視當前目錄中的所有檔案的命令 dir windows系...
Python程式設計從入門到實踐 基礎入門
python程式設計從入門到實踐 基礎入門 1 python中的變數 2 python首字母大寫使用title 方法,全部大寫upper 方法,全部小寫lower 方法 3 python中字串拼接使用 號 4 python中刪除字串的空格 刪除末尾空格的rstrip 刪除開頭空格的lstrip 刪除...
Python程式設計 從入門到實踐 1
內容總結自 python程式設計 從入門到實踐 安裝python3 安裝文字編輯器sublime text並配置python3環境 安裝sublime text tools new build system 將 untitled.sublime build 文件中的所有內容刪除,輸入以下內容 注意,...