【python學習】函式與類
阿新 • • 發佈:2022-03-15
現在做的一個小專案需要用到python的相關知識,但是因為太久沒用一些東西都忘掉了,因此在本篇部落格中記錄一下python的函式和類的基礎知識,下次可以直接查閱,用的參考書是《Python程式設計從入門到實踐》
函式
運用關鍵字def告訴Python要定義函式:
def greet_name():
print("Hello!")
包含引數:
def greet_name(username):
print("Hello, "+username.title()+"!")
- 形參:函式完成其工作需要的一項資訊
- 預設值:每個形參可指定預設值,給形參指定預設值後可在函式呼叫中省略相應的實參
- 實參:呼叫函式時傳遞給函式的資訊
- 位置實參:基於實參的順序
- 關鍵字實參:傳遞給函式名稱-值對
def greet_name(username='zyh'):
print("Hello, "+username.title()+"!")
greet_name()
greet_name('zyh')
greet_name(username='zyh')
- 返回值
模組
可將函式儲存在被稱為模組的獨立檔案中(副檔名為.py的檔案),再將模組匯入到主程式中
import語句允許在當前執行的程式檔案中使用模組中的程式碼
- 匯入整個模組
- 匯入特定的函式
- 使用as給函式指定別名
- 使用as給模組指定別名
- 匯入模組中的所有函式
from pizza import make_pizza
from pizza import make_pizza as mp
import pizza as p
from pizza import *
匯入模組後可以使用句點表示法使用模組中的函式:
module_name.function_name()
類
根據類來建立物件:例項化
class Dog(): def __init__(self,name,age): self.name=name self.age=age def sit(self): print(self.name.title()+ "is now sittinf") def roll_over(self): print(self.name.title()+ "rolled over!")
類中的函式稱為方法
- __init __()方法
- 根據類建立新例項時,Python都會自動執行它,這個方法的定義中形參self必不可少,還比如位於其他形參的前面,self是一個指向例項本身的引用,讓例項可以訪問類中的屬性和方法
根據類建立例項
my_dog=Dog('zxz',9)
- 訪問屬性
- 呼叫方法
- 修改屬性的值
- 直接修改屬性的值
- 通過方法修改屬性的值
繼承
一個類繼承另一個類,它將自動獲得另一個類的所有屬性和方法,原有的類稱為父類,新類稱為子類
class Car():
def __init__(self,make,model,year):
self.make=make
self.model=model
self.year=year
class ElectricCar(Car):
def __init__(self,make,model,year):
super().__init__(make,model,year)
- 建立子類時,父類必須包含在當前檔案中,且位於子類前面
- super()是一個特殊函式,幫助Python將父類和子類相關聯起來,在例子中呼叫了父類的方法__init() __從而讓ElectricCar包含父類中的所有屬性
- 父類也稱為超類(superclass)
- 一個類繼承另一個類後,可新增區分子類和父類所需的新屬性和方法,同時還可以重寫父類的方法,Python不會考慮父類方法,只會關注在子類定義的相應方法
- Python允許將類儲存在模組中,然後在主程式中匯入所需的模組,從一個模組匯入類時,可用逗號分隔各個類