python內建函式使用 python內建函式使用

2021-10-19 20:43:42 字數 4317 閱讀 5691

eval函式執行python表示式,有返回值

eval("1+2+3+4+5")

exec函式執行的是python語句,沒有返回值

exec("print(123)")

將字串型別的**編碼., **物件能夠通過exec語句來執行或者eval()進行求值, c只是編譯, 不執行

code = "for i in range(10): print(i)"

comp1 = compile(code1, "", mode="exec")

exec(comp1)

comp2 = compile(code1, "", mode="eval")

eval(comp2)

2. 資料型別轉換

#函式用於將乙個字串或數字轉換為整型

int("123")

#將資料轉化成字串, 呼叫的是物件的__str__()

str(123)

#返回對應的 ascii 數值,或者 unicode 數值

ord("a")

#用乙個範圍在 range(256)內的(就是0~255)整數作引數,返回乙個對應的字元

chr(55)

#返回任何物件(字串,元組,列表等)的可讀版本, 所有非 ascii 字元替換為轉義字元返回unicode

ascii()

#函式用於將給定引數轉換為布林型別,如果沒有引數,返回 false, bool 是 int 的子類

bool()

# 轉換為浮點

float(123)

3. 建立內建物件

#建立字典

dict()

dict(a="a", b="b", t="t")

dict([("a", 123), ("b", 1234), ("c", 1235)])

#建立集合, iterable -- 可迭代的物件,比如列表、字典、元組等等

set(iterable)

#返回乙個凍結的集合,凍結後集合不能再新增或刪除任何元素

#frozenset([iterable])

#建立列表

list(iterable)

#建立陣列

tuple(iterable)

#函式可建立乙個整數列表或迭代器,一般用在 for 迴圈中

range(5)

#函式用於建立乙個值為 real + imag * j 的複數或者轉化乙個字串或數為複數。如果第乙個引數為字串,則不需要指定第二個引數

#complex([real[, imag]])

#函式用來生成迭代器

#iter(object[, sentinel])

#object -- 支援迭代的集合物件。

#sentinel -- 如果傳遞了第二個引數,則引數 object 必須是乙個可呼叫的物件(如,函式),此時,iter 建立了乙個迭代器物件,每次呼叫這個迭代器物件的__next__()方法時,都會呼叫 object。

#函式返回乙個反轉的迭代器, seq -- 要轉換的序列,可以是 tuple, string, list 或 range

reversed(seq)

4. 列表處理

#最小值

min([1,2,3,4,])

#最大值

max([1,2,3,4,])

#求和sum([1,2,3,4,])

#可迭代物件中全部是true, 結果才是true

all([1,2,3,4,])

#可迭代物件中有乙個是true, 結果就是true

any([1,2,3,4,])

#對可迭代物件進行排序操作sorted(iterable, cmp=none, key=none, reverse=false)

sorted([1,2,3,4,])

#獲取集合的列舉物件enumerate(sequence, [start=0])

enumerate([1,2,3,4,])

filter()

map()

reduce()

zip()

5. 數**算

#方法返回 x的y次方 的值

pow(x, y)

#將給的引數轉換成八進位制

oct(123)

#將給的引數轉換成十六進製制

hex(123)

#返回傳遞值的二進位制

bin(123)

#返回絕對值

abs(-123)

#返回浮點數x的四捨五入值, 其實也不一定是四捨五入, python版本不一樣貌似是有差別

round( x [, n])

6. 物件操作

hash()

vars()

getattr()

type()

issubclass()

hasattr()

len()

delattr()

repr()

#獲取到物件的記憶體位址

id()

#返回給定引數的記憶體檢視物件

#memoryview(obj)

#設定屬性值,該屬性不一定是存在的

setattr(object, name, value)

# 判斷物件型別isinstance(object, class)

isinstance()

#檢查乙個物件是否是可呼叫的

#callable(obj)

>>>v = memoryview("abcefg")

>>> v[1]

"b">>> v[-1]

"g">>> v[1:4]

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

"bce"

7. 幫助

#函式用於檢視函式或模組用途的詳細說明

help()

#檢視物件的內建屬性, 訪問的是物件中的__dir__()方法

dir()

#函式會以字典型別返回當前位置的全部全域性變數

globals()

#函式會以字典型別返回當前位置的全部區域性變數

locals()

8. 其他

#函式用於動態載入類和函式

#__import__(name[, globals[, locals[, fromlist[, level]]]])

返回乙個空物件, 不能向這個物件新增新的屬性或方法, 物件是所有類的基礎,它擁有所有類預設的內建屬性和方法

object()

#返回函式的靜態方法, 一般用在 @staticmethod 裝飾器裝飾

staticmethod(func)

#返回函式的類方法, 一般用在 @classmethod 裝飾器裝飾

classmethod(func)

#新式類中返回屬性值, 一般用在 @property 裝飾器裝飾

#property([fget[, fset[, fdel[, doc]]]])

#fget -- 獲取屬性值的函式

#fset -- 設定屬性值的函式

#fdel -- 刪除屬性值函式

#doc -- 屬性描述資訊

# 獲取使用者輸出的內容

input()

#迭代器向下執行一次, 內部實際使⽤用了__next__()⽅方法返回迭代器的下乙個專案

next()

# 呼叫父類

super()

#方法返回乙個新位元組陣列。這個陣列裡的元素是可變的,並且每個元素的值範圍: 0 <= x < 256

#bytearray([source[, encoding[, errors]]])

#如果 source 為整數,則返回乙個長度為 source 的初始化陣列;

#如果 source 為字串,則按照指定的 encoding 將字串轉換為位元組序列;

#如果 source 為可迭代型別,則元素必須為[0 ,255] 中的整數;

#如果 source 為與 buffer 介面一致的物件,則此物件也可以被用於初始化 bytearray。

#如果沒有輸入任何引數,預設就是初始化陣列為0個元素。

bytearray()

#函式返回乙個新的 bytes 物件,該物件是乙個 0 <= x < 256 區間內的整數不可變序列。它是 bytearray 的不可變版本

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

bytes()

#用於開啟乙個檔案, 建立乙個檔案控制代碼

#open(name[, mode[, buffering]])

open()

# 輸出

print(123)

Python內建函式property 使用例項

class shuxing def init self,size 10 self.size size def getsize self print getsize return self.size def setsize self,value print setsize self.size valu...

python重寫內建函式 python 內建函式

說明 zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 號操作符,可以將元組解壓為列表。語法 zip iterable1,iterable2,引數 iterable 乙個或多...

python內建函式簡稱 Python內建函式詳解

此文參考python文件,然後結合自己的理解,寫下來,一方面方便自己,讓自己好好學習,順便回憶回憶 另一方面,讓喜歡的盆友也參考一下。經查詢,3.6版本總共有68個內建函式,主要分類如下 數 算 7個 型別轉換 24個 序列操作 8個 物件操作 9個 反射操作 8個 變數操作 2個 互動操作 2個 ...