国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 津市市| 文化| 政和县| 齐齐哈尔市| 页游| 白玉县| 连江县| 伊春市| 开江县| 晋州市| 白朗县| 明溪县| 重庆市| 大足县| 弥勒县| 赤壁市| 镇巴县| 洪泽县| 兖州市| 县级市| 绿春县| 徐州市| 青海省| 藁城市| 睢宁县| 洞口县| 崇文区| 夏津县| 英吉沙县| 汨罗市| 咸丰县| 财经| 宜兰市| 泾源县| 陆丰市| 永兴县| 兴隆县| 华亭县| 沙洋县| 双城市| 乌兰县|