十一、python函數學習
1. 定義函數
def 函數名(形參):
函數體
return xxx--------其下面的內容不再執行
---------------------------------------------------------------------------------------------------------------
2.執行函數
函數名(實參)
---------------------------------------------------------------------------------------------------------------
3.形參,實參(默認按照順序)
---------------------------------------------------------------------------------------------------------------
4.執行形參傳入實參,可不按照順序
---------------------------------------------------------------------------------------------------------------
5.函數可以有默認參數
---------------------------------------------------------------------------------------------------------------
6.動態參數
#動態參數一,類型為元祖,傳的參數為元祖的元素
def f1(*a):
print (a,type(a))
f1(123,234,[456123789],{1:2})
#動態參數二,類型為字典,傳入的參數為字典的鍵值對
def f1(**a):
print (a,type(a))
f1(k1=123,k2=456)
#萬能動態參數-------一*較**在前
def f1(*a,**p):
print (a,type(a),type(p))
f1(123,234,[456123789],{1:2},k1=123,k2=456)
---------------------
((123, 234, [456123789], {1: 2}), <type ‘tuple‘>)
({‘k2‘: 456, ‘k1‘: 123}, <type ‘dict‘>)
((123, 234, [456123789], {1: 2}), <type ‘tuple‘>, <type ‘dict‘>)
---------------------------------------------------------------------------------------------------------------
7.為動態參數傳入字典,列表
def f1(*args):
print (args,type(args))
l1=[11,22,33,44]
f1(l1)
f1(*l1)
------------------------
(([11, 22, 33, 44],), <type ‘tuple‘>)
((11, 22, 33, 44), <type ‘tuple‘>)
------------------------
def f2(**args):
print (args,type(args))
l1={"k1":"123"}
f2(l1=l1)
f2(**l1)
-------------------------
({‘l1‘: {‘k1‘: ‘123‘}}, <type ‘dict‘>)
({‘k1‘: ‘123‘}, <type ‘dict‘>)
---------------------------------------------------------------------------------------------------------------
8.全局變量,局部變量
P="chushujin"
def func1():
#局部變量
a=123
global P #加上此關鍵詞後,全局變量就會被修改,否則不會被修改
print (a)
P="zhangyu"
def func2():
print (P)
func1()
func2()
----------------------
123
zhangyu
十一、python函數學習