1. 程式人生 > >十一、python函數學習

十一、python函數學習

zha 元祖 pytho 1=1 fun 參數 元素 否則 func

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函數學習