python內建函式

2022-06-25 10:06:13 字數 4633 閱讀 8717

今天主要內容:

1.昨日補充

2.內建函式

3.匿名函式

1.關於生成器如何產生值,有三種方法,

1)生成器調.__next__()

2)用for迴圈

3)用list(ge)

2.內建函式

2.1 迭代器生成器相關

range() 函式可建立乙個整數物件,一般用在for 迴圈中

next :內部實際使用了__next__方法,返回迭代器的下乙個專案

iter():函式用來生成迭代器

2.2基礎型別相關

bool: 用於將給定引數轉換為布林型別,如果沒有引數,返回 false。

int: 函式用於將乙個字串或數字轉換為整型(這裡注意如果是轉換字元型的話,那麼是把後面小數點去掉)

示例:

f = 1.25i =int(f)

print

(i)"""

執行結果是

1"""

float:函式用於將整數和字串轉換成浮點數。

進製轉換(3):

bin:將十進位制轉換成二進位制並返回。

oct:將十進位制轉化成八進位制字串並返回。

hex:將十進位制轉化成十六進製制字串並返回。

print(bin(10),type(bin(10)))  # 0b1010 print(oct(10),type(oct(10)))  # 0o12 print(hex(10),type(hex(10)))  # 0xa 

abs :函式返回數字的絕對值。

divmod:計算除數與被除數的結果,返回乙個包含商和餘數的元組(a // b, a % b)。

round:保留浮點數的小數字數,預設保留整數。關於round取兩位數不準確的問題,可以使用

類似下面格式化的輸出

float('%.2f' % b)

或者

from decimal import decimal

s = decimal('5.000').quantize(decimal('0.00'))

print(s)

pow:求x**y次冪。(三個引數為x**y的結果對z取餘)

示例:

tu = divmod(10,3)

print(tu) #

#這個函式是求兩個引數的除數和餘數

f = 4.3567

print(round(f,2))#

##這裡是取小數點後兩位,注意round的問題

print(pow(2,3)) #

求2的3的min

sum :對可迭代對像進行求各計算(可設定初始值)

max:返回可迭代對像的最大值

min:返回可迭代對像的最值

sum 這裡要注意的是,可以傳入初始值,比如sum(lst,100) 這裡要表示的是lst列表裡面的值相加後,再加100.

max 和min要注意的是可以傳入key值,這個key值可以接授函式賦值,當傳入的是函式時max或者min會迭代這個可迭代對像,然後對每乙個獲取的迭代值傳入函式,獲取返回值,然後對比返回值,獲取最大值,然後返回給當時的key.

示例:

f = [1,2,3]

print(sum(f,1000))

lst = [(1,20),(30,2),(20,100)]

print

(max(f))

print(max(lst,key=lambda x:x[1]))

2.3和資料結構相關

list:將乙個可迭代物件轉化成列表(如果是字典,預設將key作為列表的元素)。

tuple:將乙個可迭代物件轉化成元祖(如果是字典,預設將key作為元祖的元素)。

reversed:將乙個序列翻轉,並返回此翻轉序列的迭代器注意這裡返回的是迭代器

slice:構造乙個切片物件,用於列表的切片。

示例:

lst = [1,4,90,70,101]

for i in

reversed(lst):

print(i)

lst = [1,4,90,70,101]

# for i in reversed(lst):

# print(i)

s_ob= slice(1,4)

print(lst[s_ob])

str:將資料轉化成字串

format:與具體資料相關,用於計算各種小數,精算等。

bytes:用於不同編碼之間的轉化。注意這裡只能由unicode轉為utf-8,不能由utf-8轉為unicode

示例:

s = "

abc中國

"s1 = bytes(s,encoding="

utf-8")

print(s1)

ord:輸入字元找該字元編碼的位置

chr:輸入位置數字找出其對應的字元

ascii:是ascii碼中的返回該值,不是就返回/u...

repr:返回乙個物件的string形式(原形畢露)。

這個是能顯示字串的雙引號,

如下示例:

#

%r 原封不動的寫出來

#name = 'taibai'

#print('我叫%r'%name)

#repr 原形畢露

#print(repr(''))

#print('')

name = '

taibai

'

資料集合(3)

dict:建立乙個字典。

set:建立乙個集合。

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

相關內建函式(8)

len:返回乙個物件中元素的個數。

sorted:對所有可迭代的物件進行排序操作。

s = "

136745

"f = sorted(s) #

sorted最後返回的是列表

print

(f)"""

執行結果如下:

['1', '3', '4', '5', '6', '7']

"""

enumerate:列舉,返回乙個列舉物件。這個主要是返回元組,元組的內容是序號和迭代內容組成.

for i in enumerate([1,2,3],100):   #

這個用法值得注意,是在序號基礎上再加後面的初始值

print

(i)"""

執行結果如下:

(100, 1)

(101, 2)

(102, 3)

"""

all:可迭代物件中,全都是true才是true

any:可迭代物件中,有乙個true 就是true

示例如下:

print(all([1,"

33",6]))

print(any([3,'',"

dd"]))

zip  函式用於將可迭代的對像作為引數.將對像中對應元素打包成乙個個元組.然後返回由這些元組組成的列表.如果各個迭代器的元素個數不一致,則返回列表長度與最短的對像相同

l = [1,2,3]

f = ["

a","

b","c"

]p =zip(f,f)

print

(p)for i in

p:

print

(i)"""

執行結果如下:

('a', 'a')

('b', 'b')

('c', 'c')

"""

filter:過濾·。

filter 過濾 通過你的函式,過濾乙個可迭代物件,返回的是true

示例:

s = filter(lambda x:x == 2,[1,2,3])

for i in

s :

print

(i)"""

執行結果是2

"""

map:會根據提供的函式對指定序列做對映。

這個類似於列表表示式的迴圈模式,

示例如下:

f = map(lambda x:x**2,[1,2,3])

for i in

f :

print(i)

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

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

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

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

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

eval函式執行python表示式,有返回值 eval 1 2 3 4 5 exec函式執行的是python語句,沒有返回值 exec print 123 將字串型別的 編碼.物件能夠通過exec語句來執行或者eval 進行求值,c只是編譯,不執行 code for i in range 10 pr...