今天主要內容:
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)(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))) # 0xadivmod:計算除數與被除數的結果,返回乙個包含商和餘數的元組(a // b, a % b)。abs :函式返回數字的絕對值。
round:保留浮點數的小數字數,預設保留整數。關於round取兩位數不準確的問題,可以使用
類似下面格式化的輸出
float('%.2f' % b)或者
from decimal import decimalpow:求x**y次冪。(三個引數為x**y的結果對z取餘)s = decimal('5.000').quantize(decimal('0.00'))
print(s)
示例:
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)]
(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最後返回的是列表
(f)"""
執行結果如下:
['1', '3', '4', '5', '6', '7']
"""
enumerate:列舉,返回乙個列舉物件。這個主要是返回元組,元組的內容是序號和迭代內容組成.
for i in enumerate([1,2,3],100): #這個用法值得注意,是在序號基礎上再加後面的初始值
(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)
(p)for i in
p:
(i)"""
執行結果如下:
('a', 'a')
('b', 'b')
('c', 'c')
"""
filter:過濾·。
filter 過濾 通過你的函式,過濾乙個可迭代物件,返回的是true示例:
s = filter(lambda x:x == 2,[1,2,3])for i in
s :
(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...