globals() 獲取全局變量的字典緩存
locals() 獲取執行本方法的所在的命名空間內的局部變量的字典函數
1.1其餘:eval() exec() compile() 瞭解,慎用編碼
eval() 將字符串類型的代碼執行並有返回值spa
exec() 將字符串類型代碼執行無返回值3d
compile() 將字符串類型的代碼編譯。代碼對象能經過exec語句來執行或者eval()進行求值 code
print(eval("1+2")) #3 print(exec("1+2")) #None print(exec("print('1+2')")) #1+2 None
input() 輸入orm
s = input("請輸入內容") #輸入的內容賦值給s print(s) #輸入什麼打印什麼,類型爲str
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: 當即把內容輸出到流文件,不做緩存 """ print源碼剖析
f = open("tmp_file","w") print(123,234,345,sep=",",file=f) 將123,234,345,以逗號隔開,寫入文件tmp_file文件中
id(o) o是參數,返回一個變量的內存地址blog
hash(o) o是參數,返回一個可hash變量的哈希值,不可hash的變量被hash以後會報錯。排序
open() 打開一個文件,返回一個文件操做符(文件句柄)
操做文件的模式有r,w,a,r+,w+,a+共6種,每一種方式均可以用二進制的形式操做(rb,wb,ab,rb+,wb+,ab+) 能夠用encoding指定編碼
__import__導入一個模塊
import time
若是o是一個函數名,就會返回True
def func():pass print(callable(func)) #True #參數爲函數名 print(callable(123)) #False #數字不能調用
dir() 返回一個列表,默認查看全局空間內的屬性,也接受一個參數,查看這個參數內的方法或變量
數據類型相關:bool,int,float,complex
進制轉換相關:bin(十轉二)oct(十轉八),hex(十轉十六)
數學運算:abs(絕對值),divmod(返回(除,餘)),min(最小),max(最大),sum(求和),round(小數精確),pow(冪運算)
round() 保留浮點數的小數位數,默認保留整數
divmod(除數,被除數):計算除數與被除數的結果,返回一個包含商和餘數的元組
pow() 求某個數的幾回方
print(abs(-5) ) #5 print(divmod(12,5)) #(2,2) 商爲2,餘數爲2 print(round(7*3.235,2)) #22.64 #(保留倆位小數 print(pow(3,2)) #9 #3的2次方
min(可迭代 對象,key)返回可迭代對象的最小值
max(可迭代對象,key)返回可迭代對象的最大值,能夠經過自定義函數規則來進行
slice() 構造一個切片模板,用於對許多列表進行相同的切片
li = ['a','b','c','d','e','f','g'] sli_obj = slice(3) print(li[sli_obj])
str 將數據類型轉換成字符串類型
format 與具體數據相關,用於計算各類小數
bytes 用於不一樣編碼之間的轉化,只能單向轉化
repr 返回一個對象的string的形式(原形畢露)
b = "123" print(b) #123 print(repr(b)) #'123'
len() 返回一個對象中元素的個數
sorted: 對全部可迭代的對象進行排序操做
l1 = [("c",20),("b",50),("a",10)] l2 = sorted(l1,key=lambda x:x[1]) print(l2) #[('a', 10), ('c', 20), ('b', 50)]
enumerate:枚舉,返回一個枚舉對象
all:可迭代對象中,全是True才返回True (用於判斷可迭代對象中是否有空的字符,列表)
any:可迭代對象中,有一個True就返回True
l1 = [1,2,3,5,6,7] tu1 = ('alex','太白', 'wusir', '女神') dic = {'name': '日天', 'age':28, 'hobby': 'tea', 'weight':100} l2 = zip(l1,tu1,dic) for i in l2: print(i) #(1, 'alex', 'name') (2, '太白', 'age') (3, 'wusir', 'hobby') (5, '女神', 'weight')
l1 = list((i for i in range(10) if i%2==0)) print(l1) #[0, 2, 4, 6, 8] def func1(x): return x % 2 == 0 print(list(filter(func1,l1))) #轉換成列表的形式[0, 2, 4, 6, 8] #filter 生成的是迭代器
l1 = [1,2,3,4] print(list((i**2 for i in l1)) ) # [1, 4, 9, 16] def func(x): return x**2 print(list(map(func,l1))) #[1, 4, 9, 16]
對於簡單的函數進行縮寫,有且只有返回值得函數才能夠進用匿名函數進行簡化,又稱一行函數