Python3內(nèi)置函數(shù)(三)


bin()

bin()返回一個(gè)整數(shù) int 或者長(zhǎng)整數(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ì)象,那么它只是被簡(jiǎn)單的執(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è)字符(長(zhǎng)度為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è)長(zhǎng)度為 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.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 內(nèi)置函數(shù)Python解釋器內(nèi)置了許多功能和類型,總是可用的。他們是按字母順序列在這里。 abs(x)返回一個(gè)數(shù)的絕...
    uangianlap閱讀 1,376評(píng)論 0 0
  • python3常用內(nèi)置函數(shù): 1.abs()函數(shù) abs函數(shù)是返回?cái)?shù)字的絕對(duì)值 基本語法: abs(x) x...
    一只小釆鳥閱讀 1,086評(píng)論 0 3
  • 1. abs(x) abs()函數(shù)返回?cái)?shù)字(可為普通型、長(zhǎng)整型或浮點(diǎn)型)的絕對(duì)值。如果給出復(fù)數(shù),返回值就是該復(fù)數(shù)的...
    TENG書閱讀 490評(píng)論 0 0
  • 內(nèi)置函數(shù)續(xù): 35.bytes 函數(shù) bytes 函數(shù)返回一個(gè)新的 bytes 對(duì)象,該對(duì)象是一個(gè) 0 <= x ...
    一只小釆鳥閱讀 545評(píng)論 0 1
  • 子曰:“學(xué)而時(shí)習(xí)之,不亦說乎?有朋自遠(yuǎn)方來,不亦樂乎?人不知而不慍,不亦君子乎?” 原文如上,以為會(huì)自然默誦之,結(jié)...
    南坡詩(shī)社閱讀 183評(píng)論 0 0

友情鏈接更多精彩內(nèi)容