1. 程式人生 > >python-基礎-函數

python-基礎-函數

技巧 進行 演示 IT *args 相同 訪問 value ron

1 函數的定義和調用

1.1 函數定義

技術分享圖片

1.2 函數的調用

技術分享圖片

2 函數參數

技術分享圖片

技術分享圖片

技術分享圖片

>>> def fun(a, b, *args, **kwargs):
...     """可變參數演示示例"""
...     print "a =", a
...     print "b =", b
...     print "args =", args
...     print "kwargs: "
...     for key, value in kwargs.items():
...         print key, "=", value
...
>>> fun(1, 2, 3, 4, 5, m=6, n=7, p=8) # 註意傳遞的參數對應 a = 1 b = 2 args = (3, 4, 5) kwargs: p = 8 m = 6 n = 7 >>> >>> >>> >>> c = (3, 4, 5) >>> d = {"m":6, "n":7, "p":8} >>> fun(1, 2, *c, **d) # 註意元組與字典的傳參方式 a = 1 b = 2 args
= (3, 4, 5) kwargs: p = 8 m = 6 n = 7 >>> >>> >>> >>> fun(1, 2, c, d) # 註意不加星號與上面的區別 a = 1 b = 2 args = ((3, 4, 5), {p: 8, m: 6, n: 7}) kwargs: >>> >>>

技術分享圖片

3 函數返回值

技術分享圖片

技術分享圖片

4 局部變量和全局變量

局部變量

技術分享圖片

全局變量

技術分享圖片

技術分享圖片

技術分享圖片

總結:

  • 在函數外邊定義的變量叫做全局變量
  • 全局變量能夠在所有的函數中進行訪問
  • 如果在函數中修改全局變量,那麽就需要使用global進行聲明,否則出錯
  • 如果全局變量的名字和局部變量的名字相同,那麽使用的是局部變量的,小技巧強龍不壓地頭蛇

技術分享圖片

總結2:

  • 在函數中不使用global聲明全局變量時不能修改全局變量的本質是不能修改全局變量的指向,即不能將全局變量指向新的數據。列表和字典的可以不用globa聲明的
  • 對於不可變類型的全局變量來說,因其指向的數據不能修改,所以不使用global時無法修改全局變量。
  • 對於可變類型的全局變量來說,因其指向的數據可以修改,所以不使用global時也可修改全局變量。

5 匿名函數

技術分享圖片

技術分享圖片

技術分享圖片

python-基礎-函數