国产探花免费观看_亚洲丰满少妇自慰呻吟_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 收集參數
如果函數中能存儲多個名字就好了,用戶可以給函數提供任意多的參數,我們需要這樣做:定義函數時提供一個參數,在前面加個星號。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高雄市| 松原市| 建昌县| 图木舒克市| 自贡市| 新泰市| 原平市| 贵定县| 精河县| 涿鹿县| 锡林郭勒盟| 长岛县| 荔波县| 闽侯县| 安顺市| 浏阳市| 渭源县| 东安县| 铁力市| 若尔盖县| 晋城| 康保县| 宝应县| 呼伦贝尔市| 乐陵市| 定安县| 拉萨市| 澎湖县| 梅河口市| 德江县| 宁都县| 钟山县| 鄂尔多斯市| 北碚区| 遂平县| 武邑县| 邵阳县| 西宁市| 克拉玛依市| 广宗县| 万山特区|