枚舉 Enumerate枚舉(enumerate)是Python內(nèi)置函數(shù)。它的用處很難在簡單的一行中說明,但是大多數(shù)的新人,甚至一些高級程序員都沒有意識到它。 它允許我們遍歷數(shù)據(jù)并自動(dòng)計(jì)數(shù),下面是一個(gè)例子:
不只如此,enumerate也接受一些可選參數(shù),這使它更有用。
輸出: (1, 'apple') (2, 'banana') (3, 'grapes') (4, 'pear') 上面這個(gè)可選參數(shù)允許我們定制從哪個(gè)數(shù)字開始枚舉。 你還可以用來創(chuàng)建包含索引的元組列表, 例如:
?輸出: [(1, 'apple'), (2, 'banana'), (3, 'grapes'), (4, 'pear')] 對象自省自省(introspection),在計(jì)算機(jī)編程領(lǐng)域里,是指在運(yùn)行時(shí)來判斷一個(gè)對象的類型的能力。 它是Python的強(qiáng)項(xiàng)之一,。Python中所有一切都是一個(gè)對象,而且我們可以仔細(xì)勘察那些對象。Python還包含了許多內(nèi)置函數(shù)和模塊來幫助我們,。 dir在這個(gè)小節(jié)里我們會(huì)學(xué)習(xí)到dir以及它在自省方面如何給我們提供便利,。 它是用于自省的最重要的函數(shù)之一。它返回一個(gè)列表,列出了一個(gè)對象所擁有的屬性和方法,。這里是一個(gè)例子:
?Output: ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] 上面的自省給了我們一個(gè)列表對象的所有方法的名字,。當(dāng)你沒法回憶起一個(gè)方法的名字,這會(huì)非常有幫助。如果我們運(yùn)行dir()而不傳入?yún)?shù),那么它會(huì)返回當(dāng)前作用域的所有名字。 type和idtype函數(shù)返回一個(gè)對象的類型,。舉個(gè)例子:
?Output: <type 'str'>
?Output: <type 'list'>
Output: <type 'dict'>
?Output: <type 'type'>
?Output: <type 'int'> id()函數(shù)返回任意不同種類對象的唯一ID,舉個(gè)例子:
# Output: 139972439030304 inspect模塊inspect模塊也提供了許多有用的函數(shù),來獲取活躍對象的信息,。比方說,你可以查看一個(gè)對象的成員,只需運(yùn)行:
?Output: [('__add__', <slot wrapper '__add__' of ... ... 還有好多個(gè)其他方法也能有助于自省。如果你愿意,你可以去探索它們,。 |
|