一篇文章帶你學(xué)習(xí)python的函數(shù)與類(lèi)
現(xiàn)在做的一個(gè)小項(xiàng)目需要用到python的相關(guān)知識(shí),但是因?yàn)樘脹](méi)用一些東西都忘掉了,因此在本篇博客中記錄一下python的函數(shù)和類(lèi)的基礎(chǔ)知識(shí),下次可以直接查閱,用的參考書(shū)是《Python編程從入門(mén)到實(shí)踐》
函數(shù)
運(yùn)用關(guān)鍵字def告訴Python要定義函數(shù):
def greet_name(): print("Hello!")
包含參數(shù):
def greet_name(username): print("Hello, "+username.title()+"!")
- 形參:函數(shù)完成其工作需要的一項(xiàng)信息
- 默認(rèn)值:每個(gè)形參可指定默認(rèn)值,給形參指定默認(rèn)值后可在函數(shù)調(diào)用中省略相應(yīng)的實(shí)參
- 實(shí)參:調(diào)用函數(shù)時(shí)傳遞給函數(shù)的信息
- 位置實(shí)參:基于實(shí)參的順序
- 關(guān)鍵字實(shí)參:傳遞給函數(shù)名稱(chēng)-值對(duì)
def greet_name(username='zyh'): print("Hello, "+username.title()+"!") greet_name() greet_name('zyh') greet_name(username='zyh')
- 返回值
模塊
可將函數(shù)存儲(chǔ)在被稱(chēng)為模塊的獨(dú)立文件中(擴(kuò)展名為.py的文件),再將模塊導(dǎo)入到主程序中
import語(yǔ)句允許在當(dāng)前運(yùn)行的程序文件中使用模塊中的代碼
- 導(dǎo)入整個(gè)模塊
- 導(dǎo)入特定的函數(shù)
- 使用as給函數(shù)指定別名
- 使用as給模塊指定別名
- 導(dǎo)入模塊中的所有函數(shù)
from pizza import make_pizza from pizza import make_pizza as mp import pizza as p from pizza import *
導(dǎo)入模塊后可以使用句點(diǎn)表示法使用模塊中的函數(shù):
module_name.function_name()
類(lèi)
根據(jù)類(lèi)來(lái)創(chuàng)建對(duì)象:實(shí)例化
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!")
類(lèi)中的函數(shù)稱(chēng)為方法
- __init __()方法
- 根據(jù)類(lèi)創(chuàng)建新實(shí)例時(shí),Python都會(huì)自動(dòng)運(yùn)行它,這個(gè)方法的定義中形參self必不可少,還比如位于其他形參的前面,self是一個(gè)指向?qū)嵗旧淼囊?,讓?shí)例可以訪(fǎng)問(wèn)類(lèi)中的屬性和方法
根據(jù)類(lèi)創(chuàng)建實(shí)例
my_dog=Dog('zxz',9)
- 訪(fǎng)問(wèn)屬性
- 調(diào)用方法
- 修改屬性的值
- 直接修改屬性的值通
- 過(guò)方法修改屬性的值
繼承
一個(gè)類(lèi)繼承另一個(gè)類(lèi),它將自動(dòng)獲得另一個(gè)類(lèi)的所有屬性和方法,原有的類(lèi)稱(chēng)為父類(lèi),新類(lèi)稱(chēng)為子類(lèi)
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)
- 創(chuàng)建子類(lèi)時(shí),父類(lèi)必須包含在當(dāng)前文件中,且位于子類(lèi)前面
- super()是一個(gè)特殊函數(shù),幫助Python將父類(lèi)和子類(lèi)相關(guān)聯(lián)起來(lái),在例子中調(diào)用了父類(lèi)的方法__init() __從而讓ElectricCar包含父類(lèi)中的所有屬性
- 父類(lèi)也稱(chēng)為超類(lèi)(superclass)
- 一個(gè)類(lèi)繼承另一個(gè)類(lèi)后,可添加區(qū)分子類(lèi)和父類(lèi)所需的新屬性和方法,同時(shí)還可以重寫(xiě)父類(lèi)的方法,Python不會(huì)考慮父類(lèi)方法,只會(huì)關(guān)注在子類(lèi)定義的相應(yīng)方法
- Python允許將類(lèi)存儲(chǔ)在模塊中,然后在主程序中導(dǎo)入所需的模塊,從一個(gè)模塊導(dǎo)入類(lèi)時(shí),可用逗號(hào)分隔各個(gè)類(lèi)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實(shí)例
今天小編就為大家分享一篇Tensorflow 模型轉(zhuǎn)換 .pb convert to .lite實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Window系統(tǒng)下Python如何安裝OpenCV庫(kù)
這篇文章主要介紹了Window系統(tǒng)下Python如何安裝OpenCV庫(kù),本文分步驟給大家介紹的詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03python提取字符串中的數(shù)字的實(shí)現(xiàn)
本文主要介紹了python提取字符串中的數(shù)字的實(shí)現(xiàn),主要介紹了幾種常見(jiàn)的方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10Python實(shí)現(xiàn)運(yùn)行其他程序的四種方式實(shí)例分析
這篇文章主要介紹了Python實(shí)現(xiàn)運(yùn)行其他程序的四種方式,結(jié)合實(shí)例形式分析了Python執(zhí)行其他程序相關(guān)模塊與函數(shù)使用技巧,需要的朋友可以參考下2017-08-08淺析python連接數(shù)據(jù)庫(kù)的重要事項(xiàng)
這篇文章主要介紹了python連接數(shù)據(jù)庫(kù)的重要事項(xiàng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02