日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 函数 类 模块

發布時間:2025/3/11 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 函数 类 模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python基礎語法5

  • 函數
    • 作用域
    • 函數參數
    • 函數對象
    • 無名函數
    • 回調函數
    • 函數嵌套
    • 類的創建
    • 類的調用
    • 初始化方法
    • 類的繼承
      • 類的定制
  • 模塊
    • 使用模塊

函數

封裝好,進行某種功能

del 函數名(參數):函數體return 返回值(可以沒有return語句)

作用域

在函數內定義的變量,僅能在函數內部使用,這是局部變量
函數之外的定義與賦值的變量,可以再任何地方使用,這是全局變量
global語句,可以將局部變量變成全局變量global 函數名

函數參數

位置參數:參數的順序和個數和函數定義中一致

sum=0 def math(a,b,c):sum=a+b+creturn sum a=1;b=2;c=3 math(a,b,c)#a,b,c 依次傳入math函數

默認參數:必須放在位置參數后面

def menu(hamburger,drinl,snacks='蛋撻'):print(('漢堡選擇:' + hamburger)print('飲料選擇:' + drink)print('小食選擇:' + snacks + '\n') menu('香辣雞腿堡','可樂') #打印結果:香辣雞腿堡,可樂,蛋撻 menu('香辣雞腿堡','可樂','薯條') #打印結果:香辣雞腿堡,可樂,薯條(給了3個參數。第3個參數被更新)

不定長參數:*參數名,當傳入參數數量不確定時使用,數據類型是元組(tuple),可以用for來循環遍歷

def math(a,*b,c=1):print('a'=a)print('c'=c)for i in b:print(b) math(123,11,22,33,c=2)

關鍵參數:使用偽參數(形參)的名字來指定其對應的實參(傳入的變量)

def math(a,b):x=a-breturn x y=math(b=3,a=7)

字典傳參
1.關鍵參數作為字典接收

def dic(**args):for s,t in args.items():print(s,':',t) dic(a=20,b=30,c=50) #a:20 #b:30 #c:50 args變成一個字典

2.將字典展開并接收

def dic(a,b,c):print(a,b,c) d={'a':20,'b':30,'c':50} dic(**d) #20 30 50 #字典d被展開到偽參數a,b,c上

函數對象

在函數名末尾不加括號,只寫名稱的格式所表示的是函數本身,我們將其稱之為函數對象,可以像值一樣將其帶入到變量中去

def printHello(name):print('hello',name) func=printHello#func是函數對象 func('siri') #打印結果是hello siri #將函數printHello帶入到func,func可以作為函數使用

無名函數

進行簡單處理的函數,可以使用關鍵字“lambda"來記述,這種寫法稱為無名函數()

#函數 def lo(a):return a.lower() #無名函數 lo=lambda s:s.lower() print(lo('HELLO'))#輸出 hello

回調函數

函數可以將別的函數作為參數使用,被作為參數使用的函數被稱為回調函數

def calcdisp(a,b,callback):print(callback(a,b)) def calllback(a,b):return (a+b) calcdisp(3,5,callback)#輸出值是8 #簡化寫法 calcdisp(3,5,lambda a,b : a + b)#callback被無名函數替代

函數嵌套

可以定義函數中的函數,內部函數稱為本地函數

def func1():def func2():print(1)print(2)func2()#調用內部函數 func1()#調用外部函數 #在這里不能調用func2,func2是func1的內部函數,作用域在func1內

類的創建

類的創建:class 類名(類名首字母大寫):
類的屬性創建:賦值語句
類的方法創建:def 方法名(self):
其中,self代表著實例化對象,是所有實例的替身

class Math:type_1=int_true#創建屬性def plus(self):#定義方法print(a+b)

類的調用

類的實例化:例如coke=water(),表明water這個類創建了一個叫做coke的實例,這個實例可以調用water類中的屬性和方法

class Food:drink = '可口可樂'def hambage(self):print('香辣鱈魚堡') KFC=Food()#實例化類math,number為實例化對象,即self=number print(Food.drink)#調用實例化對象的屬性type_1 Food.hambage()#調用了實例化對象的方法plus

注意:用def創建方法時,第一個參數位置要留給self,不需要傳參
類的方法內部想要調用類屬性和其他方法,用self.屬性或self.方法

class Food:drink = '可口可樂'def hambage(self):print('香辣鱈魚堡')def menu(self):self.hambage()print(self.drink,'\n''蛋撻') KFC = Food() KFC.menu()

初始化方法

當每個實例對象被創建時,該方法內的代碼無須調用,自動運行
可以在初始化方法內部完成類屬性的創建,并設定初始值,方便隨時調用

class Musician: def__int__(self):print('這是初始化方法') lisi=Musician()

那么調用屬性的代碼就發生了改變

class Pre:def __init__(self,name,age):self.name=nameself.age=agedef prin(self):print('%s的年齡是%d'%(self.name,self.age)) liu=Pre('劉劉',20)#作為name和age的值傳到Pre中 liu.prin()

類的繼承

子類有父類的屬性和方法,子類屬于父類,父類屬于object類

class X():name=1 class Y(X):pass #占位 class Car:wheel=4def run(self):print('有%d個輪子'%self.wheel) class BMW(Car):pass BMW320=BMW() #子類BMW實例化,BMW320 print(BMW320.wheel)#有4個輪子

類的多層繼承:
子類可以繼承父類,父類的父類,父類的父類的父類,語法同單層繼承
類的多重繼承:
一個子類可以繼承多個父類,和子類相關性更強的父類會放在更左側,先在左側父類找,找不到再去右側父類(就近原則)

類的定制

子類可以再繼承的基礎上進行個性化定制,如創建新屬性、新方法;修改繼承的屬性和方法
屬性方法名不同時創建,相同名字時修改

#音樂人 class Musician():loveMusic = True3 def intr(self):print("我喜歡音樂")print("我來自音樂界")def sing(self):print("我在唱歌") # Rapper繼承音樂人 class Rapper(Musician): #類的繼承garrulous = True #類的定制 , 增加屬性def composition(self): #類的定制, 增加方法print("我可以創作簡單的歌詞")def sing(self): #類的定制,更改方法print("我以說的方式進行唱歌")csunYuk = Rapper() print(csunYuk.loveMusic) print(csunYuk.garrulous) csunYuk.composition() csunYuk.sing() #True #True #我可以創作簡單的歌詞 #我以說的方式進行唱歌

也可以對實例化屬性進行修改

模塊

模塊,是一個將代碼封裝起來方便使用的py文件。里面可以有類、函數、變量。

a=10;b=1#變量print(a)#函數def math(a,b):#自定義函數 c=0c=a+breturn c#math函數返回cclass Math:#類num='1'#屬性def __init__(self,a):#初始化函數self.a=adef plus(self):#方法print(self.num)import test.py#調用模塊

使用模塊

1、import 語句
?法:import 模塊名
例?:import time;import csv

如何調?模塊中的函數,變量
?法:模塊名.函數;模塊名.變量
2、from…import語句
?法: 從模塊中導??個指定的部分到當前模塊(函數、變量、類名)
例?:from csv import *,默認將CSV模塊中的所有函數、變量進?全部導?
3、if __name__=='__main__'
?法:當運?的?件是程序的??時,則會執?if name=='main’下的語句,相反,當運?的?件作為模塊是被其他程序導?時,代碼if name=='main’下的代碼則不會執?

#不使用if __name__=='__main__' #A.py name = '小劉' def fun_A():print('調用方法A') def print_name():print('__name__的值是',__name__) print_name() fun_A()#做腳本運行時:__name__的值是__main__,調用方法A #B.py import A#B運行,輸出:__name__的值是A(值變成了模塊名),調用方法A #使用if __name__=='__main__' #A.py name = '小劉' def fun_A():print('調用方法A') def print_name():print('__name__的值是',__name__) if __name__=='__main__'print_name()fun_A()#做腳本運行時:__name__的值是__main__,調用方法A #B.py import A print_name()#B運行,輸出:__name__的值是A,不會調用fun_A函數了

總結

以上是生活随笔為你收集整理的python 函数 类 模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。