對Python應(yīng)用程序進(jìn)行簡述說明
經(jī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中常見的功能。可以用lambda 關(guān)鍵字來定義小的無名函數(shù)。這是一個(gè)返回其兩個(gè)參數(shù)的和的函數(shù):“l(fā)ambda a, b: a+b” 。Lambda形式可以用于任何需要函數(shù)對象的地方。
從句法上講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)該為簡短的對象目的概括說明。為了簡明起見,這一行不應(yīng)該提及對象的名字或類型。因?yàn)檫@些可以通過其他途徑得知(當(dāng)然如果對象名字就是一個(gè)描述函數(shù)操作的動(dòng)詞則當(dāng)然可以提及其名字)。著以行應(yīng)該用大些字母開始,以句點(diǎn)結(jié)尾。
如果文檔字符串中有多行,第二行應(yīng)該是空行,把概括說明與其它說明分開。以下的行可以是一段或幾段,描述對象的調(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)量的空白。對制表符將擴(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)鍵值是互不相同的。一對空大括號(hào)產(chǎn)生一個(gè)空字典:{}。在大括號(hào)內(nèi)加入用逗號(hào)分開的“鍵值:值”對可以在字典內(nèi)加入初始的鍵值和值對,字典在輸出時(shí)也是這樣顯示的。
對字典的主要操作是以某個(gè)鍵值保存一個(gè)值,以及給定鍵值后查找對應(yīng)的值。也可以用del刪除某個(gè)鍵值:值對。如果用一個(gè)已有定義的鍵值保存某個(gè)值則原來的植被遺忘。用不存在的鍵值去查找會(huì)出錯(cuò)。
【編輯推薦】