函數
一、def
二、命名
三、函數體
四、return 返回值app
def get_return(): a = 1 return a
函數參數有 形參和實參
定義幾個形參就要傳幾個實參。
形參接收傳參的時候默認是一一對應的
一、普通參數函數
def get_return(b): # b爲形參 a = b + 1 return a get_return(3) # 實參
二、默認參數:(指定默認參數時,形參必需要放到末尾)spa
def get_value(aa, bb, cc = "ok") print(aa, bb, cc) get_value(11, 22, "no")
若是形參設有默認值,傳參的時候能夠傳三個參數,也能夠傳2個參數
傳3個參數,cc就等於新的參數,不然就是默認參數
三、指定參數
get_value(bb = 21,aa = 5)
四、動態參數 可傳多個參數
(1)*
默認都會當作元組的一個元素添加到元組中code
def get_all_v(*value): print(value) get_all_v(23) # (23,) li = [23, 445, 66, "dsad"] get_all_v(li) # ([23, 445, 66, 'dsad'],) get_all_v(li, 34) # ([23, 445, 66, 'dsad'], 34)
傳值加*的話 al裏面的全部元素都會轉換到元組中orm
get_all_v(*li) # (23, 445, 66, 'dsad') get_all_v(*li, 34) # (23, 445, 66, 'dsad', 34)
(2)**
默認都會當作字典的一個鍵值對(k:v)添加到字典中
傳值時要指定k,vblog
def get_all_w(**value): print(value) v2 = [23, 543, 66] get_all_w(k1="v1") # {'k1': 'v1'} get_all_w(k2=v2) # {'k2': [23, 543, 66]} dic = {"k1": "v1", "k2": "v2"} get_all_w(**dic) # {'k1': 'v1', 'k2': 'v2'}
(3)* ** 萬能參數get
def get_all_a(*v, **v1): print(v) print(v1) get_all_a(11, 2, 33, k1="v1", k2="v2") ''' (11, 2, 33) {'k1': 'v1', 'k2': 'v2'}'''
str.format() 函數參數應用form
li = ["niu", 20] dic = {"name": "niu", "age": 28} s1 = "name is {0}, age is {1}".format("niu", 20) print(s1) # name is niu, age is 20 s1 = "name is {0}, age is {1}".format(*li) print(s1) # name is niu, age is 20 s2 = "name is {name}, age is {age}".format( name="niu", age=28 ) print(s2) # name is niu, age is 28 s2 = "name is {name}, age is {age}".format(**dic) print(s2) # name is niu, age is 28
函數拓展
函數傳遞參數時傳遞的是一個引用,引用值更新時,原定義的實參也會更新class
def li_append(li): li.append("ddd") lis = [11, 22, 33, 44] li_append(lis) print(lis) # [11, 22, 33, 44, 'ddd']
全局變量
一、均可以讀
二、若是在局域中[從新賦值]全局變量的話須要先global name
三、若是變量是列表或者字典時,全局變量能夠追加
四、全局變量 變量名都大寫變量
# 內置函數
# abs() 取絕對值 print(abs(-1)) # 1 # all() 函數內部參數所有爲真則爲真 print(all([1, -1, 2, -2, 3])) # true print(all([1, -1, 2, -2, 0])) # false print(all([1, -1, "", {}, (), []])) # false # any 一個爲真便爲真 print(any((1, 0, "", {}, (), [], None))) # true # bool 判斷真假。返回true or false print(bool(1)) # true # bin() 數字十進制轉2進制 print(bin(8)) # 0b1000 # oct() 數字十進制轉八進制 print(oct(9)) # 0o11 # hex() 數字十進制轉十六進制 print(hex(10)) # 0xa