串列
# list.append():在末尾追加新的元素值 list1 = [1, 2, 3, 4] list1.append(5) print(list1) # list.extend():在末尾追加另一個串列 list2 = [1, 2, 3, 4] list2.extend([5, 6, 7]) print(list2) # list.insert():在下標處添加一個元素,不覆寫原資料,原資料順延 list3 = [1, 2, 3, 4] list3.insert(2, 5) print(list3) # list.pop():移除串列中指定下標處的元素(默認移除最后一個元素),并回傳洗掉的資料 list4 = [1, 2, 3, 4, 5] print(list4.pop(4)) print(list4) # list.remove():移除串列中的某個元素第一個匹配的結果 list5 = [1, 2, 3, 4, 5] list5.remove(5) print(list5) # list.clear():清除串列中所有資料 list6 = [1, 2, 3, 4] list6.clear() print(list6) # list.index():從串列中找出第一個匹配的索引值 list7 = [1, 2, 3, 4] print(list7.index(4, 2, 4)) # len(list):串列中元素個數 list8 = [1, 2, 3, 4, 5] print(len(list8)) # max(list):獲取串列中的最大值 list9 = [1, 2, 3, 4] print(max(list9)) # min(list):獲取串列中的最小值 list10 = [1, 2, 3, 4] print(min(list10)) # list.count():查看元素出現的次數 list11 = [1, 2, 3, 3, 3] list11_1 = list11.count(3) print(list11_1) sum = 0 # 洗掉重復的元素 while sum < list11_1: list11.remove(3) sum += 1 print(list11) # list.revers():串列反轉 list12 = [1, 2, 3, 4] list12.reverse() print(list12) # list.sort():順序排列 list13 = [4, 3, 2, 1] list13.sort() print(list13)
元組
# tuple():元組用 () 表示,元組不可變, 元組里包含串列或其他集合里面的值可以變 # tuple[]:根據下標取值 tuple1 = ('a', 'b', 'c', 'd') print(tuple1[0]) # tuple[][]:二維元組取值 tuple2 = (('a', 'b', 'c', 'd'), (1, 2, 3, 4)) print(tuple2[0][1]) # max(tuple) min(tuple):取元組最大值和最小值 tuple3 = (1, 2, 3, 4) print(max(tuple3)) print(min(tuple3)) # value in tupel:元組是否包含指定值 tuple4 = ('a', 'b', 'c', 'd') print('a' in tuple4)
集合
# set:集合,無序和無重復的集合 # 創建set需要有一個list或者tuple或者dict作為輸出集合 s1 = set([1, 2, 3, 4]) # 可以添加重復的,但不會生效 s1.add(2) print(s1) # set的元素不能是串列,因為串列是可變的 # s1.add([5, 6, 7, 8]) print(s1) # set的元素不能是字典,因為字典是可變的 # s1.add({1:'a'}) print(s1) # set.update():插入整個list、tuple、字串,打碎插入 s2 = set([1, 2, 3, 4]) s2.update([5, 6, 7, 8]) print(s2) s2.update(['a', 'b', 'c']) print(s2) s2.update({'d':'d'}) print(s2) s2.update('zhg') print(s2) # set.remove():洗掉set元素,遍歷洗掉 s3 = set([1, 2, 3, 4]) for i in s3: print(i) # set沒有索引 # set交集 s4 = set([1, 2, 3, 4]) s5 = set([1, 2,]) a1 = s4 & s5 print(a1) # set并集 a2 = s4 | s5 print(a2)
字典
# 注意:字典是無序的 # dict[key]:訪問value dict1 = {1:'a', 2:'b', 3:'c'} print(dict1[1]) # dict.get[key]:訪問value print(dict1.get(1)) # for key in dict:遍歷key for key in dict1: print(key) # for value in dict.values:遍歷value for value in dict1.values(): print(value) # for key, value in dict.items():遍歷key和value for key, value in dict1.items(): print(key, value) # for key, value in enumerate(dict):遍歷key和value for key, value in enumerate(dict1): print(key, value) # dict和list比較:
# dict: # 1.查找和插入速度極快,不會隨著key-value的增加和變慢 # 2.需要占用大量的記憶體,記憶體浪費多 # list: # 1.查找和插入的速度會隨著資料量的增多而減慢 # 2.占用空間小,浪費記憶體少
字串
#字串切割 # split(str='', num) # 以str為分隔符截取字串,指定num,則僅截取num個字串 str1 = 'mi++++ka++++++sa' str2 = str1.split('+', 2) print(str2) num = 0 for i in str2: if len(i) > 0: num+=1 print(num) # splitlines(keepends),按照 /r /n 分隔 # keepends==Ture:保留換行符,默認為flase,不保留 str3 = '''ssssss sssss aaaaa''' print(str3.splitlines(True)) # 字串組合 # ''.join(seq):以指定的字串將seq組合成字串 list1 = ['m', 'i', 'k', 'a', 's'] str4 = ','.join(list1) print(str4) # max() min():以編碼比較大小 str5 = 'mikasa' print(max(str5)) print(min(str5)) # replace(oldstr,newstr,count):替換掉字串中指定字符 # 用newstr替換掉oldstr,默認是全部替換,如果指定了count,只替換前count個 str6 = 'mikasa asa asa' str7 = str6.replace('asa', 'san', 1) print(str7) # 創建一個字串映射表, a 對應 6, c 對應 5 str8 = str.maketrans('ac', '67') str9 = 'name, aaaa, cccc' str10 = str9.translate(str8) print(str10) # str.startswith():判斷字串是否以指定指定字符開頭,是回傳True,否回傳false str10 = 'mikasa' print(str10.startswith('z')) # str.encode(encoding='utf-8', errors='strict'):編碼, str11 = 'mikqwewqeqrtreyrturtu' print(str11.encode('utf-8')) # str.decode():解碼 注意:解碼時要與編碼時的格式一致 str12 = str11.encode('utf-8') print(str12.decode('gbk', 'ignore')) # ignore:忽略錯誤 # str.isalpha():如果字串中至少有一個字符且所有字符都是字母,回傳True,否者回傳False str13 = 'mikasa' print(str13.isalpha()) # str.isalnum():如果字符中至少有一個字符,且所有的字符都是字母或者數字回傳True,否則回傳False str14 = 'mikasa' print(str14.isalnum()) # str.isupper():如果字串中至少有一個英文字符且所有的英文字符都是大寫回傳True,否則回傳False # 注意:只看英文字符是否全為大寫,不看其他字符 print('MIK123'.isupper()) # str.lower():如果字串中至少有一個英文字符且所有英文字符都是小寫回傳True,否則回傳False print('mik123'.islower()) # str.digit():如果字串中只包含數字回傳True,否則回傳False print('123'.isdigit()) # str.number():如果字串中只包含數字回傳True,否則回傳False print('123'.isnumeric()) # str.decimal():如果字串中只包含十進制字符回傳True,否則回傳False print('14'.isdecimal()) # str.isspace():如果字串中只包含空格則回傳True,否則回傳False print(' '.isspace()) print('\n'.isspace()) print('\t'.isspace()) print('\r'.isspace())
# str.ljust:左對齊,自動補足 str1 = 'mik' print(str1.ljust(40, '*')) # str.rjust:右對齊,自動補足 str2 = 'mik' print(str2.rjust(40, '*')) # str.count:回傳字串中指定字符出現的次數,默認從頭到尾 str3 = 'mik mik mik' print(str3.count('mik')) # str.count(str, start=0, end=(str)):從指定范圍回傳指定字串出現的次數 print(str3.count('mik', 3, len(str3))) # str.find(str):從左到右檢查str字串中是否包含在字串中 # 可以指定范圍,默認從頭到尾,得到的是第一次出現的開始下標 str4 = 'mik mik mik' print(str4.find('i')) # str.rfind(str):從右到左查找 print(str4.rfind('i')) # str.find(str, start=0, end=(str)):指定開始范圍 print(str4.find('i', 4, len(str4))) # 不包含回傳 -1 print(str4.find('i')) # str.index(str, start=0, end=(str)) # 與str.find()一樣,只不過str不存在的時候回傳一個例外 str5 = 'mik mik mik' print(str5.index('h')) print(str5.index('z', 3, len(str5))) # str.lstrip()截掉字串左側字符,默認截掉空格 str6 = '+++++mik mik mik-----' print(str6.lstrip('+')) # 截掉右側 print(str6.rstrip('-')) # 截掉指定字符 print(str6.strip('+-')) # ord():ASCII表轉換,數字轉字母 str7 = 'm' print(ord(str7)) # chr():字母轉數字 str8 = 69 print(chr(str8))
回圈
# enimerate:同時遍歷下標和元素 for index, str in enumerate([1, 2, 3, 4]): print(index, str) # 取100之內數的和 sum = 0 for i in range(100): sum += i print(sum) num = 1 while num <= 5: print('num = %d' %(num)) num += 1 index = 0 str1 = 'thun iso ft' while index < len(str1): print('str[%d] = %s' %(index, str1[index])) index += 1
檔案操作
''' 檔案讀取程序: 1、打開檔案 2、讀取檔案內容 3、關閉檔案 ''' ''' 一、打開檔案 open(path, flag, encoding, errors) path:要打開檔案的路徑 flag:打開方式 r :以只讀方式打開檔案,檔案的指標放在檔案的開頭 rb :以二進制格式打開檔案用于只讀,檔案的指標放在檔案的開頭 r+ :打開檔案用于讀寫,檔案的指標放在檔案的開頭 w :打開檔案只用于寫入,如果該檔案已經存在會覆寫,如果檔案不存在則創建新檔案 wb :打開檔案只用于寫入二進制內容,如果該檔案已經存在會覆寫,如果檔案不存在則創建新檔案 wb+:二進制格式打開檔案讀寫,檔案存在則打開檔案,并從開頭開始編輯,原有內容會被洗掉,檔案不存在則創建新檔案,一般用于非文本檔案如圖片等 w+ :打開一個檔案只用于讀寫,如果該檔案已經存在會覆寫,如果檔案不存在則創建新檔案 a :打開一個檔案用于追加,如果該檔案存在,檔案指標會放在末尾 a+ :打開一個檔案用于追加,如果該檔案存在,檔案指標會放在末尾,如果該檔案不存在則創建新檔案 ab+:二進制格式打開一個檔案用于追加,檔案存在則指標會在檔案的結尾,檔案不存在則創建新檔案 encoding:編碼方式 errors:錯誤處理 ''' f = open('file-1.txt', 'r', encoding='utf-8', errors='ignore') # 二、讀取檔案 # read():讀取檔案全部 r1 = f.read() print(str1) # read(num):讀取指定字符數 str2 = f.read(10) print(str2) # readline():按行讀取 list3 = f.readline() print(list3) # readline(num):讀取指定字符數 list4 = f.readline(10) print(list4) # readlines():讀取全部行并回傳串列 list5 = f.readlines() print(list5) # readlines(num):若給定的數字大于第一行的字符的總個數,回傳實際讀取位元組的行數 list6 = f.readlines(50) print(list6) # with open(path, flag, encoding) as f: 打開并自動關閉 with open('file-1', 'r', encoding='utf-8') as f2: print(f2.read()) f.seek(num): 檔案指標往左偏移的位數
# 將資訊寫入緩沖區 f = open('file.txt', 'w') f.write('mik') # f.flush():重繪緩沖區 # 直接把內部緩沖區的資料立刻寫入檔案,而不是被動的自動重繪緩沖區寫入 # 重繪緩沖區的方式, flush()、close()、緩沖區滿了、手動重繪、\n f.flush() while True: pass f.close() # with open(path, flag, encoding) as f: with open('file.txt', 'w', encoding= 'utf-8') as f: f.write()
# 資料持久性模塊 import pickle # pickle.dump(str, file):寫入 myList = [1, 2, 3, 4, 5, 'qwer'] path = 'file-3.txt' f = open(path, 'wb') pickle.dump(myList, f) f.close() # pikle.load(file):讀取 f1 = open(path, 'rb') tuple1 = pickle.load(f1) print(tuple1) f1.close()
# 編碼 # python3.7不支持以二進制指定編碼打開檔案 path = 'file-3.txt' with open(path, 'wb+') as f1: str1 = 'zhg' f1.write(str1.encode('utf-8')) # 解碼 with open(path, 'rb') as f2: data = (f2.read()).decode('utf-8') print(data)
os模塊
import os # os:包含了普遍的作業系統的功能 # os.name:獲取作業系統型別 # nt=Windows posix=Linux print(os.name) # os.uname():列印作業系統詳細資訊,Windows不支持 # print(os.uname()) # os.environ:查看系統環境變數 print(os.environ) # os.environ.get(str):獲取指定環境變數 print(os.environ.get('LOCALAPPDATA')) # os.curdir:獲取當前目錄 print(os.curdir) # os.getcwd()獲取當前作業目錄,即當前python腳本所在的目錄 print(os.getcwd()) # os.listdir():以串列形式回傳指定目錄下的所有檔案 print(os.listdir(r'F:/pythonLearn/')) # os.makedir(filepath):在當前目錄下創建新目錄 # print(os.makedirs('test')) # os.rmdir():洗掉目錄 # print(os.rmdir('test')) # os.path:獲取當前目錄 print(os.path) # os.stat(filepath):獲取檔案屬性 # print(os.stat('test')) # os.rename(filename, newfilename):重命名檔案 # print(os.rename('test', 'zhg')) # os.remove(filename):洗掉普通檔案 # print(os.remove('file-3.txt')) # 運行shell命令 # os.system('notepad')#:打開記事本 # os.system('write'):打開寫字板 # os.sysytem('mspaint'):打開畫板 # os.system('shutdown -s -t 500'):在多少分鐘后關機 # os.system('shutdown -a'):取消自動關機 # os.system('taskkill /f /im notepad.exe')#:關閉打開的指定程式 # os.system('taskkill /f /im QQ.exe') # 有些方法存在os模塊里,還有些存在于 os.path # 查看當前的絕對路徑 print(os.path.abspath('./os模塊.py')) # os.path.join(path1, path2):路徑的拼接,引數2開始不要有 / path1 = 'f:/' path2 = 'pythonLearn' print(os.path.join(path1, path2))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/93479.html
標籤:Python
上一篇:python格式化輸出當前時間
