一、模塊初識 分類: 1) 標準庫:直接導入的不需要下載安裝,一般都存在lib下 2) 第三方庫:需要下載安裝才能使用,一般都存在site-packages下 sys: print(sys.path) >列印環境變數。 註意:python2下,這個是錯誤的,因為sys這個文件下並沒有path這個函數 ...
一、模塊初識
分類:
1) 標準庫:直接導入的不需要下載安裝,一般都存在lib下
2) 第三方庫:需要下載安裝才能使用,一般都存在site-packages下
sys:
print(sys.path)---->列印環境變數。 註意:python2下,這個是錯誤的,因為sys這個文件下並沒有path這個函數。
print(sys.argv)
print(sys.argv[0])
os :
cmd_res = os.system("dir") 直接輸出到屏幕,cmd_res=0代表命令執行成功,不保存結果。
cmd_res = os.popen("dir")
print(cmd_res) 列印記憶體地址
cmd_res = os.popen("dir").read() 通過read方法從記憶體某一個地方取出來
print(cmd_res)
os.mkdir("new_dir") 創建目錄
二、三目運算符
a = b if c>d else e
如果 c > d 那麼 a = b,否則 a = e。
三、字元串操作
1 # Author : Lyr 2 3 4 name = "Lyr is so clever" 5 6 print(name.capitalize()) #首字母大寫 7 8 print(name.count("r")) #統計某個字母個數 9 10 print(name.center(50,"-")) #一共列印五十個字元,不夠的用-補全居中 11 12 print(name.endswith("er")) #判斷某個字元串是否以某個字元串結尾 13 14 print(name.find("sod")) #查找某個字元串是否在該串中,如果存在返回某個字元串開頭的索引,如果不存在返回-1 15 16 print(name[name.find("so"):11]) #字元串的切片 17 18 name = "Lyr is clever {too_too}".format(too_too="too_too") 19 20 print(name.isalnum()) #判斷是否是阿拉伯數字 21 22 print("123".isdecimal()) #判斷是否是十進位數 23 24 print("123".isdigit()) #判斷是否是整數 25 26 print("d123".isidentifier()) #判斷是不是一個合法的變數名 27 28 print("d123".islower()) #判斷首字母是不是小寫 29 30 print("123".isnumeric()) #判斷是不是只有數字組成等同於isdigit 31 32 print("123".isspace()) #判斷是不是空格 33 34 print("1a23".istitle()) #判斷字元串中是否含有大寫字母 35 36 print("A123".isprintable()) #判斷是不是可列印的 #tty file,drive file 37 38 print("a123".isupper()) #判斷首字母是否大寫 39 40 print(",".join(['1','2','3','4'])) #列表轉成字元串 41 42 print(name.ljust(50,'*')) #字元串不夠一定的長度用某個字母在右側補全 43 44 print(name.rjust(50,'*')) #字元串不夠一定的長度用某個字母在左側補全 45 46 print(name.lower()) #字元串全部變為小寫 47 48 print(name.upper()) #字元串全部變為大寫 49 50 print(" Lyr ".lstrip()) #去除左邊的空格 51 52 print(" Lyr ".rstrip()) #去除右邊的空格 53 54 print(" Lyr ".strip()) #去除兩邊的空格 55 56 p = str.maketrans("abcdef","123456") #前後長度一樣,依次對應 57 58 print("abdefg".translate(p)) #result:12456g 59 60 print(name.replace("r","R",1)) 61 62 print(name.rfind("y",0,11)) #從0到11找y的索引 63 64 print(name.split("is")) #把字元串按某個字元串分割返回列表 65 66 print("1+2\n+3+4".splitlines()) #把字元串按換行符分割返回列表 67 68 print("Lyr".swapcase()) #大寫變小寫 69 70 print(name.title()) #首字母都變成大寫 71 72 print(name.zfill()) #自動補零字元串常用函數
四、列表
1)為什麼要引入列表呢?
當我們有很多很多的員工姓名要存起來的時候,就目前學到的知識,我們要定義很多個變數去分別存每個員工的姓名,但是我們這樣會累死的,而且會被開除了哈哈哈,這時候我們的列表就派上用場了,可以把它們全部存到一個列表裡面,相當於我們c++或者java學的數組。存儲較為方便,看起來也比較美觀。
2)列表的操作
增加,刪除,修改,查詢,複製,切片,合併,迴圈輸出等。
1 # Author : Lyr 2 3 names = ["ZhangYang","GuYun","XiangPeng","XuLiangChen"] 4 5 print(names) 6 7 print(names[0],names[2]) 8 9 print(names[1:3]) #切片 10 11 print(names[-1]) #切片 12 13 print(names[-2:-1]) 14 15 print(names[-2:]) #倒數兩個 16 17 print(names[0:2]) #與下一個結果相同 18 19 print(names[:2]) 20 21 #增加兩種(insert,append) 22 names.append("LeiHaiDong") #追加到末尾 23 24 print(names) 25 26 names.insert(1,"ChenZhongHua") #插入到某個位置 27 28 names.insert(3,"XinZhiYu") 29 30 print(names) 31 32 #修改 33 names[2] = "XieDi" 34 35 print(names) 36 37 #刪除操作兩種(remove,del,pop) 38 names.remove("ChenZhongHua") 39 40 print(names) 41 42 del names[1] 43 44 print(names) 45 46 names.pop(1) 47 48 print(names) 49 50 #查詢某個元素的位置 51 print(names.index("LeiHaiDong")) 52 53 names.insert(1,"ZhangYang") 54 55 #計數某個元素的次數 56 print(names.count("ZhangYang")) 57 58 #反轉 59 names.reverse() 60 61 print(names) 62 63 #對列表進行排序(按ascii排序規則) 64 names.sort() 65 66 print(names) 67 68 #合併列表 69 names2 = [1,2,3,4] 70 71 names.extend(names2) 72 73 print(names) 74 75 #刪除列表 76 77 del names2 78 79 #複製列表,只複製第一層(淺copy) 80 81 82 names3 = names.copy() #names元素改變,names3對應位置的元素不會變 83 84 print(names3) 85 86 name4 = ["Lyr","LXL"] 87 88 names.insert(1,name4) 89 90 print(names3) 91 92 names[1][1] = "ZJH" 93 94 print(names3) 95 96 name4[1] = "LXL" 97 98 print(names) 99 100 import copy 101 102 #深copy 需要導入copy模塊 103 names3 = copy.deepcopy(names) 104 105 #列表迴圈 106 107 for i in names: 108 print(i) 109 110 #跳著輸出 111 112 for i in names[0:-1:2]: #0,-1可省 113 print(i)列表操作函數
總結:
增加:
insert()
append()
刪除:del()
pop()
remove()
修改:list[] = "" 查詢:list[index] 複製:copy() 合併:extend 反轉:reverse() 排序:sort()
五、元祖
和列表相似,但是只有計數和獲取下標,對應的是count和index。
六、字典
1) 粗略的定義相當於c++或者java的映射,key-value鍵值對,每個key對應一個value。
2) 字典的操作:
增加,刪除,修改,查詢,迴圈等操作。
1 # Author : Lyr 2 3 #字典是無序的沒有index 4 #創建 5 info = { 6 'stu1101': "TengLan Wu", 7 'stu1102': "LongZe Luola", 8 'stu1103': "XiaoZe Maliya", 9 } 10 11 print(info) 12 13 #查詢字典裡面必須存在 (2種查詢方法) 14 print(info["stu1101"]) 15 16 print(info.get("stu1103")) 17 18 #通過某個key修改,當key存在時,就修改,如果沒有該key就創建一條 19 info["stu1104"] = "武藤蘭" 20 21 print(info) 22 23 #刪除(3種) 24 del info["stu1104"] 25 26 info.pop("stu1103") 27 28 #隨機刪除 29 info.popitem() 30 31 #查看某個key是否在該字典里 32 print("stu1102" in info) 33 34 35 b = {"stu1101":"lyr", 36 1:3, 37 2:4} 38 info.update(b) 39 40 print(info) 41 42 print(info.items()) #將字典換成列表的形式 43 44 c = dict.fromkeys([6,7,8],[1,{"name":"lyr"},444])#初始化一個字典,如果有多層的話 ,你修改一個元素,顯示全部修改了 45 c[7][1]["name"] = "Jack" 46 print(c) 47 48 #字典的迴圈 49 for i in info: 50 print(i,info[i])字典操作函數
總結:
增加:當修改某個key-value時,如果該key不存在,他就會增加到字典中。dic[key] = value。
刪除:del,pop()
修改:dic[key] = new_value,該key必須存在。
查詢:dic.get(key)--->value
迴圈:for i in dic:
print(i,dic[i])
3)字典的常用函數:
除了上面的一些,例如:dic.keys() 列印所有的key值。
dic.values() 列印所有的value值。
dic.setdefault(key,new_value) 查看這個字典裡面有沒有這個key,有就返回,沒有就創建新的。
如果你喜歡小編寫的東西,那就請點點贊吧!!!