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

首頁(yè) > 編程 > Python > 正文

【書山有路】Python基礎(chǔ)教程 第6章

2019-11-06 08:18:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這章的主題是“抽象”。主要內(nèi)容大概包括如何將語(yǔ)句組織成函數(shù)。有了函數(shù)以后就不必反反復(fù)復(fù)向計(jì)算機(jī)傳遞同樣的指令了。還會(huì)介紹參數(shù)、作用域,遞歸的概念及其在程序中的用途。

觀點(diǎn)

程序應(yīng)該是非常抽象的,就像“下載網(wǎng)頁(yè)、計(jì)算頻率、打印每個(gè)單詞的頻率”一樣易懂。雖然沒(méi)有明確的說(shuō)明它是怎么做的,但代碼讀完就知道程序做什么了。具體的操作細(xì)節(jié)會(huì)在其他地方寫出——在獨(dú)立的函數(shù)定義中。編寫函數(shù)只是給程序需要的部分(也可能是其他程序)提供服務(wù),能保證函數(shù)在被提供可接受參數(shù)的時(shí)候工作正常,參數(shù)錯(cuò)誤的話顯然會(huì)導(dǎo)致失敗。(這時(shí)候要用斷言和異常)

知識(shí)點(diǎn)

在函數(shù)內(nèi)為參數(shù)賦值不會(huì)改變外部任何變量的值字符串(以及數(shù)字和元組)是不可變的,即無(wú)法被修改。當(dāng)參數(shù)是一個(gè)列表的時(shí)候,修改這個(gè)列表,會(huì)影響到外部的變量函數(shù)只能修改參數(shù)對(duì)象本身,如果參數(shù)不可變,應(yīng)該從函數(shù)中返回需要的值,如果值多于一個(gè)以元組的形式返回

創(chuàng)建函數(shù)

使用下面的代碼:

def hello(name): return 'Hello, ' + name + '!'>>> PRint hello('world')Hello, world!>>> print hello('Gumby')Hello, Gumby!

記錄函數(shù)

如果在函數(shù)的開頭寫下字符串,他就會(huì)作為函數(shù)的一部分進(jìn)行存儲(chǔ),這稱為文檔字符串。

使用下面的代碼:

>>> def square(x):... 'Calculates the square of the number x.'... return x*x...>>> square.__doc__'Calculates the square of the number x.'

內(nèi)建的help函數(shù)是非常有用的。使用下面的代碼:

>>> help(square)Help on function square in module __main__:square(x) Calculates the square of the number x.

所有的函數(shù)都返回了東西,當(dāng)不需要它們返回值的時(shí)候,它們就返回None

函數(shù)的參數(shù)

關(guān)鍵字參數(shù)

有時(shí)候,參數(shù)的順序是很難記住的,為了讓事情簡(jiǎn)單些,可以提供參數(shù)的名字。

使用下面的代碼:

>>> def hello_1(greeting,name):... print ('%s, %s!'%(greeting,name))...>>> hello_1(greeting="Hello",name="world")Hello, world!

這類使用參數(shù)名提供的參數(shù)叫做關(guān)鍵字參數(shù)。每個(gè)參賽的含義變得更加清晰,而且就算弄亂了參數(shù)的順序,對(duì)于程序的功能也沒(méi)有任何影響。

而且關(guān)鍵字參數(shù)在函數(shù)中給參數(shù)提供默認(rèn)值。

收集參數(shù)

有些時(shí)候讓用戶提供任意數(shù)量的參數(shù)是很有用的。這其實(shí)不難。

使用下面的代碼:

>>> def print_params(*params):... print params...>>> print_params('Testing')('Testing',)>>>>>> print_params('Testing','param2')('Testing', 'param2')>>>>>> print_params(1,2,3)(1, 2, 3)

將關(guān)鍵詞參數(shù)和收集參數(shù)結(jié)合起來(lái),這一部分覺得沒(méi)什么用,先跳過(guò)了。

參數(shù)的作用域

這一部分也跳過(guò)了。

只說(shuō)一點(diǎn),如果在一個(gè)函數(shù)內(nèi)部要使用全局變量,需要用到global進(jìn)行聲明。使用下面的代碼:

>>> x = 1>>> def change_global():... global x... x = x+1...>>> change_global()>>> x2

遞歸

這部分也跳過(guò)了


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 简阳市| 韶山市| 建始县| 沂南县| 濮阳县| 辽宁省| 永清县| 海林市| 岑溪市| 唐山市| 安泽县| 苏尼特左旗| 大方县| 郸城县| 竹溪县| 分宜县| 澜沧| 巴东县| 南平市| 同江市| 琼海市| 虞城县| 霍林郭勒市| 涿鹿县| 乳山市| 特克斯县| 县级市| 苍溪县| 罗平县| 镇安县| 卢龙县| 连南| 航空| 合川市| 芦溪县| 灵寿县| 大港区| 鹤壁市| 贵阳市| 邮箱| 大关县|