《Python程式設計從入門到實踐》學習覆盤 類

2021-10-25 15:20:27 字數 4097 閱讀 3948

下面是乙個簡單的示例

輸入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 文件中的所有內容刪除,輸入以下內容 注意,...