Python3內置函數(五)

classmethod()

classmethod修飾符對應的函數不需要實例化,不需要 self 參數,但第一個參數需要是表示自身類的 cls 參數,可以來調用類的屬性,類的方法,實例化對象等。

語法:classmethod

返回值:返回函數的類方法。

實例:


輸出結果為:

func2

1

foo

getattr()

getattr()函數用于返回一個對象屬性值。

語法:getattr(object,name[,default])

參數:object -- 對象。

name -- 字符串,對象屬性。

default -- 默認返回值,如果不提供該參數,在沒有對應屬性時,將觸發 AttributeError。

返回值:返回對象屬性值。

實例:

locals()

locals()函數會以字典類型返回當前位置的全部局部變量。

對于函數, 方法, lambda 函式, 類, 以及實現了 __call__ 方法的類實例, 它都返回 True。

語法:locals()

返回值:返回字典類型的局部變量。

實例:

>>>defrunoob(arg):# 兩個局部變量:arg、z

...z=1

...print(locals())

...

>>>runoob(4){'z':1,'arg':4}# 返回一個名字/值對的字典

>>>

repr()

repr() 函數將對象轉化為供解釋器讀取的形式。

語法:repr(object)

參數:object -- 對象。

返回值:返回一個對象的 string 格式。

實例:

>>>s='RUNOOB'

>>>repr(s)

"'RUNOOB'"

>>>dict= {'runoob':'runoob.com','google':'google.com'};

>>>repr(dict)

"{'google': 'google.com', 'runoob': 'runoob.com'}"

>>>

zip()

zip()函數用于將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。

如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。

語法:zip([iterable,...])

參數說明:iterabl -- 一個或多個迭代器;

返回值:返回元組列表。

實例:

>>>a=[1,2,3]

>>>b=[4,5,6]

>>>c=[4,5,6,7,8]

>>>zipped=zip(a,b) ? ? ? ? ? ?# 打包為元組的列表

[(1,4),(2,5),(3,6)]

>>>zip(a,c) ? ? ? ? ? ? ? ? ? ? ?# 元素個數與最短的列表一致

[(1,4),(2,5),(3,6)]

>>>zip(*zipped) ? ? ? ? ? # 與 zip 相反,可理解為解壓,返回二維矩陣式[(1,2,3),(4,5,6)]

compile()

compile() 函數將一個字符串編譯為字節代碼。

語法:compile(source,filename,mode[,flags[,dont_inherit]])

參數:

source -- 字符串或者AST(Abstract Syntax Trees)對象。。

filename -- 代碼文件名稱,如果不是從文件讀取代碼則傳遞一些可辨認的值。

mode -- 指定編譯代碼的種類。可以指定為 exec, eval, single。

flags -- 變量作用域,局部命名空間,如果被提供,可以是任何映射對象。。

flags和dont_inherit是用來控制編譯源碼時的標志

返回值:返回表達式執行結果。

實例:

>>>str="for i in range(0,10): print(i)"

>>>c=compile(str,'','exec')# 編譯為字節代碼對象

>>>c

<code object <module> at 0x10141e0b0, file "" ,line 1>

>>>exec(c)

0123456789

>>>str="3 * 4 + 5"

>>>a=compile(str,'','eval')

>>>eval(a)

17

globals()

globals()函數會以字典類型返回當前位置的全部全局變量。

語法:globals()

返回值:返回全局變量的字典。

實例:

map()

map()會根據提供的函數對指定序列做映射。

第一個參數 function 以參數序列中的每一個元素調用 function 函數,返回包含每次 function 函數返回值的新列表。

語法:map(function,iterable,...)

參數:

function -- 函數,有兩個參數

iterable -- 一個或多個序列

返回值:返回列表。

實例:

__import__()

__import__()函數用于動態加載類和函數 。

如果一個模塊經常變化就可以使用 __import__() 來動態載入。

語法:__import__(name[,globals[,locals[,fromlist[,level]]]])

參數說明:name -- 模塊名

返回值:返回元組列表。

實例:

a.py 文件代碼:

#!/usr/bin/env python

#encoding: utf-8

import os

print('在 a.py 文件中 %s'%id(os))

test.py 文件代碼:

#!/usr/bin/env python

#encoding: utf-8

import sys

__import__('a') ? ? ? ? ? ? ?# 導入 a.py 模塊

執行 test.py 文件,輸出結果為:

在a.py文件中4394716136

reversed()

reversed 函數返回一個反轉的迭代器。

語法:reversed(seq)

參數:seq -- 要轉換的序列,可以是 tuple, string, list 或 range。

返回值:返回一個反轉的迭代器。

實例:

complex()

complex()函數用于創建一個值為 real + imag * j 的復數或者轉化一個字符串或數為復數。如果第一個參數為字符串,則不需要指定第二個參數。。

語法:class complex([real[, imag]])

參數說明:real -- int, long, float或字符串;

imag -- int, long, float;

返回值:返回一個復數。

實例:

hasattr()

hasattr()函數用于判斷對象是否包含對應的屬性。

語法:hasattr(object, name)

參數:object -- 對象。

name -- 字符串,屬性名。

返回值:如果對象有該屬性返回 True,否則返回 False。

實例:

max()

max() 方法返回給定參數的最大值,參數可以為序列。

語法:max(x,y,z,....)

參數:x -- 數值表達式。y -- 數值表達式。z -- 數值表達式。

返回值:返回給定參數的最大值。

實例:

#!/usr/bin/python3

print("max(80, 100, 1000) : ",max(80,100,1000))

print("max(-20, 100, 400) : ",max(-20,100,400))

print("max(-80, -20, -10) : ",max(-80,-20,-10))

print("max(0, 100, -400) : ",max(0,100,-400))

以上實例運行后輸出結果為:

max(80,100,1000):1000

max(-20,100,400):400

max(-80,-20,-10):-10

max(0,100,-400):100

round()

round()方法返回浮點數x的四舍五入值。

語法:round(x[,n])

參數:x -- 數值表達式。n -- 數值表達式。

返回值:返回浮點數x的四舍五入值。

實例:

#!/usr/bin/python3

print("round(70.23456) : ",round(70.23456))

print("round(56.659,1) : ",round(56.659,1))

print("round(80.264, 2) : ",round(80.264,2))

print("round(100.000056, 3) : ",round(100.000056,3))

print("round(-100.000056, 3) : ",round(-100.000056,3))

以上實例運行后輸出結果為:

round(70.23456):70

round(56.659,1):56.7

round(80.264,2):80.26

round(100.000056,3):100.0

round(-100.000056,3):-100.0

delattr()

delattr函數用于刪除屬性。

delattr(x, 'foobar')相等于del x.foobar。

語法:delattr(object,name)

參數:object -- 對象。name -- 必須是對象的屬性。

實例:

輸出結果:

hash()

hash()用于獲取取一個對象(字符串或者數值等)的哈希值。

語法:hash(object)

參數說明:object -- 對象;

返回值:返回對象的哈希值。

實例:

>>>hash('test') ? ? ? ? ? ? ? ? ? ? ? # 字符串

2314058222102390712

>>>hash(1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 數字1

>>>hash(str([1,2,3])) ? ? ? ? ? ? ? # 集合

1335416675971793195

>>>hash(str(sorted({'1':1}))) ? ?# 字典

7666464346782421378

>>>

memoryview()

memoryview()函數返回給定參數的內存查看對象(Momory view)。

所謂內存查看對象,是指對支持緩沖區協議的數據進行包裝,在不需要復制對象基礎上允許Python代碼訪問。

?語法:memoryview(obj)

參數說明:obj -- 對象

返回值:返回元組列表。

實例:

>>>v=memoryview('abcefg')

>>>v[1]

'b'

>>>v[-1]

'g'

>>>v[1:4]

>>>v[1:4].tobytes()

'bce'

set()

set()函數創建一個無序不重復元素集,可進行關系測試,刪除重復數據,還可以計算交集、差集、并集等。

語法:class set([iterable])

參數說明:iterable -- 可迭代對象對象;

返回值:返回新的集合對象。

實例:

>>>x=set('runoob')

>>>y=set('google')

>>>x,y

(set(['b','r','u','o','n']),set(['e','o','g','l']))# 重復的被刪除

>>>x&y ? ? ? ? ? ? ? ? # 交集

set(['o'])

>>>x|y ? ? ? ? ? ? ? ? ? ?# 并集

set(['b','e','g','l','o','n','r','u'])

>>>x-y ? ? ? ? ? ? ? ? ? ? ? # 差集

set(['r','b','u','n'])

>>>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 內置函數Python解釋器內置了許多功能和類型,總是可用的。他們是按字母順序列在這里。 abs(x)返回一個數的絕...
    uangianlap閱讀 1,267評論 0 0
  • 內置函數續: 35.bytes 函數 bytes 函數返回一個新的 bytes 對象,該對象是一個 0 <= x ...
    一只小釆鳥閱讀 467評論 0 1
  • python3常用內置函數: 1.abs()函數 abs函數是返回數字的絕對值 基本語法: abs(x) x...
    一只小釆鳥閱讀 962評論 0 3
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,890評論 1 10
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139