bin()
bin()返回一個(gè)整數(shù) int 或者長整數(shù) long int 的二進(jìn)制表示遂庄。
語法: ??bin(x)
參數(shù): ? ?x -- int 或者 long int 數(shù)字
返回值: ?字符串。
實(shí)例:
>>>bin(10)
'0b1010'
eval()
eval() 函數(shù)用來執(zhí)行一個(gè)字符串表達(dá)式站削,并返回表達(dá)式的值。
語法:
eval(expression[,globals[,locals]])
參數(shù): ?expression -- 表達(dá)式。
globals -- 變量作用域,全局命名空間垢啼,如果被提供窜锯,則必須是一個(gè)字典對(duì)象。
locals -- 變量作用域膊夹,局部命名空間衬浑,如果被提供捌浩,可以是任何映射對(duì)象放刨。
返回值:?返回表達(dá)式計(jì)算結(jié)果。
實(shí)例:
>>>x=7
>>>eval('3 * x')
21
int()
int() 函數(shù)用于將一個(gè)字符串會(huì)數(shù)字轉(zhuǎn)換為整型尸饺。
語法: ?class int(x, base=10)
參數(shù):?x -- 字符串或數(shù)字进统。
base -- 進(jìn)制數(shù),默認(rèn)十進(jìn)制浪听。
返回值:返回整型數(shù)據(jù)螟碎。
實(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
open()
open() 函數(shù)用于打開一個(gè)文件,創(chuàng)建一個(gè)file對(duì)象克伊,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫酥郭。
語法:
open(name[,mode[,buffering]])
參數(shù)說明:
name : 一個(gè)包含了你要訪問的文件名稱的字符串值。
mode : mode 決定了打開文件的模式:只讀愿吹,寫入不从,追加等。默認(rèn)文件訪問模式為只讀(r)犁跪。
buffering : 如果 buffering 的值被設(shè)為 0椿息,就不會(huì)有寄存。如果 buffering 的值取 1坷衍,訪問文件時(shí)會(huì)寄存行寝优。如果將 buffering 的值設(shè)為大于 1 的整數(shù),表明了這就是的寄存區(qū)的緩沖大小枫耳。如果取負(fù)值乏矾,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)。
不同模式打開文件的完全列表:
模式描述
r: 只讀嘉涌,默認(rèn)
rb: 二進(jìn)制只讀
r+: 打開一個(gè)文件用于讀寫
rb+:以二進(jìn)制打開一個(gè)文件用于讀寫
w: 打開一個(gè)文件只用于寫入
w+:打開一個(gè)文件用于讀寫妻熊,存在則覆蓋,不存在則創(chuàng)建
wb+:二進(jìn)制打開一個(gè)文件用于讀寫仑最,存在則覆蓋扔役,不存在則創(chuàng)建
a:打開一個(gè)文件追加到已有內(nèi)容后面,不覆蓋警医,不存在則創(chuàng)建
ab:二進(jìn)制打開一個(gè)文件追加到已有內(nèi)容后面亿胸,不覆蓋坯钦,不存在則創(chuàng)建
a+:打開一個(gè)文件用于讀寫。如果該文件已存在侈玄,文件打開時(shí)會(huì)是追加模式展父。如果該文件不存在,創(chuàng)建新文件用于讀寫翎碑。
ab+:以二進(jìn)制格式打開一個(gè)文件用于追加裆甩。如果該文件已存在,如果該文件不存在潘悼,創(chuàng)建新文件用于讀寫律秃。
file 對(duì)象方法
file.read([size])size未指定則返回整個(gè)文件,如果文件大小>2倍內(nèi)存則有問題.f.read()讀到文件尾時(shí)返回""(空字串)
file.readline()返回一行
file.readline([size])返回包含size行的列表,size 未指定則返回全部行
for line in f: print line#通過迭代器訪問
f.write("hello\n")#如果要寫入字符串以外的數(shù)據(jù),先將他轉(zhuǎn)換為字符串.
f.tell()返回一個(gè)整數(shù),表示當(dāng)前文件指針的位置(就是到文件頭的比特?cái)?shù)).
f.seek(偏移量,[起始位置])用來移動(dòng)文件指針.
偏移量:單位:比特,可正可負(fù)
起始位置:0-文件頭,默認(rèn)值;1-當(dāng)前位置;2-文件尾
f.close()關(guān)閉文件
實(shí)例
測(cè)試文件 test.txt,內(nèi)容如下:
RUNOOB1
RUNOOB2
>>>f=open('test.txt')
>>>f.read()
'RUNOOB1\nRUNOOB2\n'
str()
str() 函數(shù)將對(duì)象轉(zhuǎn)化為適于人閱讀的形式治唤。
語法:
classstr(object='')
參數(shù):object -- 對(duì)象棒动。
返回值:返回一個(gè)對(duì)象的string格式。
實(shí)例:
bool()
bool()函數(shù)用于將給定參數(shù)轉(zhuǎn)換為布爾類型宾添,如果沒有參數(shù)船惨,將返回False
bool是int 的子類
語法:class bool ([x])
參數(shù):x -- 要進(jìn)行轉(zhuǎn)換的參數(shù)。
返回值:返回 Ture 或 False缕陕。
實(shí)例:
>>>bool()
False
>>>bool(0)
False
>>>bool(1)
True
>>>bool(2)
True
>>>issubclass(bool,int)# bool 是 int 子類
True
isinstance()
isinstance() 函數(shù)來判斷一個(gè)對(duì)象是否是一個(gè)已知的類型粱锐,類似 type()。
isinstance() 與 type() 區(qū)別:
type() 不會(huì)認(rèn)為子類是一種父類類型榄檬,不考慮繼承關(guān)系卜范。
isinstance() 會(huì)認(rèn)為子類是一種父類類型,考慮繼承關(guān)系鹿榜。
如果要判斷兩個(gè)類型是否相同推薦使用 isinstance()海雪。
語法:
isinstance(object,classinfo)
參數(shù):
object -- 實(shí)例對(duì)象。
classinfo -- 可以是直接或間接類名舱殿、基本類型或者有它們組成的元組奥裸。
返回值:
如果對(duì)象的類型與參數(shù)二的類型(classinfo)相同則返回 True,否則返回 False沪袭。湾宙。
實(shí)例:
>>>a=2
>>>isinstance(a,int)
True
>>>isinstance(a,str)
False
>>>isinstance(a,(str,int,list))# 是元組中的一個(gè)返回 True
True
type() 與 isinstance()區(qū)別:
class A :
pass
classB(A):
pass
isinstance(A(),A) ? ? ? ? ? ?# returns True
type(A())==A ? ? ? ? ? ? ? ? ?# returns True
isinstance(B(),A) ? ? ? ? ? ?# returns True
type(B())==A ? ? ? ? ? ? ? ? ?# returns False
exec()
exec 執(zhí)行儲(chǔ)存在字符串或文件中的 Python 語句,相比于 eval冈绊,exec可以執(zhí)行更復(fù)雜的 Python 代碼侠鳄。
語法:
exec(object[,globals[,locals]])
參數(shù):
object:必選參數(shù),表示需要被指定的Python代碼死宣。它必須是字符串或code對(duì)象伟恶。如果object是一個(gè)字符串,該字符串會(huì)先被解析為一組Python語句毅该,然后在執(zhí)行(除非發(fā)生語法錯(cuò)誤)博秫。如果object是一個(gè)code對(duì)象潦牛,那么它只是被簡單的執(zhí)行。
globals:可選參數(shù)挡育,表示全局命名空間(存放全局變量)巴碗,如果被提供,則必須是一個(gè)字典對(duì)象即寒。
locals:可選參數(shù)橡淆,表示當(dāng)前局部命名空間(存放局部變量),如果被提供蒿叠,可以是任何映射對(duì)象明垢。如果該參數(shù)被忽略,那么它將會(huì)取與globals相同的值市咽。
返回值
exec 返回值永遠(yuǎn)為 None。
實(shí)例:
實(shí)例 1
>>>exec('print("Hello World")')
HelloWorld
# 單行語句字符串
>>>exec("print ('runoob.com')")runoob.com
#? 多行語句字符串
>>>exec("""for i in range(5):
...? ? print ("iter time: %d" % i)
...""")
iter time: 0
iter time: 1
iter time: 2
iter time: 3
iter time: 4
ord()
ord() 函數(shù)是 chr() 函數(shù)(對(duì)于8位的ASCII字符串)或 unichr() 函數(shù)(對(duì)于Unicode對(duì)象)的配對(duì)函數(shù)抵蚊,它以一個(gè)字符(長度為1的字符串)作為參數(shù)施绎,返回對(duì)應(yīng)的 ASCII 數(shù)值,或者 Unicode 數(shù)值贞绳,如果所給的 Unicode 字符超出了你的 Python 定義范圍谷醉,則會(huì)引發(fā)一個(gè) TypeError 的異常。
語法:?ord(c)
參數(shù):c -- 字符冈闭。
返回值:返回值是對(duì)應(yīng)的十進(jìn)制整數(shù)俱尼。
實(shí)例:
>>>ord('a')
97
>>>ord('b')
98
>>>ord('c')
99
sum()
sum()方法對(duì)系列進(jìn)行求和計(jì)算。
語法:?sum(iterable[,start])
參數(shù):
iterable -- 可迭代對(duì)象萎攒,如列表遇八。
start -- 指定相加的參數(shù),如果沒有設(shè)置這個(gè)值耍休,默認(rèn)為0刃永。
返回值:返回計(jì)算結(jié)果。
實(shí)例:
>>>sum([0,1,2])
3
>>>sum((2,3,4),1)# 元組計(jì)算總和后再加 1
10
>>>sum([0,1,2,3,4],2)# 列表計(jì)算總和后再加 2
12
bytearray()
bytearray()方法返回一個(gè)新字節(jié)數(shù)組羊精。這個(gè)數(shù)組里的元素是可變的斯够,并且每個(gè)元素的值范圍: 0 <= x < 256。
語法:class bytearray([source[, encoding[, errors]]])
參數(shù)
如果 source 為整數(shù)喧锦,則返回一個(gè)長度為 source 的初始化數(shù)組读规;
如果 source 為字符串,則按照指定的 encoding 將字符串轉(zhuǎn)換為字節(jié)序列燃少;
如果 source 為可迭代類型束亏,則元素必須為[0 ,255] 中的整數(shù);
如果 source 為與 buffer 接口一致的對(duì)象供汛,則此對(duì)象也可以被用于初始化 bytearray枪汪。
如果沒有輸入任何參數(shù)涌穆,默認(rèn)就是初始化數(shù)組為0個(gè)元素。
返回值:返回新字節(jié)數(shù)組雀久。
實(shí)例:
>>>bytearray()
bytearray(b'')
>>>bytearray([1,2,3])
bytearray(b'\x01\x02\x03')
>>>bytearray('runoob','utf-8')
bytearray(b'runoob')
>>>
filter()
filter()函數(shù)用于過濾序列宿稀,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表赖捌。
該接收兩個(gè)參數(shù)祝沸,第一個(gè)為函數(shù),第二個(gè)為序列越庇,序列的每個(gè)元素作為參數(shù)傳遞給函數(shù)進(jìn)行判罩锐,然后返回 True 或 False,最后將返回 True 的元素放到新列表中卤唉。
語法:?filter(function, iterable)
參數(shù):function -- 判斷函數(shù)涩惑。
iterable -- 可迭代對(duì)象。
返回值:返回列表桑驱。
實(shí)例:
過濾出列表中的所有奇數(shù):
#!/usr/bin/python# -*-
coding: UTF-8 -*-
def is_odd(n):
? ? ? ? ? ? return ?n%2 == 1
newlist = filter(is_odd,[1,2,3,4,5,6,7,8,9,10])
print(newlist)
輸出結(jié)果 :
[1, 3, 5, 7, 9]
issubclass()
issubclass()方法用于判斷參數(shù) class 是否是類型參數(shù) classinfo 的子類竭恬。
語法:issubclass(class,classinfo)
參數(shù):class -- 類。classinfo -- 類熬的。
返回值:如果 class 是 classinfo 的子類返回 True痊硕,否則返回 False。
實(shí)例:
#!/usr/bin/python# -*-
coding: UTF-8 -*-
class A:
? ? ? ? pass
class B(A):
? ? ? ? pass
print(issubclass(B,A))# 返回 True
pow()
pow()方法返回 xy(x的y次方) 的值押框。
語法:
import math
math.pow(x,y)
內(nèi)置的 pow() 方法:pow(x,y[,z])
函數(shù)是計(jì)算x的y次方岔绸,如果z在存在,則再對(duì)結(jié)果進(jìn)行取模橡伞,其結(jié)果等效于pow(x,y) %z
注意:pow() 通過內(nèi)置的方法直接調(diào)用盒揉,內(nèi)置方法會(huì)把參數(shù)作為整型,而 math 模塊則會(huì)把參數(shù)轉(zhuǎn)換為 float骑歹。
參數(shù):
x -- 數(shù)值表達(dá)式预烙。
y -- 數(shù)值表達(dá)式。
z -- 數(shù)值表達(dá)式道媚。
返回值:返回 xy(x的y次方) 的值扁掸。
實(shí)例:
#!/usr/bin/python3
importmath# 導(dǎo)入 math 模塊
print("math.pow(100, 2) : ",math.pow(100,2))
# 使用內(nèi)置,查看輸出結(jié)果區(qū)別
print("pow(100, 2) : ",pow(100,2))
print("math.pow(100, -2) : ",math.pow(100,-2))
print("math.pow(2, 4) : ",math.pow(2,4))
print("math.pow(3, 0) : ",math.pow(3,0))
以上實(shí)例運(yùn)行后輸出結(jié)果為:
math.pow(100,2):10000.0
pow(100,2):10000
math.pow(100,-2):0.0001
math.pow(2,4):16.0
math.pow(3,0):1.0
super()
super()函數(shù)用于調(diào)用下一個(gè)父類(超類)并返回該父類實(shí)例的方法最域。
super 是用來解決多重繼承問題的谴分,直接用類名調(diào)用父類方法在使用單繼承的時(shí)候沒問題,但是如果使用多繼承镀脂,會(huì)涉及到查找順序(MRO)牺蹄、重復(fù)調(diào)用(鉆石繼承)等種種問題。
MRO 就是類的方法解析順序表, 其實(shí)也就是繼承父類方法時(shí)的順序表薄翅。
語法:
super(type[,object-or-type])
參數(shù):
type -- 類沙兰。
object-or-type -- 類氓奈,一般是 self
實(shí)例:
執(zhí)行結(jié)果:
Parent
Child
HelloWorldfromParent
Childbar fuction
I'm the parent.