欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python語法速查: 1. 數(shù)據(jù)類型與內(nèi)置函數(shù)

系統(tǒng) 1622 0

?

? (1)常用內(nèi)置數(shù)據(jù)類型

分類 類型名稱 描述
數(shù)字 int 整數(shù)
float 浮點數(shù)
complex 復數(shù)
bool 布爾值
序列 str 字符串(不可變序列)
list 列表
tuple 元組(不可變序列)
range 整數(shù)范圍(不可變序列)
bytes 字節(jié)數(shù)組(不可變序列)
bytearray 可變字節(jié)數(shù)組
映射 dict 字典
集合 set 可變集合
frozenset 不可變集合
None NoneType 空對象,它沒有任何屬性

?

?

? (2)類型檢查常用方法

用法 類型 描述 舉例
id( 實例 ) 內(nèi)置函數(shù) 返回一個對象的身份(整數(shù))

id(a)

type( 實例 ) 內(nèi)置函數(shù) 返回一個對象實例的類型 type(a)
is 運算符 比較2個對象是否同一身份

a is b

type(a) is str

type(a) is type(b)?? # a與b是否同一類型

isinstance( 實例, 類名 ) 內(nèi)置函數(shù) 入?yún)ο笫欠袷侨雲(yún)㈩惖膶嵗?

isinstance(s, list) # s是否為列表

isinstance(f, Foo) ? # f是否為Foo類的實例

?

?

? (3)常用內(nèi)置函數(shù)

名稱 簡述 用法 舉例或說明
數(shù)學運算
abs() 返回一個數(shù)的絕對值 abs( x ) abs(a)
pow() x的y次方運算,將結(jié)果對z取模 pow( x, y[,z] )

pow(2,3,3) # 結(jié)果為2

round() 將x按10的負n次取四舍五入 round( x[, n=0] ) 舍入規(guī)則見下詳述
divmod() 將a除以b的商和余數(shù)作為元組返回 divmod( a, b )

divmod(10,3) # 結(jié)果為(3,1)

內(nèi)置數(shù)據(jù)類型實例生成
int() 根據(jù)入?yún)?shù)字或字符串,生成整數(shù)實例 int( x[, base=10] ) base默認為10, 詳見下例
float() 根據(jù)入?yún)?shù)字或字符串,生成浮點數(shù)實例 float( x )

float(3) # 結(jié)果為3.0

complex() 生成復數(shù)實例 complex( r[, i] ) 較少用到
bool() 生成布爾值實例 bool( [x] ) 不帶入?yún)r默認返回False
list() 生成列表實例 list( [iter] ) iter須是可迭代對象
dict() 生成字典實例 dict( [m] ) 詳見下述
tuple() 生成元組實例 tuple( [iter] ) iter須是可迭代對象
str() 生成字符串實例 str( [object] ) 入?yún)bject的__str__方法
range() 創(chuàng)建range實例

range( stop )

range( start, stop [,step] )

range對象可以用迭代、也可用切片訪問
set() 生成集合實例 set( [iter] ) iter須是可迭代對象
frozenset() 生成不可變集合實例 frozenset( [iter] ) iter須是可迭代對象
slice() 生成切片對象

slice( stop )

slice( start, stop [,step] )

較少直接使用

bytes() 生成不可變字節(jié)數(shù)組實例 bytes( [source [,encoding [,errors]]] ) 詳見下述
bytearray() 生成可變字節(jié)數(shù)組實例 bytearray( [source [,encoding [,errors]]] ) 用法同上,內(nèi)容可變
memoryview() 生成memoryview實例 memoryview( obj ) 較少用到
object() 生成一個基類實例 object() 較少用到
編碼與解碼
hex() 將數(shù)值x用16進制字符串表示 hex( x )

hex(16) # 結(jié)果為'0x10'

oct() 將數(shù)值x用8進制字符串表示 oct( x )

oct(16) # 結(jié)果為'0o20'

bin() 將數(shù)值x用2進制字符串表示 bin( x )

bin(8) # 結(jié)果為'0b1000'

ord() 將單字符轉(zhuǎn)換成utf-8數(shù)值 ord( c )

ord('a') # 結(jié)果為97

ord('數(shù)') # 結(jié)果為25968

chr() 將數(shù)值x轉(zhuǎn)換成單字符字符串 chr( x )

chr(97) # 結(jié)果為'a'

chr(25968) # 結(jié)果為'數(shù)'

ascii() 像repr()那樣顯示對象,非ASCII字符顯示為轉(zhuǎn)義序列 ascii( object ) 較少用到
序列操作
len() 返回s中包含的項數(shù) len( s ) s可以是:列表、元組、字符串、集合、字典
min() 如果只有1個參數(shù)s,返回s中各項的最小值。如果有多個參數(shù),返回各個參數(shù)中的最小值。 min( s[, args, ...] )

s可以是可迭代對象

min([1,3,5]) # 結(jié)果為1

min(1,3,5,7) # 結(jié)果為1

max() 如果只有1個參數(shù)s,返回s中各項的最大值。如果有多個參數(shù),返回各個參數(shù)中的最大值。 max( s[, args, ...] )

s可以是可迭代對象

min([1,3,5]) # 結(jié)果為5

min(1,3,5,7) # 結(jié)果為7

sum() 計算可迭代對象iter中所有項的和,initial為累加初始值,默認為0。只能用于數(shù)值計算。 sum( iter[ ,initial] )

sum([1,2,3]) # 結(jié)果為6

sum([1,2,3], 10) # 結(jié)果為16

迭代操作
all() 若可迭代對象iterable中的所有值都為True,則返回True。 all( iter )

all([0,1,2,3]) # 結(jié)果為False

any() 若可迭代對象iterable中的任意值為True,則返回True。 any( iter )

any([0,1,2,3]) # 結(jié)果為True

enumerate() 根據(jù)入?yún)⒌鳎a(chǎn)生一個新迭代器,其中每個元素為一個元組:內(nèi)含一個計數(shù)值和原迭代出的值。 enumerate( iter[ ,start=0] )

for i,x in enumerate(['a','b'])

????pass

???? # 結(jié)果迭代出(0,'a'), (1,'b')

zip() 產(chǎn)生一個新迭代器,第n個元素為一個(s1[n], s2[n], ...)的元組,其長度為最短的一個迭代器長度。 zip( [s1 [, s2 [, ...]]] )

a = [1,2,3]

b = ['x','y']

for t in zip(a, b)

????pass

???? # 迭代結(jié)果為(1,'x'), (2,'y')

sorted() 根據(jù)入?yún)⒌鞯膬?nèi)容排序,創(chuàng)建有序列表 sorted( iter, *, key=None, reverse=False ) 詳見下述
reversed() 產(chǎn)生一個迭代器,將入?yún)⑿蛄械乃性匚恢妙嵉梗ㄗ⒁猓焊鷖orted()完全不同) reversed( seq )

for x in reversed([1,2,'a']):

????pass

???? # 迭代結(jié)果為 'a', 2, 1

filter() 產(chǎn)生一個迭代器,其內(nèi)容是對入?yún)ter中的每個元素使用func函數(shù)進行過濾,只有func返回True的才被加入新迭代器。 filter( func, iter )

a = [1,2,3,4,5,6,7,8]

filter(lambda x:x%2==1, a)

# 迭代器中內(nèi)容為 1,3,5,7

map() 產(chǎn)生一個迭代器,其每一項是將函數(shù)func應用到iter中的每一項返回的結(jié)果。若入?yún)⒂卸鄠€iter迭代器,則相應的函數(shù)func應有多個入?yún)ⅰ? map( func, iter, ... )

map(lambda x:x*2, [1,3,5,7])

# 迭代器中內(nèi)容為 2,6,10,14

iter() 返回一個可生成object中各項的迭代器。 iter( object[ ,sentinel] )

較少直接使用

next() 返回迭代器iter中的下一項。 next( iter[ ,default] )

較少直接使用

對象實例操作
id() 返回object的唯一整數(shù)標識符(這是一個內(nèi)存位置)。 id( object )

結(jié)果為一個整數(shù),較少直接使用

type() 當單參數(shù)調(diào)用時,返回入?yún)bject的類型。當三參數(shù)調(diào)用時,創(chuàng)建一個新type對象(一般用于元類)。

type( object )

type( name, bases, dict )

type(1) # 結(jié)果為

type('a') # 結(jié)果為

isinstance() 如果object是clsinfo類的一個實例,則返回True。clsinfo可以是一個含多個類的元組。 isinstance( object, clsinfo )

# 設有一個名為Foo的自定義類

f = Foo()

isinstance(f, Foo) # True

isinstance(f, (Foo,list)) # True

isinstance([1,2], (Foo,list)) # True

isinstance(f, (list,tuple) # False

repr() 返回object的字符串表示形式。 repr( object ) 一般在類內(nèi)部的__repr__()方法會定義本對象的字符串表示形式。
dir() 返回object對象的屬性名(含方法名)列表,若object是一個模塊,則返回其內(nèi)部定義的符號列表。 dir( object ) 如果類內(nèi)部定義了__dir__屬性,則返回此值。
hasattr() 若name是object的屬性名,則返回True hasattr( object, name )

入?yún)ame是一個字符串

getattr() 返回對象的name屬性的值,若無此屬性,則default是可選的返回值,否則引起AttributeError。 getattr( object, name [,default] )

a = getattr(obj, 'p1')

# 效果同 a = obj.p1

setattr() 設置對象的屬性 setattr( object, name, value )

setattr(obj, 'p1', a)

# 效果同 obj.p1 = a

delattr() 刪除對象的屬性 delattr( object, name )

delattr(obj, 'p1')

# 效果同 del obj.p1

hash() 返回對象的整數(shù)散列值。一般可變對象不會定義散列值,除非類內(nèi)部定義了__hash__()方法。 hash()

hash('abc') # 結(jié)果為526986374

hash(3.14) ?# 結(jié)果為1846836513

callable() 檢查一個對象是否是可調(diào)用的。但有時即便返回 True,object 仍然可能調(diào)用失敗。 callable( object ) 對于函數(shù)、方法、lamdba表達式、類、實現(xiàn)了__call__()方法的類實例,它都返回True。
類操作
staticmethod() 創(chuàng)建在類中使用的靜態(tài)方法。 staticmethod( func ) 一般通過@staticmethod裝飾器隱式調(diào)用該函數(shù)
classmethod() 創(chuàng)建在類方法。 classmethod( func ) 一般通過@classmethod裝飾器隱式調(diào)用該函數(shù)
issubclass() 如果class是clsinfo的子類,或class是基于抽象基類clsinfo注冊的,則返回True。clsinfo可以是一個含多個類的元組。 issubclass( class, clsinfo )

issubclass(Foo, BaseFoo) # 結(jié)果為 True

issubclass(Foo, (BaseFoo,list) # 結(jié)果為 True

super()

返回一個代理對象,提供可以調(diào)用基類中的方法的手段。type是當前子類名,object一般是self。

在Python3中,在子類方法中可以省略type和object參數(shù),直接簡寫成:super()

super( type [,object] )

class B(A):

??def foo(self):

???? # 調(diào)用基類A的foo方法

????super(B,self).foo()

???? # 在Python3中可簡寫成:

???? # super().foo()

property() 創(chuàng)建一個虛擬屬性。fget, fset, fdel分別為自定義的屬性讀取、設置、刪除方法,doc為文檔字符串。 property( fget=None, fset=None, fdel=None, doc=None )

class C:

??def __init__(self):

????self._x = 'c'

??def gx(self):

????return self._x

??x=property(fget=gx, doc='a')

??# 定義了一個只讀的屬性x

域操作
globals() 返回代表當前全局作用域的所有符號的字典。 globals()

globals()

locals() 返回代表當前局部作用域的所有符號的字典。 locals()

locals()

var() 返回object的所有屬性和屬性值的字典對象,如果沒有入?yún)ⅲ瑒t相當于調(diào)用locals() var( [object] )

vars(obj)

輸入輸出與文件操作
input() 顯示prompt提示信息,并讀取一行輸入,將讀入內(nèi)容不作任何修改作為字符串返回。(Python3中取消了原raw_input()函數(shù)) input( [prompt] )

>>> input('pls ipt:')

pls ipt: 123

# 返回結(jié)果為:'123'

print() 打印一系列值到屏幕上。入?yún)⒅锌稍O置:多個顯示對象之間的分隔符、換行符、輸出設備、強制刷新等,一般不用修改。 print( *objects, sep=' ', end='\n', file=sys.stdout, flush=False )

一般用于調(diào)試用

open() 打開文件并返回一個新文件對象。 open( file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None )

在文件操作章節(jié)詳細描述

雜項
eval() 計算入?yún)⒈磉_式expr的值,expr是一個字符串或代碼對象。globals和locals參數(shù)可指定操作時的全局和局部命名空間映射對象。 eval( expr, globals=None, locals=None )

x = 1

eval('x+1') # 結(jié)果為2

exec() 執(zhí)行Python語句,入?yún)ode可以是字符串、文件或代碼對象。globals和locals參數(shù)可指定操作時的全局和局部命名空間映射對象。 exec( code[, globals[, locals]] )

x = 1

code = """s = x + 1

print(s)"""

exec(code) # 結(jié)果為2

exec(code, {'x':10}) # 結(jié)果為11

format() 按照format_spec中的格式將value轉(zhuǎn)換為有格式的字符串,該操作調(diào)用value.__format__()方法。 format( value[, format_spec] )

一般在格式化字符串時被隱式調(diào)用

help() 調(diào)用內(nèi)置的幫助系統(tǒng)。object可以是字符串(表示模塊名、類名、函數(shù)名、方法名、關鍵字、文檔主題名稱),如果是其他類型的對象,則會出現(xiàn)與該對象有關的幫助界面。 help( [object] )

help('math')

compile() 將source對象編譯為代碼對象,結(jié)果可被用于eval()和exec()函數(shù)。 compile( source, filename, mode, flags=0, dont_inherit=False, optimize=-1 )

若不是開發(fā)框架的話,一般用不到

breakpoint() Python3.7中新增的內(nèi)置函數(shù),用來設置程序運行時的斷點,程序運行到該函數(shù)時自動進入調(diào)試器。這是個方便函數(shù),可以讓你很方便地進入Pdb調(diào)試器(不用再顯式導入調(diào)試模塊等)。 breakpoint( *args, **kws ) 在需要設置斷點的地方直接調(diào)用breakpoint()即可

?

?

?

● round(x[, n])

說明:

在Python3中,當被舍入數(shù)字為5且為第1位小數(shù)時,舍入規(guī)則如下:若被舍入數(shù)字的前一個數(shù)為偶數(shù),則朝0方向進行四舍五入;否則遠離0,正負數(shù)都遵循這個規(guī)則。其它位的四舍五入不適用此規(guī)則,依舊按照普通數(shù)學規(guī)則進行。

舉例:

              >>> round(2.5) 
              
                ?# 結(jié)果為2
              
              
>>> round(-2.5) 
              
                # 結(jié)果為2
              
              
>>> round(3.5) 
              
                ?# 結(jié)果為4
              
              
>>> round(-3.5) 
              
                # 結(jié)果為4
              
            

返回索引

?

?

?

● int(x[, base])

說明:

x可以是數(shù)字或字符串,base是入?yún)⒌霓D(zhuǎn)換進制基數(shù),可以是2、8、16、16等,轉(zhuǎn)換結(jié)果總是10進制整數(shù)。

舉例:

              >>>  int('100')
              
                ?# 結(jié)果為100
              
              
>>>  int('100', 10)
              
                ?# 結(jié)果為100
              
              
>>>  int('100', 16)
              
                ?# 結(jié)果為256
              
              
>>>  int('100', 2)
              
                ?# 結(jié)果為4
              
            

返回索引

?

?

?

● dict([m])

說明:

入?yún)若是字典,則dict(m)就創(chuàng)建一個m淺復制。若m不是字典,則必須能夠產(chǎn)生(key, value)形式的迭代值。也可用關鍵字創(chuàng)建字典,見下例。

舉例:

              >>>  dict('a'=1, 'b'=2)
              
                ?# 結(jié)果為{'a':1, 'b':2}
              
              
>>>  dict()
              
                ?# 結(jié)果為空字典{}
              
            

返回索引

?

?

?

● bytes([source [,encoding [,errors]]])

說明:

生成不變字節(jié)數(shù)組,入?yún)ource為原始輸入字符串,入?yún)ncoding指定要使用的字符編碼方式。

舉例:

              >>> x = bytes()  
              
                ?# 結(jié)果為空字節(jié)數(shù)組 b''
              
              
>>> x = b''  
              
                ?# 結(jié)果同上
              
              
>>> x = bytes('abc')  
              
                ?# 結(jié)果為 b'abc'
              
              
>>> x = bytes('ab數(shù)字', 'utf-8') 
              
                ?# 結(jié)果為 b'ab\xe6\x95\xb0\xe5\xad\x97' 
              
            

返回索引

?

?

?

● sorted(iter, *, key=None, reverse=False)

說明:

根據(jù)iter迭代器中的各項值的內(nèi)容進行排序(從小到大),創(chuàng)建有序列表,一般只能對數(shù)字或字符串進行排序。key是個單參數(shù)函數(shù),可以對元素在被排序前進行預處理,將一些常規(guī)來說不能排序的元素預處理成可排序的數(shù)字或字符串。reverse是個標志位,用以指出是否逆序(從大到小)排序。(注意:Python3最新版本中已廢除了cmp參數(shù))

舉例:

              >>>  sorted([1,7,3,5]) 
              
                ?# 結(jié)果為[1,3,5,7]
              
              
>>>  sorted([1,7,3,5], reverse=True) 
              
                ?# 結(jié)果為[7,5,3,1]
              
              
>>>  sorted(['c','b','a'])
              
                ?# 結(jié)果為['a','b','c']
              
              
>>>  sorted([('b',2),('a',1)], key=lambda x:x[1])
              
                ?# 結(jié)果為[('a',1),('b',2)]
              
              
>>>  
              
                # 上例說明:入?yún)⒘斜碇械脑貫樵M,一般不能排序。但這里用lambda生成了一個匿名函數(shù),對元素進行預處理,取出每個元素元組中的數(shù)字,然后用這個數(shù)字作為排序依據(jù),給sorted()函數(shù)進行排序
              
            

返回索引

?

?

?

?

?

?

返回標題

?


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 免费观看欧美一级高清 | 播色网电影网 | 免费看一级视频 | 精品视频二区 | 亚洲天堂网2018 | 99视频在线精品 | 成人福利在线观看 | 视频一区二区三区免费观看 | 中文字幕亚洲一区二区三区 | 人人爱天天做夜夜爽88 | 日本一区二区三区免费高清在线 | 亚洲国产在 | 亚洲免费视频网站 | 免费黄网站在线播放 | 大香萑75久久精品免费 | 爱久娱乐网 | 国产精品人妻无码久久久郑州 | 99精品视频在线观看 | 欧美一区二区三区免费不卡 | 91久久久久久久久 | 草草国产成人免费视频 | 欧美国产激情二区三区 | 一级视频在线免费观看 | 日韩成人av在线播放 | 九九精品视频在线观看九九 | 九九热视频这里只有精品 | 一区二区三区高清在线观看 | 亚洲视频天堂 | 99精品在线 | 韩国精品videosex性韩国 | 91精品国产亚洲爽啪在线观看 | 韩国三级bd高清中字木鱼天 | 一区二区在线免费观看 | 亚洲AV久久久噜噜噜久久 | 日韩电影免费在线观看中文字幕 | 日韩一区在线视频 | 国产色综合一区二区三区 | 超级碰碰碰视频在线观看 | 国产你懂得| 久久久91精品国产一区二区三区 | 99精品欧美一区二区三区综合在线 |