import sys
print(sys.path) #打印環境變量
print(sys.argv[2]) #取列表值模塊
---------------------------------------
import os
cmd_res = os.system("dir") #執行命令,不保存結果
cmd_res = os.popen("dir").read() #執行命令,保存結果
print(cmd_res) #返回值為0表示正常,返回值為1表示出錯
os.mkdir("new_dir") #在當前目錄下創建一個名為new_dir的目錄
----------------------------------------
數據類型
一、數字
1、int (整數,整型)
2、float (浮點型,小數。舉例:52.3E4 E表示10的多少次方,這裡表示10的4次方。)
3、complex
二、布爾值
(只有兩個值,一個真一個假,真:true 假:false 真為1,假為0)
三、字符串
-----------------------------------------
三元運算
a = 1
b = 3
c = 5
d = a
if a >b else c #結果為5,a是小於b的,執行c賦值給a,c=5
if a
-----------------------------------------
bytes類型
字節類型,音頻視頻文件都是二進制,用這個數據類型存。
-----------------------------------------
二進制與字符串互轉
msg ="字符串"
print(msg.encode(encoding="utf-8")) #字符串轉成二進制,用utf-8編碼
print(b'\xd7\xd6\xb7\xfb\xb4\xae'.decode(encoding="GB2312"))
#二進制轉成字符串,用utf-8編碼
-----------------------------------------
列表數據類型
names =["數據1","數據2","數據3","數據4"] #可以存N個數據
name2 =["同學1","同學2","同學3","同學4",["同學5","同學6"]] #列表套列表
print(names[0],names[2]) #取值從0開始計算,0就是第一個。
print(names[1:3]) #取值顧頭不顧尾,取值從1位置到3位置前一個。術語切片
print(names[-1]) #取最後一個數據。
print(names[-2:]) #取最後二個數據。
print(names[0:-1:2]) #布常調取數據,各2個數取一次數據
names.append("數據5") #追加一個“數據5”,自動追加位置在最後一個。
names.insert(1,"數據6") #把“數據6”插入在“數據2”的前面
names[2] ="數據7" #把“數據3”改為“數據7”
刪除有三種方法:
names.remove("數據1") #方法一:就把“數據1”刪除了。
del names[0] #方法二:就把“數據1”刪除了。
names.pop(0) #方法三:默認刪除最後一個,添加參數刪除對應數據。
print(names.index("數據3")) #查找“數據3”的位置,返回結果為2
print(names[names.index("數據3")])
names.clear() #清空列表
names.reverse() #反轉列表順序
names.sort() #排序,首字符優先符號-》數字-》字母
names.extend(names2) #將names2中的列表數據併入names中
name3 = names.copy() #複製一份names數據到names3中
-----------------------------------------------
複製模塊
import copy
person =['name',['a','100']]
names3 = copy.deepcopy(names) #完整複製一份names數據到names3中
'''
三種淺copy方法
p1=copy.copy(person)
p2=person[:]
p2=list(person)
'''
p1[]='kasuo'
p2[]='suoka'
p1[1][1]=50
print(p1) #類似於聯合賬號使用。
------------------------------------------------
元組 tuple
names = ("a1","a2","a3")
只可以查,不可以修改。什麼上時候用?比如連接數據庫。
----------------------------------------------------
字符串的用法
name = "Python \source code and {keywords}installers {description} for"
print(name.capitalize()) #首字母大寫
print(name.count("a")) #查找字符串中有多少個a字母
print(name.casefold()) #不知道
print(name.center(50,"-")) #一共打印50個字符串,不夠的用"-"代替,字符串放在中間。
print(name.encode()) #把字符串轉換成二進制
print(name.endswith("or")) #以什麼結尾,判斷字符串以什麼結尾,如果判斷網址以.com結尾,如果是就返回 True
print(name.expandtabs(tabsize=20)) #把字符串中有""的符號轉換為多少個空格,這裡是20,就是20個空格
print(name.find("code")) #查找,查找字符code的位置
print(name.[name.find("code"):]) #從code開始截取後面的所有字符串
print(name.[name.find("code"):20]) #從code開始截取後面到20位置的字符串
print(name.format(keywords="IDC",description="壹佰網絡")) #字符串keywords和description就賦值到了對應位置。
print(name.format_map({'keywords':'IDC','description':'壹佰網絡'}))
print('ab12'.isalnum()) #判斷字符串為字母和數字混合為True,如果有標點符號就為False
print('aA'.isalpha()) #判斷字符串為純字母,包含大寫為True,否則為False
print(name.isdecimal()) #不常用,以後要用了再看方法吧。
print(name.isdigit()) #判斷是否是整數數字
print(name.isidentifier()) #判斷是不是一個合法的標識符,是不是一個合法的變量名
print(name.islower()) #判斷是否小寫字母
print(name.isnumeric()) #判斷是否整數數字
print(name.isspace()) #判斷是否是一個空格
print(name.istitle()) #判斷每個首字母是否大寫,是就為True
print(name.isprintable()) #如果是tty文件或者驅動文件,是不能輸出的。
print(name.isupper()) #判斷是否全部大寫
print('+'.join(['1','2','3'])) #輸出結果 1+2+3
print(name.ljust(50,'=')) #設置長度為50,不夠用=補齊。
print(name.lower()) #把大寫變成小寫
print(name.upper()) #把小寫變成大寫
print('\nAndlly'.lstrip()) #去左邊的空格和回車
print('\nAndlly'.rstrip()) #去右邊的空格和回車
print('\nAndlly'.strip()) #去兩邊的空格和回車
-----------------
md5 = str.maketrans("1234567890",'pkjhwsxcmy')
print("123".translate(md5))
# 可以做簡單的加密,123加密後為pkj
-----------------
print('andlly'.replace('l','L',1)) #替換一個l為大寫L,全部替換,不加參數1
print('andlly'.rfind('l')) #查找最後一個l的位置,這裡l的位置是4
print('an d ll y'.split('l')) #把字符串空格分開的,自動分成列表。加上參數'l'後,就把l當做分割部分,同時顯示l。
print(and\nlly.splitlines()) #按換行來分
print('an dll y'.swapcase()) #字母轉換為大寫
print('andlly'.zfill(50)) #字符不夠50個,自動在左邊用0補夠.
---------------------------------------------------------------
字典
#key-value 鍵或者說是編號,每一個編號對應一個值
info = {
'no1':'kasuo',
'no2':'andlly',
'no3':'jiji',
}
print(info) #字典的排列順序是無序的。
print(info["no2"]) #查詢編號 no2 的值,就是andlly
info["no2"] ="卡索" #修改編號 no2 的值為 卡索,如果沒有編號no2,側添加一條信息。
del inf["no2"] #刪除編號 no2
info.pop("no2") #刪除編號 no2
info.popitem() #隨機刪
print(info.get('no3')) #有就返回,沒有就none,沒有也不會出錯。
pint('no2' in info) #判斷有沒有編號數據,如果沒有就創建一個
---------------------
b ={
'no1':"wh100idc",
1:3,
3:5
}
info.update(b) #與info有相同的編號替換原有的,沒有的部分之間添加上去。
print(info)
print(info.items()) #把字典轉換成列表
d = dict.fromkeys([6,7,8],"text") #創建新的字典
print(d)
-----------------------------------------------------
多級字典嵌套
av_catalog = { #catalog是目錄的意思
"網站":{
"www.aaa.com": ["配置比較高","價格便宜"],
"www.bbb.com": ["最大的資訊","欄目豐富,還可以投稿"],
"ccc.com": ["一個資訊網站","內容不多有待加強"],
"ddd.com":["質量很高,權重也很高","百度全部收錄,就是牛逼"]
},
"中國網站":{
"baidu.com":["最大中文搜索引擎","聽說想要排名那是要收費的"]
},
"大陸":{
"toutiao.com":["今日頭條","《今日頭條》是一款基於數據挖掘的推薦引擎產品。"]
}
}
av_catalog["大陸"]["toutiao.com"][1] += "用爬蟲爬下來" #修改值"《今日頭條》是一款基於數據挖掘的推薦引擎產品。"為"用爬蟲爬下來"
av_catalog.setdefault("中國網站",{"www.ccc.com":[1,2]}) #如果取得到這個值,就返回值,如果取不到就創建一個新的。
----------------------------------------------------------------------------
字典循環
info = {
'no1':'kasuo',
'no2':'andlly',
'no3':'jiji',
}
for i in info:
print(i) #只打印編號
print(i,info[i]) #打印編號和值