安徽思成儀器技術(shù)有限公司
暫無信息 |
閱讀:20發(fā)布時間:2024-11-23
python函數(shù)(一)
tea_year 發(fā)表于 2021/12/29 22:20:522021/12/29
【摘要】#函數(shù)基本應(yīng)用,函數(shù)可以看做是語句的集合python defaultdict函數(shù),通過函數(shù)調(diào)用來執(zhí)行其包含的語句。函數(shù)可以返回一個計算結(jié)果,根據(jù)每次函數(shù)調(diào)用的參數(shù)#可以返回不同的計算結(jié)果,根據(jù)每次調(diào)用的參數(shù)python defaultdict函數(shù),可以返回不同的計算結(jié)果。#python利用函數(shù)提高代碼的重用率,減少了代碼冗余。#定義函數(shù)#python使用def語句定義函數(shù),基本格式如下:# def 函數(shù)名(參數(shù)表)...
- #函數(shù)基本應(yīng)用,函數(shù)可以看做是語句的集合,通過函數(shù)調(diào)用來執(zhí)行其包含的語句。函數(shù)可以返回一個計算結(jié)果,根據(jù)每次函數(shù)調(diào)用的參數(shù)
- #可以返回不同的計算結(jié)果,根據(jù)每次調(diào)用的參數(shù),可以返回不同的計算結(jié)果。
- #python利用函數(shù)提高代碼的重用率,減少了代碼冗余。
- #定義函數(shù)
- #python使用def語句定義函數(shù),基本格式如下:
- # def 函數(shù)名(參數(shù)表):
- # 函數(shù)語句
- # return 返回值
- #其中,參數(shù)和返回值都不是必須有的,python允許函數(shù)可以沒有參數(shù),也沒有返回值。例如:
- def hello():
- print("python 你好")
- #調(diào)用函數(shù);
- hello()
-
- #hello()函數(shù)沒有參數(shù),也沒有返回值,通過print()打印一個字符串。下面的例子定義兩個參數(shù),并用return語句返回兩個參數(shù)的和;
- #定義函數(shù)
- def add(a,b):
- return a+b
- #調(diào)用函數(shù),并接受返回值;
- res=add(2,4)
- #打印輸出的結(jié)果 ;
- print(res)
-
- #函數(shù)調(diào)用
- #在python中,所有的語句都是實時執(zhí)行的,不像cc++存在編譯過程。def也是一條可執(zhí)行的語句,定義一個函數(shù)。所以函數(shù)的調(diào)用
- #必須在函數(shù)定義之后。
- #在python中,函數(shù)名也是一個變量,它引用return語句返回的值,沒有返回值,函數(shù)值為None。
- #定義函數(shù)
- def mul(a,b):
- return a*b
- #直接訪問函數(shù)名,可返回函數(shù)名的內(nèi)存地址
- print(add)
- #如下是調(diào)用函數(shù),并接受返回值,以及將函數(shù)名賦值給變量,然后使用變量進行調(diào)用。
- def div(a,b):
- return a/b
- #調(diào)用函數(shù),并返回函數(shù)值;
- res=div(10,2)
- #打印結(jié)果;
- print("10/2=",res)
- #將函數(shù)名賦值給變量
- x=div
- #通過變量名來調(diào)用函數(shù)
- res=x(1,8)
- #打印結(jié)果;
- print(res)
- #函數(shù)參數(shù),在定義函數(shù)的時候,參數(shù)中的各個參數(shù)成為形式參數(shù),簡稱形參。調(diào)用函數(shù)時,參數(shù)表中提供的參數(shù)稱為實際參數(shù)。
- #在python中,變量保存的是對象的引用,類似C C++中的指針。實際傳遞給形參的就是將對象的引用賦值給形參。
- #多態(tài)是,面向?qū)ο蟮囊粋€特點,指同一個行為針對不同對象會得到不同的結(jié)果。python中的變量無類型屬性,變量可引用各種不同
- #類型的對象。同一個函數(shù),傳遞的實際參數(shù)不同時,可獲得不同的結(jié)果,了多態(tài)。
- #支持“+"運算的對象均可作為參數(shù)
- def add(a,b):
- return a+b
- res=add(1,2.5)
- print("數(shù)值相加:",res)
-
- res=add("abc","def")
- print("字符串相加:",res)
-
- res=add((1,2),(3,8))
- print("元祖合并,",res)
-
- res=add([1,2],[3,4])
- print("列表合并:",res)
- #這里的+屬于直接使用的方式,實現(xiàn)了多態(tài)。
- #參數(shù)賦值傳遞,通常函數(shù)調(diào)用時按參數(shù)的先后順序,將實際傳遞形參傳遞給形參。例如調(diào)用add(1,2.5)時,1傳遞給a
- #2.5傳遞給b。python允許以形參賦值的方式,將實參傳遞給形參。
- #定義函數(shù)
- def add(a,b):
- return a+b
- #通過賦值來傳遞參數(shù)
- res=add(a='ab',b='cd')
- print(res)
- #通過賦值來傳遞參數(shù);
- res=add(b='ab',a='cd')
- print(res)
- #可以看出來,在采用參數(shù)賦值傳遞時,因為指明了接受實參的形參名稱,所以參數(shù)的先后順序已經(jīng)無關(guān)緊要。參數(shù)賦值傳遞方式
- #成了關(guān)鍵字傳遞。
- #3.參數(shù)傳遞與共享引用
- #定義函數(shù)
- def f(x):
- x=100
- #定義變量,并將變量作為參數(shù)傳入函數(shù);
- a=10
- f(a)
-
- #執(zhí)行后顯示變量的值;
- print(a)
- #從結(jié)果可以看出,實際參數(shù)的值已經(jīng)覆蓋了原來的值100.
- #4.小心使用可變參數(shù),當(dāng)參數(shù)是可變參對象時,如列表、字典等,若在函數(shù)中修改形參,因為是共享引用
- #通過實參也獲得修改后的對象。
- def f(a):
- #修改列表個值
- a[1]='abc'
- #定義列表對象;
- x=[1,2]
- #調(diào)用函數(shù),傳遞列表對象的引用
- f(x)
- #變量x引用的列表對象在函數(shù)中被修改。
- print(x)
- #可見,可變參數(shù)可在函數(shù)中被修改,如果不希望在函數(shù)中的修改影響函數(shù)外的變量,應(yīng)該注意避免可變參數(shù)被修改。
- #如果要避免列表在函數(shù)中被修改,可使用列表的拷貝作為實參。例如:
- def f(a):
- #修改列表中的個值;
- a[0]='abc'
- x=[1,2]
- #傳遞列表的拷貝
- # f(x[:])
- print(x)
- #如果不希望在函數(shù)中的修改影響函數(shù)外的變量,應(yīng)避免可變參數(shù)被修改。如果要避免列表在函數(shù)中被修改,可使用列表的拷貝
- #作為實際參數(shù)。
- def f(a):
- #拷貝列表;
- a=a[:]
- #修改列表的拷貝;
- a[0]='abc'
- x=[15,2]
- #調(diào)用函數(shù)
- f(x)
- #結(jié)果顯示原列表不變
- print(x)
- #5.有默認值的參數(shù);
- #在定義函數(shù)時,可以為參數(shù)設(shè)置一個默認值,調(diào)用函數(shù)時,如果未提供實際參數(shù),則形參取默認值。例如:
- #定義函數(shù);
- def add(a=9,b=-100):
- return a+b
- #傳遞參數(shù);
- res=add(1,2)
- print(res)
- #形參b取默認值;
- res=add(1)
- print(res)
-
- res=add()
- print(res)
儀表網(wǎng) 設(shè)計制作,未經(jīng)允許翻錄必究 .? ? ?
請輸入賬號
請輸入密碼
請輸驗證碼
請輸入你感興趣的產(chǎn)品
請簡單描述您的需求
請選擇省份