python-基礎-函數

來源:互聯網
上載者:User

標籤:glob   lob   需要   不用   war   函數傳回值   字典   global   變數   

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 = 1b = 2args = (3, 4, 5)kwargs: p = 8m = 6n = 7>>>>>>>>>>>> c = (3, 4, 5)>>> d = {"m":6, "n":7, "p":8}>>> fun(1, 2, *c, **d)    # 注意元組與字典的傳參方式a = 1b = 2args = (3, 4, 5)kwargs: p = 8m = 6n = 7>>>>>>>>>>>> fun(1, 2, c, d) # 注意不加星號與上面的區別a = 1b = 2args = ((3, 4, 5), {‘p‘: 8, ‘m‘: 6, ‘n‘: 7})kwargs:>>>>>>

 

 

 

3 函數傳回值

4 局部變數和全域變數

局部變數

全域變數

總結:

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

 

總結2:

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

 

python-基礎-函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.