s = 'cnskcsk' ret = isinstance(s, str) print(ret) #>>>>>>>>>>>>>>> True
def app(args): args.append('333') return args li = [11,22] ret = app(li) print(li) #>>>>>>>>>>> [11, 22, '333']
一旦對形參進行賦值操做,就新開闢一塊內存使args指向這塊新開闢的,而實參不變python
def app(args): args = 'qweqweqwe' return args li = [11,22] ret = app(li) print(li) #>>>>>>>>>>> [11, 22]
# def qu2(args): # r = {} # for key, value in args.items(): # if len(value) > 2: # r[key] = value[0:2] # else: # r[key] = value # return r # # l = {'k1': 'xascaasdx', 'k2': 'cf', 'k3': [11,22,33]} # print(qu2(l)) >>>>>>>>>>>>>>>>>>>>>>>>>>兩種方法 def qu2(args): for key, value in args.items(): if len(value) > 2: args[key] = value[0:2] else: args[key] = value l = {'k1': 'xascaasdx', 'k2': 'cf', 'k3': [11,22,33]} qu2(l) print(l)
簡易的表示函數數組
def f1(a1, a2): return a1 + a2 f2 = lambda a1, a2: a1 + a2 r1 = f1(1, 2) r2 = f2(1, 2) print(r1) print(r2) #>>>>>>>>> 3 3
abs() 取絕對值app
all() 循環參數,若每一個元素都爲True, 返回真dom
any() 循環參數,只要有一個True, 返回True函數
ascii() 去參數對象的類中尋找 __repr__() 方法, 執行獲取返回值ui
bin() 二進制spa
oct() 八進制code
int() 十進制 ret = int('0b1010', base=2) ----> 將二進制轉爲十進制對象
hex() 十六進制blog
bool() 判斷真假,即將參數轉爲布爾值
bytes() 字節
bytearray() 字節數組,每個元素爲字節, 相似 字符串跟列表的關係
chr() 接收一個十進制數,返回對應ASCII碼的字符
ord() 與 chr() 相反,接收一個字符,返回ASCII對應十進制數
import random temp = '' for i in range(4): num = random.randrange(65, 91) #65~90 A~Z ch = chr(num) temp += ch print(temp) #隨機生成四位驗證碼
import random temp = '' for i in range(6): rd = random.randrange(0, 4) if rd == 1 or rd == 3: num1 = random.randrange(0, 10) temp += str(num1) else: num = random.randrange(65, 91) # 65~90 A~Z ch = chr(num) temp += ch print(temp) #隨機生成6位驗證碼
callable() 檢測參數是不是可執行的
compile() 把字符串編譯成可執行代碼,能夠與exec()結合使用
dir() 返回對象所在類裏的全部方法
help() 輸出類的全部詳細信息
divmod() divmod(a, b) 返回a/b的 商 和 餘數 組成的元組,能夠用在 分頁 中
eval() 執行一個字符串格式的表達式
ret = eval('1 + 3 * 2') print(ret) #>>>>>>>>>>> 7
後面能夠帶字典指定字符串中的變量值
ret = eval('a + 10', {'a':23}) #後面帶字典,指定變量的值 print(ret) #>>>>>>>>>>> 33
exec() 執行字符串形式的代碼,沒有返回值
exec('for i in range(10): print(i)') #>>>>>>>>> 0 1 2 3 4 5 6 7 8 9
filter() filter(函數名, 可迭代的對象) 循環取後者的元素,做爲函數的參數,執行。若返回True, 保存該元素
即 過濾出符合條件的元素
def f1(args): if args > 22: return True else: return False ret = filter(f1, [11, 22, 33, 44]) print(ret) for i in ret: print(i) #經過lambda表達式 ret = filter(lambda x: x > 22, [11, 22, 33, 44]) print(ret) for i in ret: print(i) #>>>>>>>>>>> <filter object at 0x00000238C7A7CE48> 33 44 <filter object at 0x00000238C7A7CE80> 33 44
map() 跟filter() 相似,不一樣在於 對每一個元素作統一的處理
def f1(args): return args + 100 ret = map(f1, [11, 22, 33, 44]) print(ret) for i in ret: print(i) #經過lambda表達式 ret = map(lambda x: x + 100, [11, 22, 33, 44]) print(ret) for i in ret: print(i) #>>>>>>>>>>> <map object at 0x000001BF2210CE48> 111 122 133 144 <map object at 0x000001BF2210CE80> 111 122 133 144
def f1(args): if args % 2 == 0: return args + 100 else: return args ret = map(f1, [11, 22, 33, 44]) print(ret) for i in ret: print(i) #經過lambda表達式 ret = map(lambda x: x + 100 if x % 2 == 0 else x, [11, 22, 33, 44]) print(ret) for i in ret: print(i) #>>>>>>>>>>> <map object at 0x000001FF537FCE48> 11 122 33 144 <map object at 0x000001FF537FCE80> 11 122 33 144
locals() 獲取全部局部變量
globals() 獲取全部全局變量
def f1(): n1 = 123 print(locals()) print(globals()) l = [11,22,33] f1() #>>>>>>>>>>>>>>>>>>>>> {'n1': 123} {'__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000001F7B1AEAA58>, 'f1': <function f1 at 0x000001F7B1BB10D0>, '__spec__': None, 'l': [11, 22, 33], '__file__': 'C:/Users/LiuKai/PycharmProjects/Fighting/main/src.py', '__package__': None, '__builtins__': <module 'builtins' (built-in)>, '__doc__': None, '__name__': '__main__', '__cached__': None}
id() 內存地址
hash() 返回其哈希值
iter() 轉爲可迭代的對象,使用next()取值,每執行一次next()取下一個值
max() min() 取最大值 最小值 sum() 求和
pow() 指數運算 pow(2, 10) = 1024
repr() 相似 ascii() , 不過 ascii() 遇到中文會轉義
reversed() 反轉 須要在迭代(for循環)中取出元素
round() 四捨五入
zip() 把對應的元素組成一個元組做爲一個元素
l = [11, 22, 33, 44, 55] m = ['qq', 'ss', 'dd', 'dd'] n = ['@@', '##', '$$', '%%'] r = zip(l, m, n) for i in r: print(i) #>>>>>>>>> (11, 'qq', '@@') (22, 'ss', '##') (33, 'dd', '$$') (44, 'dd', '%%')
__import__() 也是導入模塊,r = __import__(random), 以後再用到時使用 r.randomrange() 至關於起了一個別名
對數字來講,從小到大
對字符串來講, 先數字,後字母字符,最後漢字
l = [ '你好','11', 'yadlan', '1324', '23', '546', 'rruhvd', 'Ancskdna', 'Av s,', '好啊'] r = sorted(l) print(r) for i in r: print(bytes(i, encoding = 'utf-8')) #>>>>>>>>>>>> ['11', '1324', '23', '546', 'Ancskdna', 'Av s,', 'rruhvd', 'yadlan', '你好', '好啊'] b'11' b'1324' b'23' b'546' b'Ancskdna' b'Av s,' b'rruhvd' b'yadlan' b'\xe4\xbd\xa0\xe5\xa5\xbd' b'\xe5\xa5\xbd\xe5\x95\x8a'