做用域相關
globals() :返回一個字典:包含所有的全局變量。
locals() : 返回一個字典:包含的是當前做用域 全部的變量。
# b = 2 # def func1(): # a = 1 # print(locals()) # print(globals()) # func1()
1.2.1 字符串類型代碼的執行 eval,exec,complie
eval: 執行字符串類型的代碼,並返回最終結果
# s1 = '1+2+3' # # print(s1) # # s2 = "{'name':'alex'}" # # print(eval(s1),type(eval(s1))) # # print(eval(s2),type(eval(s2)))
exec 執行字符串類型的代碼,不返回結果 代碼流
# s3 = '''for i in range(3): # print(i) # ''' # # print(exec(s1)) # exec(s3)
輸入輸出相關 input,print
input:函數接受一個標準輸入數據,返回爲 string 類型
# print('666') # print(1,2,3,4) # print(*[1,2,3]) # def func1(*args,**kwargs): # 函數的定義:*聚合。 # print(*args) # (*(1,2,3,4))函數的執行: * 打散 print(1,2,3,4) # print(**kwargs) # print(name='alex',age=1000) # print(kwargs) # func1(1,2,3,4,name='alex',age=1000) # print(1,2,3,sep='|') # sep 打印多個內容是分隔符默認是空格 # print(1,end=' ') # end:默認換行 # print(222) # f = open('t1',encoding='utf-8',mode='w') # print(666,'777','888',file=f)
內存相關 hash id
hash:獲取一個對象(可哈希對象:int,str,Bool,tuple)的哈希值。
id:獲取該對象的內存地址。
# hash() # 字典:會將你的全部的key 在內存中轉化成id # dic = {'name':'alex','kfdshjfhdskjfhsd': '123'} # print(hash('name')) # print(hash('name1')) # print(hash('fdsmkfghsdlksld')) # print(hash(1)) # print(hash(100)) # print(hash(100000000000)) # print(hash([1,2,3]))
文件操做相關
open:函數用於打開一個文件,建立一個 file 對象,相關的方法才能夠調用它進行讀寫
模塊相關__import__
__import__:函數用於動態加載類和函數 。
1.2.5幫助
help:函數用於查看函數或模塊用途的詳細說明。
name = 'alex'
print(help(str))
1.2.6調用相關
callable:函數用於檢查一個對象是不是可調用的。若是返回True,object仍然可能調用失敗;
但若是返回False,調用對象ojbect絕對不會成功
# name = 'alex' # # def func1(): # pass # print(callable(name)) # False # print(callable(func1)) # True # 能夠被調用
查看內置屬性
dir:函數不帶參數時,返回當前範圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。
# 若是參數包含方法__dir__(),該方法將被調用。若是參數不包含__dir__(),該方法將最大限度地收集參數信息。
name = 'alex' # print(dir(name))
range:函數可建立一個整數對象,通常用在 for 循環中。
python2x: range(3) ---> [0,1,2] 列表
xrange(3) ---> 迭代器。
python3x: range(3) ---> range(0,3) 可迭代對象
next:內部實際使用了__next__方法,返回迭代器的下一個項目。
iter:函數用來生成迭代器(講一個可迭代對象,生成迭代器)。
數據類型(4):
# bool :用於將給定參數轉換爲布爾類型,若是沒有參數,返回False。 ***
# print(bool(1 < 2 and 3 > 4 or 5 < 6 and 9 > 2 or 3 > 1))
# print(bool('fdsjkfl'))
# int:函數用於將一個字符串或數字轉換爲整型。***
# print(int('123'))
# print(int(3.74)) # 取整 不是四捨五入
# print(int('0101',base=2)) # 將2進制的 0100 轉化成十進制。結果爲 4
# float:函數用於將整數和字符串轉換成浮點數。 ***
# print(type(3.14))
# complex:函數用於建立一個值爲real + imag * j的複數或者轉化一個字符串或數爲複數。
# 若是第一個參數爲字符串,則不須要指定第二個參數。。
# 進制轉換(3):
#
# bin:將十進制轉換成二進制並返回。
# print(bin(100)) # 0b1100100
# # oct:將十進制轉化成八進制字符串並返回。
# # print(oct(7)) # 0o7
# # print(oct(8)) # 0o10
# # print(oct(9)) # 0o10
# # hex:將十進制轉化成十六進制字符串並返回。
# print(hex(10)) # 0xa
# print(hex(15)) # 0xf
# print(hex(17)) # 0xf
# 數學運算(7):
abs:函數返回數字的絕對值。 ****
# print(abs(-100))
# #
# # divmod:計算除數與被除數的結果,返回一個包含商和餘數的元組(a // b, a % b)。 ****
# print(divmod(12,7)) # (1, 5) (商,餘數)
# # 分頁。
# # 103 條數據,你每頁顯示12 條數據,你最終顯示多少頁。
# print(divmod(103,12))
# round:保留浮點數的小數位數,默認保留整數,四捨五入。 ***
# print(round(3.141592653,4))
#
# pow:求x**y次冪。(三個參數爲x**y的結果對z取餘) **
# print(pow(2,5))
# print(pow(2,5,12))
# sum:對可迭代對象進行求和計算(可設置初始值)
#sum(iterable,start_num) # print(sum([1,2,3,4,100,101])) # print(sum([1,2,3,4,100,101],100)) # print(sum([int(i) for i in [1,'2',3,'4','100',101]]))
min:返回可迭代對象的最小值(可加key,key爲函數名,經過函數的規則,返回最小值)。
# print(min([1,-2,3,4,100,101])) # print(min([1,-2,3,4,100,101])) # print(min([1,-2,3,4,100,101],key=abs)) # [('alex',1000),('太白',18),('wusir',500)]
# 求出年齡最小的那個元組
# ls = [('alex',1000),('太白',18),('wusir',500)] # min1 = min([i[1] for i in ls]) # for i in ls: # if i[1]==min1: # print(i) # def func(x): # return x[1] # 1000 18 500 # print(min([('alex',1000),('太白',18),('wusir',500)],key=func))
注意:python
# # 1,他會將iterable的每個元素當作函數的參數傳進去。
# 2,他會按照返回值去比較大小。
# 3,返回的是 遍歷的元素 x.
# dic = {'a':3,'b':2,'c':1} # def func1(x): # return dic[x] # print(min(dic,key=func1)) # def func2(x): # return x[1] # print(min(dic.items(),key=func2))
max:返回可迭代對象的最大值(可加key,key爲函數名,經過函數的規則,返回最大值)。 *****# print(max([1,2,3,100]))