一、set無序,不重複序列python
二、建立json
1 se = {11,22,33,33,44} 2 list() #只要是一個類加上()自動執行 list __init__ 3 list = [11,22] 4 5 s1 = set(list) 6 print(s1) 7 8 #建立集合 9 s1 = {11,22} 10 s2 = set('可循環的') 11 12 #操做集合 13 s = set() 14 print(s) 15 s.add(123)#可追加不可重複 16 s.add(123) 17 s.clear() 18 print(s)
三、功能app
1 #取不一樣都元素 2 s1 = {11,22,33} 3 s2 = {22,33,44} 4 s1.difference(s2) #s1中存在s2中不存在的11 5 s2.difference(s1) #s2中存在s1中不存在的44 6 s3 = s1.symmetric_difference(s2)#取s1,s2不一樣的值11,44 7 print(s3) 8 s1.difference_update(s2)#把s1中存在s2中不存在的更新到s1 9 s1.symmetric_difference_update(s2)#取s1,s2不一樣的值11,44更新到s1 10 print(s1) 11 12 13 #刪除 14 s1 = {11,22,33} 15 s1.discard(11) #指定移除11,若是沒有移除對象不報錯也不移除 16 s1.remove(1111)#指定移除,若是額沒有移除對象,則報錯 17 ret = s1.pop()#隨機移除,移除內個元素,就把內個元素賦值給ret 18 print(ret) 19 20 #取並集 21 s1 = {'aa'} 22 list = [11,22,33,44] 23 s1.update(list) #加一個迭代的元素,更新到s1,s1的初始值不能爲空 24 print(s1) 25 26 27 s1 = {'aa'} 28 list = [11,22,33,44] 29 s1.update(list) #加一個迭代的元素,更新到s1,s1的初始值不能爲空 30 print(s1)
一、函數結構函數
1 # def f1(): 2 # asdad 3 # adfasad 4 # adsfasdf 5 # 一、def關鍵字,建立函數 6 # 二、函數名 7 # 三、() 8 # 四、函數體 9 #五、返回值
二、函數特性spa
1 def f1(): 2 print(123) 3 return '111' 4 print(456) 5 ret = f1() #下函數中,一旦執行return,函數執行過程當即終止 6 #默認返回值None
三、各類參數指針
1 #一、普通參數(將嚴格按照順序講師級參數賦值給形式參數) 2 #二、默認參數(必須防止在參數列表的最後) 3 #三、指定參數(將實際參數賦值給形式參數) 4 #四、* 默認將傳入的參數所有放在一個元組裏,f1(*li) 5 # ** 默認將傳入的參數所有放在一個字典裏,f1(**dic) 6 7 def send(xxoo,content,xx): #普通參數一一對應 8 print('發送成功',xxoo,content,xx) 9 return True 10 while True: 11 em = input('輸入郵箱') 12 result = send(em,'SB','ok') 13 if result == True: 14 print('成功') 15 else: 16 print('失敗') 17 18 19 def send(xxoo,content,xx='ok'): #默認參數,能夠輸入兩個,則xx等於ok,輸入三個則xx等於輸入值 20 print('發送成功',xxoo,content,xx) #若是給某個參數設置爲默認參數,那麼這個參數必須放在最後 21 return True 22 send('name','zk') 23 24 def send(xxoo,content): #指定參數 25 print(xxoo,content) 26 return True 27 send(content='123',xxoo='abc') 28 29 30 def f1(*args): #動態參數* 31 print(args) 32 f1(11,22,33,44) #參數放在一個元組中 33 34 li = [11,22,33,44] 35 f1(li) #把列表做爲一個元素 36 f1(*li) #把列表裏的每個元組做爲元組裏的一個元素 37 38 39 def f1(**args): #動態參數** 40 print(args) 41 f1(name='alex') #指定參數放在一個字典中 42 dic={'k1':'v1','k2':'v2'} 43 f1(kk=dic) 44 f1(**dic) #把字典賦值給動態參數
三、格式化輸出code
1 #格式化輸出 2 #str format格式化輸出 3 s1 = "i am {0}, age {1}".format("alex", 18) 4 print(s1) 5 s2 = "i am {0}, age {1}".format(*["alex", 18]) 6 print(s2) 7 8 s1 = "i am {name}, age {age}".format(name='alex', age=18) #前面寫的name後面傳入參數時必須也是name 9 dic={'name':'alex','age':18} 10 s2 = "i am {name}, age {age}".format(**dic) 11 print(s1,'\n',s2)
四、def執行順序orm
1 def f1(a1, a2): 2 return a1 + a2 3 def f1(a1, a2): 4 return a1 * a2 5 ret = f1(8, 8) #從上向下執行 ret=64,第一個f1不生效 6 print(ret)
五、傳參數對象
1 def f1(a1): 2 a1.append(999) 3 li = [11,22,33,44] 4 f1(li) 5 print(li) #li=11,22,33,44,999#強調傳的是引用因此列表會發生改變
六、全局變量blog
1 #全局變量,全部的做用域裏均可讀 2 #***對全局變量進行【從新賦值】,須要global*** 3 NAME = 'zkk' 4 def f1(): 5 age = 18 6 global NAME # 表示,name是全局變量 7 NAME = "123" 8 print(age, NAME) 9 def f2(): 10 age = 19 11 print(age, NAME) 12 f1() 13 f2() 14 print(NAME)
1 if 1 == 1: 2 name = 'alex' 3 else: 4 name = 'SB' 5 print(name) 6 7 name = 'alex' if 1 == 1 else 'sb' #if後面是條件,條件成立執行if前面的,不然執行else後面的 8 print(name) 9 10 def f1(a1): 11 return a1 + 100 12 ret = f1(10) 13 print(ret) 14 f2 = lambda a1: a1 + 100 #f2函數名,a1參數,函數體a1+100,只能一行 15 r2=f2(1) 16 print(r2)
一、打開文件
1 # f = open('db', 'r') # 只讀 2 # f = open('db', 'w') # 只寫,先清空原文件 3 # f = open('db', 'x') # 文件存在,報錯;不存在,建立並只寫 4 # f = open('db', 'a') # 追加 5 6 f = open('db','r',encoding='utf-8') 7 data = f.read() 8 print(data,type(data)) 9 f.close() 10 11 f = open('db','r+',encoding='utf-8') 12 #若是模式無b,則read按照字符讀取 13 data = f.read(1) 14 print(f.tell()) #調整你當前的位置(字節) 15 f.seek(f.tell())#把當前的指針位置向後覆蓋,以字節的方式找 16 f.write('777') 17 f.close()
二、操做文件
1 tell() 獲取當前指針位置(字節) 2 seek(1) 指針跳轉到指定位置(字節) 3 4 f = open('db','a') #強刷刷新 5 f.write('123') 6 f.flush() 7 input('assdafa') 8 9 f = open('db','w') 10 f.readable() 11 print(f.readable()) #查看是否可讀 12 13 14 f = open('db','r+',encoding='utf-8') 15 f.seek(3) 16 f.truncate()#截斷,根據指針位置 17 f.close() 18 19 for循環文件對象 f=open(xxx) 20 for line in f: 21 print(line)
三、關閉文件
1 f.close() 2 with open('xb') as f: 3 pass 4 5 with open('db','r',encoding='utf-8') as f,open('db2','w',encoding='utf-8') as f2: 6 times =0 7 for line in f1: #一邊讀取一邊寫 8 if times <= 10: 9 f2.write(line) 10 else: 11 break 12 13 14 with open('db','r',encoding='utf-8') as f1,open('db2','w',encoding='utf-8') as f2: 15 for line in f1: 16 print(line,type(line)) 17 new_str = line.replace('alex','st') 18 f2.write(new_str)#同時打開兩個文件
1 import json 2 inp_str ='[11,22,33,44]' 3 inp_list=json.loads(inp_str) #字符串轉換成列表 4 print(inp_list) 5 6 inp_str ='{"k1":123, "k2": "wupeiqi"} ' #內部必須是雙引號 7 inp_dic = json.loads(inp_str) # 根據字符串書寫格式,將字符串自動轉換成 字典類型 8 print(inp_dic)
1 # utf-8 一個漢字:三個字節 2 # gbk 一個漢字:二個字節 3 # utf-8 4 # 一個字節8位,一個漢字三個字節 5 6 7 #字節轉化成字符串 8 new_str = str(bytes("李傑", encoding="utf-8"), encoding="utf-8") 9 new_byt=bytes("李傑", encoding="utf-8") 10 new_str2 = str(b'\xe6\x9d\x8e\xe6\x9d\xb0',encoding='utf-8') 11 print(new_str2,new_byt) 12 13 14 a=bytes('李傑',encoding='utf-8') 15 b=bytes('張',encoding='utf-8') 16 print(a,'\n',b)