1、概述
(1)定義:
def 函式 (引數) 代碼1 代碼2 .....
(2)呼叫:
函式名(引數)
P.S:(1)在python 中,函式必須先定義后使用,
(2)定義函式時代碼不執行,呼叫時執行,
# 演示 def add_func(a, b): return a+b a = 1 b = 2 print(add_func(a, b)) # 3
2、說明檔案
def add_func(a, b): """ 函式說明 :param a:引數1 :param b:引數2 :return:回傳值 """ return a+b help(add_func)
(1)書寫:函式名下一行,三引號內
(2)查看:help()函式
3、全域遍量和區域變數
(1)區域變數:只在函式體內部的變數,函式結束即銷毀
(2)全域變數:函式體內外可用的變數
a = 100 # 全域變數 print(a) # 輸出全域變數a,100 def function1(): print(a) # 輸出全域變數a,100 def function2(): a = 200 # 區域變數,全域變數不變 print(a) # 輸出區域變數a,200 def function3(): global a # 宣告全域表量 a =200 # 修改全域變數 print(a) # 輸出全域變數a,200 function1() function2() print(a) # 輸出全域變數a,100 function3() print(a) # 輸出全域變數a,200
4、多個回傳值
def return_num(): return 1, 2 # 逗號隔開,默認回傳元組回傳 # 另:return 后面可以直接書寫元組,字典,串列 print(return_num()) # (1, 2)
5、函式的引數
位置引數 |
呼叫函式時根據函式定義的引數位置來傳遞引數 def user(name,age,gender):
print(f'您得名字{name},年齡{age},性別{gender}')
user('tom',20,'男')
|
關鍵字引數 |
函式呼叫通過‘鍵=值’來加以制定,不分先后順序 user('Tom',gender='男',age=16)
P.s:函式呼叫時,如果有位置引數時,位置引數必須在關鍵字引數的前面,但關鍵字引數之間不存在先后順序 |
預設引數 |
用于定義函式,為引數提供默認值,呼叫函式時可不傳該默認引數得值 def user(name,age,gender='男'):
print(f'您得名字{name},年齡{age},性別{gender}')
user('小米',20) #gender不傳參,默認為男
user('小米',66,gender='女') #gender傳參,修改默認值,改為女
(P.s: 所有預設引數必須出現在默認引數前) |
不定長引數 |
定義函式時不確定傳參個數使用
def user(*args):
print(args)
user('小米',20)
user('小米')
def user(**kwargs):
print(kwargs)
user(name='小米',age=20, id=110)
user(name='小米',age=66,gender='女')
|
6、拆包
(1)元組:
def return_num(): return 100,200 #元組拆包 num1,num2=return_num() print(num1) # 100 print(num2) # 200
(2)字典
dict1 = {'name':'Tom','age':18}
#字典拆包
a,b=dict1
#取鍵
print(a) # name
print(b) # age
#取值
print(dict1[a]) # Tom
print(dict1[b]) # 18
7、交換變數
a,b=1,2 a,b=b,a print(a) print(b)
8、參考
python中值的傳遞通過參考實作,
a=1 b=a # b參考a的值 print(id(a)) # 140732320368288 print(id(b)) # 140732320368288 # b地址和a相同 a=2 print(b) # 1 b值不變 print(id(a)) # 140732320368320 print(id(b)) # 140732320368288 b地址不變 # int 為不可變型別 aa=[10,20,30] bb=aa #bb參考aa的值 print(id(aa)) # 2077392577152 print(id(bb)) # 2077392577152 # bb地址和aa相同 aa.append(30) print(bb) # [10, 20, 30, 30] bb值跟隨aa改變 print(id(aa)) # 2077392577152 print(id(bb)) # 2077392577152 bb地址跟隨aa改變 # 串列為不可變型別
9、可變型別和不可變型別
| 可變型別 |
|
| 不可變型別 |
|
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/169912.html
標籤:Python
上一篇:python min函式
