迭代器.__next__(
)next
(迭代器)
迭代器 =
iter
(可迭代的)
迭代器 = 可迭代的.__iter__(
)range(10
)range(1
,11)print
("__next__"
in dic(
range(1
,11,2
))
特點:
1.1. 節省記憶體空間
1.2. 逐個取值,乙個迭代器只能取一次
生成器含有yield關鍵字的函式都是生成器函式
生成器函式的特點:
1.1.呼叫之後函式內的**不執行,返回生成器
1.2.沒從生成器中取乙個值就會執行一段**,遇見yield就停止
從生成器中取值
print
(globals()
)#返回全域性作用域中的所有的名字
print
(locals()
)#返回本地作用域中的所有名字
print
(dir
(list
)#檢視列表的內建方法
print
(dir
(int))
#檢視整數的內建方法
id(o) o 是引數,返回乙個變數的記憶體位址
hash(o) o是引數,返回乙個可雜湊變數的雜湊值,不可雜湊變數會報錯
t =(1
,2,3
)l =[1
,2,3
]print
(hash
(t)#可雜湊
print
(hash
(l))
#報錯
hash()函式會根據乙個內部的演算法對當前可雜湊變數進行處理,返回乙個int數字
每一次執行程式,內容相同的變數雜湊值在這一次執行過程中不會發生改變
open() 開啟乙個檔案,返回乙個檔案操作符
import 匯入乙個模組
import os
help(o) o 是變數,檢視和變數o相關的操作
callable(o) o 是引數,看這個變數是否可以呼叫。如果o是乙個函式名,返回true
def
func()
:pass
print
(callable
(func)
)#引數是函式名,可呼叫,返回true
print
(callable
(123))
#引數是數字,不可呼叫,返回false
type(o) 返回變數o的資料型別
input() 輸入函式
s =
input
("請輸入內容:"
)#輸入的內容賦給變數s
print
(s)#輸出所輸入的內容。資料型別是string
print() 輸出函式
def
print
(self,
*args, sep=
' ', end=
'\n'
,file
=none):
# known special case of print
""" print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=false)
file: 預設是輸出到螢幕,如果設定為檔案控制代碼,輸出到檔案
sep: 列印多個值之間的分隔符,預設為空格
end: 每一次列印的結尾,預設為換行符
flush: 立即把內容輸出到流檔案,不作快取
"""
字串相關
exec
('print(123)'
)eval
('print(123)'
)print
(eval
('1+2+3+4'))
# 有返回值
print
(exec
('1+2+3+4'))
#沒有返回值
exec和eval都可以執行 字串型別的**
eval有返回值 —— 有結果的簡單計算
exec沒有返回值 —— 簡單流程控制
eval只能用在你明確知道你要執行的**是什麼
code =
'''for i in range(10):
print(i*'*')
'''exec
(code)
code1 =
'for i in range(0,10): print (i)'
compile1 =
compile
(code1,'',
'exec'
)exec
(compile1)
code2 =
'1 + 2 + 3 + 4'
compile2 =
compile
(code2,'',
'eval'
)print
(eval
(compile2)
)code3 =
'name = input("please input your name:")'
compile3 =
compile
(code3,'',
'single'
)exec
(compile3)
#執行時顯示互動命令,提示輸入
print
(name)
name #執行後name變數有值
"'pythoner'"
數字相關
數字——資料型別相關:bool,int,float,complex
數字——進製轉換相關:bin,oct,hex
數字——數**算:abs,divmod,min,max,sum,round,pow
進製轉換相關:bin,oct,hex
print
(bin(10
))print
(oct(10
))print
(hex(10
))數**算:abs絕對值,divmod除餘,min最小,max最大,sum求和,round,pow冪運算
print
(abs(-
5))print
(abs(5
))print
(divmod(7
,2))
# div除法 mod取餘
print
(divmod(9
,5))
# 除餘
print
(round
(3.14159,3
))print
(pow(2
,3))
#pow冪運算 == 2**3
print
(pow(3
,2))
print
(pow(2
,3,3
))#冪運算之後再取餘
print
(pow(3
,2,1
))ret =
sum([1
,2,3
,4,5
,6])
print
(ret)
ret =
sum([1
,2,3
,4,5
,6,10
],)print
(ret)
print
(min([
1,2,
3,4]
))print
(min(1
,2,3
,4))
print
(min(1
,2,3
,-4)
)print
(min(1
,2,3
,-4,key =
abs)
)print
(max([
1,2,
3,4]
))print
(max(1
,2,3
,4))
print
(max(1
,2,3
,-4)
)print
(max(1
,2,3
,-4,key =
abs)
)
學習python的內建函式
在python中有很多內建函式,當然隨著學習的深入,你也可以學會建立對自己有用的函式。簡單的理解下函式的概念,就是你編寫了一些語句,為了方便使用這些語句,把這些語句組合在一起,給它起乙個名字。使用的時候只要呼叫這個名字,就可以實現語句組的功能了。bool intfloat complex 複數 co...
python學習2 內建函式
最近學習了python的一些內建函式,有一些我想記住的函式,將它們寫在這裡方便我再次記憶 進製轉換的函式 整數轉二進位制 bin x 整數轉八進位制 ord x 整數轉十六進製制 hex x 單個字元與unicode編碼轉換的函式 字元轉unicode ord x unicode轉字元 chr x ...
Python學習之路 內建函式
print all 0,15,3 all全部都是可迭代的元素時返回true print all 1,15,3 print any 1,15,3 any任意乙個是可迭代的元素時返回true print any print ascii 1,2,開掛 轉換成ascii碼 a ascii 1,2,開掛 pr...