国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

講解python參數和作用域的使用

2020-02-23 04:56:03
字體:
來源:轉載
供稿:網友
本文會介紹如何將語句組織成函數,還會詳細介紹參數和作用域的概念,以及遞歸的概念及其在程序中的用途。
一. 創建函數
函數是可以調用,它執行某種行為并且返回一個值。用def語句即可定義一個函數:(并非所有的函數都會返回一些東西)
代碼如下:
def fibs(num):
    result = [0,1]
    for i in range(num-2):
        result.append(result[-2]+result[-1])
    return result

記錄函數
如果想給函數寫文檔以便讓人理解的話,可以加入注釋(以#開頭)。另一個方式就是直接寫上字符串,它會作為函數的一部分進行存儲,這成為文檔字符串。
代碼如下:
def square(x):
    '計算x的平方'
    return x*x

#文檔字符串可以按如下方式訪問:
>>> square._doc_
'計算x的平方'

二. 參數魔法
函數使用起來很簡單,創建起來也不復雜,但是函數參數的用法有時就不可思議了。
2.1 我能改變參數嗎
 在函數內為參數賦予新值,不會改變外部任何變量的值:
代碼如下:
>>> def to_change(n):
    n = 's'
>>> name = 'b'
>>> to_change(name)
>>> name
'b'

字符串(以及數字和元組)是不可變的,即無法被修改。但是如果將可變的數據結構如列表用作參數時,參數就會被改變了。
代碼如下:
>>> def change(n):
    n[0] = 'ss'
>>> names = ['aa','zz']
>>> change(names)
>>> names
['ss', 'zz']


2.2 關鍵字參數和默認值
目前為止,我們所使用的參數都叫做位置參數。有時候參數順序是很難記住的,為了讓事情簡單些,可以提供參數的名字:
代碼如下:
>>> def hello(greeting,name):
        print '%s,%name!'
>>> hello(greeting = 'hello',name = 'world')
hello,world!

這樣一來,參數順序就完全沒影響了,但是參數名和值一定要對應。
這樣使用參數名提供的參數叫做關鍵字參數,主要作用在于可以明確每個參數的作用。
關鍵字參數最厲害的地方在于可以在函數中給參數提供默認值:
>>> def hello(greeting = 'hello',name = 'world'):
        print '%s,%name!'
當參數具有默認值時,調用的時候就不用提供參數了,可以不提供,提供一些或提供所有的參數。
代碼如下:
>>> hello()
'hello,world!'
>>> hello('greeting')
'greeting,world!'
>>> hello(name = 'universe')
'hello,universe!'
 
2.3 收集參數
如果函數中能存儲多個名字就好了,用戶可以給函數提供任意多的參數,我們需要這樣做:定義函數時提供一個參數,在前面加個星號。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都匀市| 长兴县| 凉山| 高台县| 福海县| 永胜县| 宿州市| 德惠市| 巴东县| 安塞县| 武陟县| 遂昌县| 汤阴县| 仙游县| 上杭县| 延长县| 深水埗区| 屏山县| 凤翔县| 福安市| 从江县| 山西省| 修水县| 富平县| 同德县| 中阳县| 营口市| 奉贤区| 利辛县| 广西| 大厂| 德令哈市| 白河县| 伊宁市| 卢氏县| 治多县| 申扎县| 工布江达县| 阳城县| 文登市| 梓潼县|