???????????????? 內(nèi)置函數(shù)3
21濒旦、bin()
21.1、描述
bin()返回一個(gè)整數(shù) int 或者長(zhǎng)整數(shù) long int 的二進(jìn)制表示扎运。
22.2語(yǔ)法
以下是 bin() 方法的語(yǔ)法:
bin(x)
22.3户魏、參數(shù)
x ? ? -- ?? int 或者 long int 數(shù)字
22.4、返回值
字符串呻征。
22.5實(shí)例
以下展示了使用 bin 函數(shù)的實(shí)例:
>>>bin(10)
'0b1010'
>>>bin(20)
'0b10100'
22另假、eval()
22.1、描述
eval() 函數(shù)用來(lái)執(zhí)行一個(gè)字符串表達(dá)式怕犁,并返回表達(dá)式的值边篮。
22.2、語(yǔ)法
以下是 eval() 方法的語(yǔ)法:
eval? (expression [ , globals [ , locals ] ])
22.3奏甫、參數(shù)
expression -- 表達(dá)式戈轿。
globals -- 變量作用域,全局命名空間阵子,如果被提供思杯,則必須是一個(gè)字典對(duì)象。
locals -- 變量作用域挠进,局部命名空間色乾,如果被提供,可以是任何映射對(duì)象领突。
22.4暖璧、返回值
返回表達(dá)式計(jì)算結(jié)果。
22.5君旦、實(shí)例
以下展示了使用 eval() 方法的實(shí)例:
>>>x=7
>>>eval('3 * x')
21
>>>eval('pow(2,2)')
4
>>>eval('2 + 2')
4
>>>eval("n + 4")
85
23澎办、int()
23.1、描述
int() 函數(shù)用于將一個(gè)字符串會(huì)數(shù)字轉(zhuǎn)換為整型金砍。
23.2局蚀、語(yǔ)法
以下是 int() 方法的語(yǔ)法:
classint(x,base=10)
23.3、參數(shù)
x -- 字符串或數(shù)字恕稠。
base -- 進(jìn)制數(shù)琅绅,默認(rèn)十進(jìn)制。
23.4鹅巍、返回值
返回整型數(shù)據(jù)千扶。
23.5、實(shí)例
以下展示了使用 int() 方法的實(shí)例:
>>>int()??????????????????? # 不傳入?yún)?shù)時(shí)昆著,得到結(jié)果0
0
>>>int(3)
3
>>>int(3.6)
3
>>>int('12',16)???????????????????? # 如果是帶參數(shù)base的話县貌,12要以字符串的形式進(jìn)行輸入术陶,12 為 16進(jìn)制18
>>>int('0xa',16)
10
>>>int('10',8)
8
24凑懂、open()
24.1、描述
python open() 函數(shù)用于打開(kāi)一個(gè)文件梧宫,創(chuàng)建一個(gè)file對(duì)象接谨,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫(xiě)摆碉。
更多文件操作可參考:Python 文件I/O。
24.2脓豪、函數(shù)語(yǔ)法
open (name [ , mode [ , buffering? ] ] )
24.3巷帝、參數(shù)說(shuō)明:
name : 一個(gè)包含了你要訪問(wèn)的文件名稱(chēng)的字符串值。
mode : mode 決定了打開(kāi)文件的模式:只讀扫夜,寫(xiě)入楞泼,追加等。所有可取值見(jiàn)如下的完全列表笤闯。這個(gè)參數(shù)是非強(qiáng)制的堕阔,默認(rèn)文件訪問(wèn)模式為只讀(r)。
buffering : 如果 buffering 的值被設(shè)為 0颗味,就不會(huì)有寄存超陆。如果 buffering 的值取
1,訪問(wèn)文件時(shí)會(huì)寄存行浦马。如果將 buffering 的值設(shè)為大于 1
的整數(shù)时呀,表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值晶默,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)谨娜。
不同模式打開(kāi)文件的完全列表:
模式????????? 描述
r????????????? 以只讀方式打開(kāi)文件。文件的指針將會(huì)放在文件的開(kāi)頭磺陡。這是默認(rèn)模式瞧预。
rb???????? 以二進(jìn)制格式打開(kāi)一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開(kāi)頭仅政。這是默認(rèn)模式垢油。
r + ???????????? 打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭圆丹。
rb+????????????? 以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)滩愁。文件指針將會(huì)放在文件的開(kāi)頭。
w??????????????? 打開(kāi)一個(gè)文件只用于寫(xiě)入辫封。如果該文件已存在則將其覆蓋硝枉。如果該文件不存在,創(chuàng)建新文件倦微。
wb????????????? 以二進(jìn)制格式打開(kāi)一個(gè)文件只用于寫(xiě)入妻味。如果該文件已存在則將其覆蓋。如果該文件不存在欣福,創(chuàng)建新文件责球。
w+???????????????? 打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則將其覆蓋。如果該文件不存在雏逾,創(chuàng)建新文件嘉裤。
wb+?????????????? 以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則將其覆蓋栖博。如果該文件不存在屑宠,創(chuàng)建新文件。
a???????????????????? 打開(kāi)一個(gè)文件用于追加仇让。如果該文件已存在典奉,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō)丧叽,新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后秋柄。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入蠢正。
ab????????????????? 以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加骇笔。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾嚣崭。也就是說(shuō)笨触,新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在雹舀,創(chuàng)建新文件進(jìn)行寫(xiě)入芦劣。
a+?????????????????? 打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在说榆,文件指針將會(huì)放在文件的結(jié)尾虚吟。文件打開(kāi)時(shí)會(huì)是追加模式。如果該文件不存在签财,創(chuàng)建新文件用于讀寫(xiě)串慰。
ab+?????????????????? 以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在唱蒸,文件指針將會(huì)放在文件的結(jié)尾邦鲫。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)神汹。
24.4庆捺、file 對(duì)象方法
file.read([size])size未指定則返回整個(gè)文件,如果文件大小>2倍內(nèi)存則有問(wèn)題.f.read()讀到文件尾時(shí)返回""(空字串)
file.readline()返回一行
file.readline([size])返回包含size行的列表,size 未指定則返回全部行
for line in f: print line#通過(guò)迭代器訪問(wèn)
f.write("hello\n")#如果要寫(xiě)入字符串以外的數(shù)據(jù),先將他轉(zhuǎn)換為字符串.
f.tell()返回一個(gè)整數(shù),表示當(dāng)前文件指針的位置(就是到文件頭的比特?cái)?shù)).
f.seek(偏移量,[起始位置])用來(lái)移動(dòng)文件指針.
偏移量:單位:比特,可正可負(fù)
起始位置:0-文件頭,默認(rèn)值;1-當(dāng)前位置;2-文件尾
f.close()關(guān)閉文件
24.5、實(shí)例
測(cè)試文件 test.txt屁魏,內(nèi)容如下:
RUNOOB1
RUNOOB2
>>>f=open('test.txt')
>>>f.read()
'RUNOOB1\nRUNOOB2\n'
25滔以、str()
25.1、參數(shù)
object -- 對(duì)象氓拼。
25.2你画、返回值
返回一個(gè)對(duì)象的string格式抵碟。
25.3、實(shí)例
以下展示了使用 str() 方法的實(shí)例:
>>>s='RUNOOB'
>>>str(s)'RUNOOB'
>>>dict= {'runoob':'runoob.com','google':'google.com'};
>>>str(dict)
"{'google': 'google.com', 'runoob': 'runoob.com'}"
>>>
26撬即、bool()
26.1、描述
bool()函數(shù)用于將給定參數(shù)轉(zhuǎn)換為布爾類(lèi)型呈队,如果沒(méi)有參數(shù)剥槐,返回 False。
bool 是 int 的子類(lèi)宪摧。
26.2粒竖、語(yǔ)法
以下是 bool() 方法的語(yǔ)法:
classbool ( [ x ] )
26.3、參數(shù)
x --? 要進(jìn)行轉(zhuǎn)換的參數(shù)几于。
26.4蕊苗、返回值
返回 Ture 或 False。
26.5沿彭、實(shí)例
以下展示了使用 bool 函數(shù)的實(shí)例:
>>>bool()
False
>>>bool(0)
False
>>>bool(1)
True
>>>bool(2)
True
>>>issubclass(bool,int)??????? # bool 是 int 子類(lèi)
True
27朽砰、exec()
27.1、描述
exec 執(zhí)行儲(chǔ)存在字符串或文件中的 Python 語(yǔ)句喉刘,相比于 eval瞧柔,exec可以執(zhí)行更復(fù)雜的 Python 代碼。
27.2睦裳、語(yǔ)法
以下是 exec 的語(yǔ)法:
exec(object[,globals[,locals]])
27.3造锅、參數(shù)
object:必選參數(shù),表示需要被指定的Python代碼廉邑。它必須是字符串或code對(duì)象哥蔚。如果object是一個(gè)字符串,該字符串會(huì)先被解析為一組Python語(yǔ)句蛛蒙,然后在執(zhí)行(除非發(fā)生語(yǔ)法錯(cuò)誤)糙箍。如果object是一個(gè)code對(duì)象,那么它只是被簡(jiǎn)單的執(zhí)行牵祟。
globals:可選參數(shù)倍靡,表示全局命名空間(存放全局變量),如果被提供课舍,則必須是一個(gè)字典對(duì)象塌西。
locals:可選參數(shù),表示當(dāng)前局部命名空間(存放局部變量)筝尾,如果被提供捡需,可以是任何映射對(duì)象。如果該參數(shù)被忽略筹淫,那么它將會(huì)取與globals相同的值站辉。
27.4、返回值
exec 返回值永遠(yuǎn)為 None。
27.5饰剥、實(shí)例
以下展示了使用 exec 的實(shí)例:
27.5.1殊霞、實(shí)例 1
>>>exec('print("Hello World")')
HelloWorld?????????????? # 單行語(yǔ)句字符串
>>>exec("print ('runoob.com')")
runoob.com?????????????
#? 多行語(yǔ)句字符串
>>>exec("""for i in range(5):
...? ???????? print ("iter time: %d" % i)
...???? """)
itertime : 0
itertime : 1
itertime :? 2
itertime :? 3
itertime : 4
27.5.2、實(shí)例 2
x=10
expr="""
z = 30
sum = x + y + z
print(sum)
"""
deffunc():
??????????? y=20exec(expr)
?????????? exec(expr, {'x':1,'y':2})
?????????? exec(expr, {'x':1,'y':2}, {'y':3,'z':4})
func()
輸出結(jié)果:
60
33
34
28汰蓉、isinstance()
28.1描述
isinstance() 函數(shù)來(lái)判斷一個(gè)對(duì)象是否是一個(gè)已知的類(lèi)型绷蹲,類(lèi)似 type()。
isinstance() 與 type() 區(qū)別:
type() 不會(huì)認(rèn)為子類(lèi)是一種父類(lèi)類(lèi)型顾孽,不考慮繼承關(guān)系祝钢。
isinstance() 會(huì)認(rèn)為子類(lèi)是一種父類(lèi)類(lèi)型,考慮繼承關(guān)系若厚。
如果要判斷兩個(gè)類(lèi)型是否相同推薦使用 isinstance()拦英。
28.2、語(yǔ)法
以下是 isinstance() 方法的語(yǔ)法:
isinstance( object , classinfo)
28.3测秸、參數(shù)
object -- 實(shí)例對(duì)象疤估。
classinfo -- 可以是直接或間接類(lèi)名、基本類(lèi)型或者有它們組成的元組霎冯。
28.4做裙、返回值
如果對(duì)象的類(lèi)型與參數(shù)二的類(lèi)型(classinfo)相同則返回 True,否則返回 False肃晚。锚贱。
28.5、實(shí)例
以下展示了使用 isinstance 函數(shù)的實(shí)例:
>>>a=2
>>>isinstance(a,int)
True
>>>isinstance(a,str)
? False
? >>>isinstance(a,(str,int,list))??????????? # 是元組中的一個(gè)返回 True
? True
type() 與 isinstance()區(qū)別:
classA:
????????? pass
classB(A):
?????????? pass
isinstance(A(),A)??????????????? # returns True
type(A())==A????????????????????? # returns True
isinstance(B(),A)??????????????? # returns True
type(B())==A????????????????????? # returns False
29关串、ord()
29.1描述
ord() 函數(shù)是 chr() 函數(shù)(對(duì)于8位的ASCII字符串)或 unichr()
函數(shù)(對(duì)于Unicode對(duì)象)的配對(duì)函數(shù)拧廊,它以一個(gè)字符(長(zhǎng)度為1的字符串)作為參數(shù),返回對(duì)應(yīng)的 ASCII 數(shù)值晋修,或者 Unicode
數(shù)值吧碾,如果所給的 Unicode 字符超出了你的 Python 定義范圍,則會(huì)引發(fā)一個(gè) TypeError 的異常墓卦。
29.2語(yǔ)法
以下是 ord() 方法的語(yǔ)法:
ord ( c )
29.3參數(shù)
c -- 字符倦春。
29.4返回值
返回值是對(duì)應(yīng)的十進(jìn)制整數(shù)。
29.5實(shí)例
以下展示了使用 ord() 方法的實(shí)例:
>>>ord('a')
97
>>>ord('b')
98
>>>ord('c')
99
30落剪、sum()
30.1睁本、描述
sum()方法對(duì)系列進(jìn)行求和計(jì)算。
30.2忠怖、語(yǔ)法
以下是 sum() 方法的語(yǔ)法:
sum ( iterable [ , start ] )
30.3呢堰、參數(shù)
iterable -- 可迭代對(duì)象,如列表凡泣。
start -- 指定相加的參數(shù)枉疼,如果沒(méi)有設(shè)置這個(gè)值皮假,默認(rèn)為0。
30.4骂维、返回值
返回計(jì)算結(jié)果惹资。
30.5、實(shí)例
以下展示了使用 sum 函數(shù)的實(shí)例:
>>>sum([0,1,2])
3
>>>sum((2,3,4),1)??????????? # 元組計(jì)算總和后再加 1
10
>>>sum([0,1,2,3,4],2)??????? # 列表計(jì)算總和后再加 2
12