對(duì)Python應(yīng)用程序進(jìn)行簡(jiǎn)述說明
經(jīng)過長(zhǎng)時(shí)間學(xué)習(xí)Python應(yīng)用程序,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西,學(xué)習(xí)Python應(yīng)用程序時(shí),你可能會(huì)遇到Python應(yīng)用程序問題,這里將介紹Python應(yīng)用程序問題的解決方法。
在所有有名的形參的后面可以有兩個(gè)特殊的形參,一個(gè)以*args的形式命名,一個(gè)以**kw 的形式命名。有了*args形式的形參后函數(shù)在調(diào)用時(shí)就可以在正常的能匹配的實(shí)參表后面輸入任意個(gè)數(shù)的參數(shù)。
這些參數(shù)組成一個(gè)序表賦給args形參,不能匹配的關(guān)鍵字參數(shù)組成一個(gè)字典賦給kw形參。在任意個(gè)數(shù)形參之前可以有0到多個(gè)正常的參數(shù)。例如:
- def cheeseshop(kind, *arguments, **keywords):
 - print "-- Do you have any", kind, '?'
 - print "-- I'm sorry, we're all out of", kind
 - for arg in arguments: print arg
 - print '-'*40
 - for kw in keywords.keys(): print kw, ':', keywords[kw]
 - cheeseshop('Limburger', "It's very runny, sir.",
 - "It's really very, VERY runny, sir.",
 - client='John Cleese',
 - shopkeeper='Michael Palin',
 - sketch='Cheese Shop Sketch')
 
因?yàn)樵S多人的要求,Python應(yīng)用程序中加入了一些在函數(shù)編程語言和Lisp中常見的功能??梢杂胠ambda 關(guān)鍵字來定義小的無名函數(shù)。這是一個(gè)返回其兩個(gè)參數(shù)的和的函數(shù):“l(fā)ambda a, b: a+b” 。Lambda形式可以用于任何需要函數(shù)對(duì)象的地方。
從句法上講lambda形式局限于一個(gè)表達(dá)式。從語義上講,這只是正常的函數(shù)定義的句法甜食。像嵌套函數(shù)定義一樣,lambda形式不能訪問包含其定義的作用域中的變量,但審慎地使用缺省參數(shù)之可以繞過這個(gè)限制。例如:
- >>> for n in range(2, 10):
 - ... for x in range(2, n):
 - ... if n % x == 0:
 - ... print n, 'equals', x, '*', n/x
 - ... break
 - ... else:
 - ... print n, 'is a prime number'
 - ...
 - 2 is a prime number
 - 3 is a prime number
 - 4 equals 2 * 2
 - 5 is a prime number
 - 6 equals 2 * 3
 - 7 is a prime number
 - 8 equals 2 * 4
 - 9 equals 3 * 3
 - >>>
 
關(guān)于文檔字符串的內(nèi)容與格式正在形成一些慣例。***行應(yīng)該為簡(jiǎn)短的對(duì)象目的概括說明。為了簡(jiǎn)明起見,這一行不應(yīng)該提及對(duì)象的名字或類型。因?yàn)檫@些可以通過其他途徑得知(當(dāng)然如果對(duì)象名字就是一個(gè)描述函數(shù)操作的動(dòng)詞則當(dāng)然可以提及其名字)。著以行應(yīng)該用大些字母開始,以句點(diǎn)結(jié)尾。
如果文檔字符串中有多行,第二行應(yīng)該是空行,把概括說明與其它說明分開。以下的行可以是一段或幾段,描述對(duì)象的調(diào)用方法,它的副作用,等等。Python的掃描程序不會(huì)從多行字符串中去掉縮進(jìn)空白,所以處理文檔的工具需要自己處理縮進(jìn)。只要遵循如下的慣例就可以有利于縮進(jìn)空白的處理。
在***行之后的***個(gè)非空白的行決定整個(gè)文檔字符串的縮進(jìn)數(shù)量(我們不用***行,因?yàn)樗?jīng)常是直接跟在表示字符串開始的引號(hào)后面)。文檔字符串中除***行以外的各行都要?jiǎng)h除等價(jià)于此行的縮進(jìn)量的空白。對(duì)制表符將擴(kuò)展為空格后再刪除。
Python應(yīng)用程序內(nèi)置的另一個(gè)有用的數(shù)據(jù)類型是字典。字典在其它語言中有時(shí)被稱為“關(guān)聯(lián)記憶” 或“關(guān)聯(lián)數(shù)組”。字典不象序列,它不是用在一個(gè)范圍之內(nèi)的數(shù)字下標(biāo)來索引,而是用鍵值來索引,鍵值可以是任何不可變類型。
字符串和數(shù)值總可以作鍵值。如果序表只包含字符串、數(shù)值或序表則序表也可以作鍵值使用。列表不能用作鍵值,因?yàn)榱斜砜梢杂闷鋋ppend()方法就地改變值。***把字典看成是一系列未排序的“鍵值:值”的集合。
在同一字典內(nèi)鍵值是互不相同的。一對(duì)空大括號(hào)產(chǎn)生一個(gè)空字典:{}。在大括號(hào)內(nèi)加入用逗號(hào)分開的“鍵值:值”對(duì)可以在字典內(nèi)加入初始的鍵值和值對(duì),字典在輸出時(shí)也是這樣顯示的。
對(duì)字典的主要操作是以某個(gè)鍵值保存一個(gè)值,以及給定鍵值后查找對(duì)應(yīng)的值。也可以用del刪除某個(gè)鍵值:值對(duì)。如果用一個(gè)已有定義的鍵值保存某個(gè)值則原來的植被遺忘。用不存在的鍵值去查找會(huì)出錯(cuò)。
【編輯推薦】















 
 
 
 
 
 
 