python其餘知識目錄html
內存,cpu,硬盤,
解釋器 實時翻譯 編譯器 :一次性翻譯
python2,3 除法,2不能得小數,3能得小數python
startswith #判斷是否以什麼開頭 name="mcw" name_new=name.startswith("m") print(name_new) -------結果: True
name="mcw"
name_new=bool(name[0]=="m")
print(name_new)
--------結果:
True
endswith #判斷是否以什麼結尾git
name="mcw" name_new=name.endswith("m") print(name_new) -------結果: False
format() #格式化輸出 %s可替代網絡
網絡傳輸gbk,不用Unicode。app
參考:https://blog.csdn.net/m0_38080253/article/details/78841280post
encode #改變編碼類型 ,網絡傳輸和存儲能夠用到網站
name="mcw" name_new=name.encode() print(name_new) --------結果: b'mcw'
mcw="魔降風雲變"
mcw_utf8 = mcw.encode("utf-8")
mcw_gbk = mcw.encode("gbk")
mcw_gb2312 = mcw.encode("gb2312")
print(mcw)
print("utf-8編碼: ", mcw_utf8)
print("gbk 編碼: ", mcw_gbk)
print("gb2312編碼: ", mcw_gb2312)
print("utf-8 解碼: ", mcw_utf8.decode('utf-8'))
print("gbk 解碼: ", mcw_gbk.decode('gbk'))
print("gb2312 解碼: ", mcw_gb2312.decode('gb2312'))
-----------結果:
魔降風雲變
utf-8編碼: b'\xe9\xad\x94\xe9\x99\x8d\xe9\xa3\x8e\xe4\xba\x91\xe5\x8f\x98'
gbk 編碼: b'\xc4\xa7\xbd\xb5\xb7\xe7\xd4\xc6\xb1\xe4'
gb2312編碼: b'\xc4\xa7\xbd\xb5\xb7\xe7\xd4\xc6\xb1\xe4'
utf-8 解碼: 魔降風雲變
gbk 解碼: 魔降風雲變
gb2312 解碼: 魔降風雲變編碼
錯誤之一:UnicodeDecodeError: 'gb2312' codec can't decode byte 0x94 in position 2: illegal multibyte sequencespa
緣由:編碼解碼方式不一致.net
mcw="魔降風雲變"
mcw_utf8 = mcw.encode("utf-8")
print("gb2312 解碼: ", mcw_utf8.decode('gb2312'))
join "_".join(name)#循環單個字符並添加分隔符,包括添加空格
name="mcw" name_new="_".join(name) print(name_new)
--------結果:
m_c_w
列表元組元素拼接,"".join(列表或元組)
li=["mcw","xiaoma","wl"]
mcw="_".join(li)
print(mcw)
---------結果:
mcw_xiaoma_wl
tup=("mcw","xiaoma","wl")
mcw="_".join(tup)
print(mcw)
------------結果:
mcw_xiaoma_wl
# ------------------join裏邊傳的必須是字符串,不然報錯---------
nums=[11,22,33,44]
num="".join(nums)
print(num)
-------結果:
TypeError: sequence item 0: expected str instance, int found
解決辦法:
nums=[11,22,33,44]
for i in range(0,len(nums)):
nums[i]=str(nums[i])
num="+".join(nums)
print(num)
-----------結果:
11+22+33+44
步長,可正可負,切片。[-1:0:-1]
請將字符串反轉:name[::-1]
name="mcwlllsf" print(name[::-1]) #fslllwcm name="mcwlllsf" print(name[-1::-1]) #fslllwcm
請用五種方法實現字符串反轉 name = "我叫小馬過河博客是魔降風雲變"(步長、while、for)
#既然字符串能夠反轉,那麼字典,元組,列表怎麼反轉呢,思考一下
#方法一---------------------
name = "我叫小馬過河博客是魔降風雲變" print(name[::-1]) ----------如下結果都爲: 變雲風降魔是客博河過馬小叫我
#方法二---------------------
name = "我叫小馬過河博客是魔降風雲變" index=0 e_str="" #什麼狀況定義空字符串,或是列表,元組,字典 while index<len(name): index += 1 e_str+=name[len(name)-index] print(e_str)
#方法三-------------------思路:倒着取出每一個字符並拼接成字符串
name = "我叫小馬過河博客是魔降風雲變" e_str="" for index in range(0,len(name)): e_str+=name[len(name)-index-1] print(e_str)
#方法四------------------
name = "我叫小馬過河博客是魔降風雲變" e_str="" for index in range(len(name)-1,-1,-1): #由於字符串索引最大值是字符串長度-1,range()取 左值,因此起始值爲len()-1 e_str+=name[index] print(e_str)
#方法五-----------------#索引最大,倒着數
name = "我叫小馬過河博客是魔降風雲變" index=len(name) e_str="" while index>0: index-=1 e_str+=name[index] print(e_str)
實現正反序列的列表元素生成
正向序列: li=[] for i in range(0,3): li.append(i) print(li) ---------結果: [0, 1, 2] 反向序列 li=[] for i in range(0,3): li.insert(0,i) print(li) -----------結果: [2, 1, 0]
name="56+78" a=name.split("+") #指定分隔符 print(a,a[0],a[-1],a[1]) ['56', '78'] 56 78 78
# 列表extend元組,列表 #列表.extend(元組)------------- li=["mcw","xiaoma","wl"] tup=("y","h","feng") li.extend(tup) print(li) -----------結果: ['mcw', 'xiaoma', 'wl', 'y', 'h', 'feng'] #列表.extend(字符串)------------- li=["mcw","xiaoma","wl"] mcw_str="yh" li.extend(mcw_str) print(li) ------------結果: ['mcw', 'xiaoma', 'wl', 'y', 'h'] #列表.extend(列表)--------------- li=["mcw","xiaoma","wl"] li2=["xiaoming","xiaoxiao"] li.extend(li2) print(li) -------------------結果: ['mcw', 'xiaoma', 'wl', 'xiaoming', 'xiaoxiao'] #列表=列表+列表 多個列表元素合併 li=["mcw","xiaoma","wl"] li2=["xiaoming"] li=li+li2 print(li) ---------------結果: ['mcw', 'xiaoma', 'wl', 'xiaoming'] #列表.extend(字典),默認將鍵加到列表後面。想加入其餘,列表.extend(字典.keys/items/values) li=["mcw","xiaoma","wl"] dic={"name":"mcw","age":18} li.extend(dic) print(li) -------------結果: ['mcw', 'xiaoma', 'wl', 'name', 'age']
name="mcwh" for i in name: print(i) print(i) #由於最後一個被賦值h --------結果: m c w h h
#for中continue,break
for i in range(0,3): print(i) -----結果: 0 1 2 for i in range(3): #取值範圍從0到3,不取3 print(i) ------結果: 0 1 2
for i in range(0,3):
print(2-i) #使用range倒着來。(3-1)-i
-----------結果:
2
1
0
for i in range(0,5,2): #[0,1,2,3,4],取步長爲2進行操做 print(i) --------結果: 0 2 4
=======================shel序列號 =================
[root@xiaoma ~]# seq 3
1
2
3
[root@xiaoma ~]# seq 0 2
0
1
2
[root@xiaoma ~]# seq 0 2 5 #0-5,步長爲2
0
2
4
for i in range(0,5,2): #方法一 print(i) for i in range(0,5): #方法二 if i%2==0: print(i) ------------結果: 0 2 4
for i in range(1,11): if i==7: #註解:for循環多少次結合range(),不打印7就是等於7就跳過 continue print(i)
#重點,數據類型中的字符串
#for 循環
mcw=list() #定義空列表,空列表布爾值爲False xiaoma=[] print(mcw,bool(mcw),xiaoma) ---------------結果: [] False []
users=["mcw","yh",99] val=len(users) print(val) ------結果: 3
users=["mcw","yh",99] print(users[0],users[-1]) print(users[0:3]) print(users[::-1]) -----結果: mcw 99 ['mcw', 'yh', 99] [99, 'yh', 'mcw']
方法一 content=input("請輸入:") index=0 total=0 while True: char = content[index] if char.isdigit(): total+=int(char) index+=1 if index==len(content): break print(total) 自我註解: 方法二:spilit
content=input("請輸入數字+數字:")
sum=int(content.split("+")[0])+int(content.split("+")[1])
print(sum)
----------結果:
請輸入數字+數字:16+4
20
users=["mcw","yh",99] for i in users: print(i) -----結果: mcw yh 99 users=["mcw","yh","99"] for i in users: for j in i: print(j) ----結果: m c w y h 9 9 若是99是數字,出現報錯
#自我註解:對多個事物作相同的操做,就用for循環,假如其中某個不作這個操做,用判斷將它剔除
#for循環列表加個計數的
方法一: users=["mcw","yh","99"] for i in range(0,len(users)): print(i,users[i]) -----結果: 0 mcw 1 yh 2 99 方法二: users=["mcw","yh","99"] count=0 for i in users: print(count,i) count+=1 ------結果: 0 mcw 1 yh 2 99
列表獨有功能
users=[] while True: name = input("請輸入姓名:") users.append(name) ------效果: 請輸入姓名:mcw ['mcw'] 請輸入姓名:yh ['mcw', 'yh'] 請輸入姓名:xiaoma ['mcw', 'yh', 'xiaoma'] users=[] for i in range(0,3): name=input("請輸入用戶名和密碼,逗號隔開:") users.append(name) print(users) -------結果: 請輸入用戶名和密碼,逗號隔開:mcw,123 請輸入用戶名和密碼,逗號隔開:yh,456 請輸入用戶名和密碼,逗號隔開:xiaoma,789 ['mcw,123', 'yh,456', 'xiaoma,789'] print(users)
users=["mcw,123","xiaoma,456","xiaoxiao,789"] denglu = input("請輸入用戶名進行登陸:") dpasswd = input("請輸入密碼:") for val in users: if denglu==val.split(",")[0] and dpasswd==val.split(",")[1]: print("登陸成功") --------------結果: 請輸入用戶名進行登陸:mcw 請輸入密碼:123 登陸成功
users=["mcw","yh","99"] users.insert(1,"xiaoma") print(users) -------結果: ['mcw', 'xiaoma', 'yh', '99']
**remove移除元素
users=["mcw","yh","99"] users.remove("yh") print(users) -------結果: ['mcw', '99']
**pop移除接索引
users=["mcw","yh","99"] users.pop(1) print(users) -----結果: ['mcw', '99'] users=["mcw","yh","99"] users.pop() #pop默認從後面刪除 print(users) -----結果: ['mcw', 'yh'] users=["mcw","yh","99"] users.clear() #clear清空列表 print(users) ----結果: []
**del
users=["mcw","yh","99"] del users[1] print(users) ------結果: ['mcw', '99']
注意點,字符串自己不能修改或刪除,字符串是不可變類型,列表是可變類型。
users=["mcw","yh","99"] users[0]="xiaoma" print(users) --------結果: ['xiaoma', 'yh', '99'] users=["mcw","yh","99"] print(users[0][1]) #定位user[0]元素的第二個字符。 ------結果: c
li=["xiao"] s="mcw" li.extend(s) print(li) ------------結果: ['xiao', 'm', 'c', 'w'] li=["xiao"] s="mcw" li=li+" ".join(s).split() print(li) ---------------結果 ['xiao', 'm', 'c', 'w']
deleted=li.pop li.append(deleted) li=["mcw","xiaoma","wl"] deleted=li.pop() li.insert(0,deleted) print(li) ---------結果: ['wl', 'mcw', 'xiaoma'] #增長: del 僅僅是刪除,pop還能將刪除後的賦予給一個變量
mcw=["mcw","xiaoma"] a,b=mcw print(a) print(b) --------------------結果: mcw xiaoma
li=["mcw","xiaoma","xiaoxiao"] li.reverse() print(li) ----------結果: ['xiaoxiao', 'xiaoma', 'mcw']
sort 列表 默認從小到大 li=[2,5,1,6] li.sort() print(li) ------------結果: [1, 2, 5, 6] sort(reverse=Ture) 從大到小 li=[2,5,1,6] li.sort(reverse=True) print(li) -----------結果: [6, 5, 2, 1]
列表元素操做
增: append / insert
刪: remove / pop / clear / del users[2]
改: users[3] = "新值"
查: 索引/切片
列表嵌套:
users=["mcw",["xiaoming","xiaohong"],"99"] print(users[1][1][4:]) -------結果: hong
users=[11,"mcw","xiaoma"] #列表,可變類型
users=(11,"mcw","xiaoma") #元組,不可變類型
擁有公共功能:
索引 (排除)
切片
步長
刪除
修改
for循環
len
。。。。
users=("mcw","xiaoma","mojiangfengyunbian") print(users[1],users[1:]) print(users[-1][::2]) print(len(users),len(users[-1])) -----結果: xiaoma ('xiaoma', 'mojiangfengyunbian') mjageguba 3 18
users=("mcw","xiaoma","mojiangfengyunbian") users[0]="ff" print(users) --------結果: TypeError: 'tuple' object does not support item assignment
# 示例一: v1 = (11,22,33) v1[1] = 999 # 錯誤 v1 = 999 # 正確 # 示例二:能夠嵌套 v1 = (11,22,33,(44,55,66),(11,2,(99,88,),3)) # 示例三:嵌套 v2 = [11,22,33,(11,22,33)] v2[-1][1] = 99 # 錯誤 v2[-1] = 123 # 正確 # 示例四:嵌套 v3 = (11,[1,2,3],22,33) v3[1] = 666 # 錯誤 v3[1][2] = 123
#自我註解:能夠修改的用列表,不能夠修改的用元組,部分能夠修改部分不能夠修改的用元組和列表相
互嵌套
------
-------------
問題:
#開發流程:
一、寫出你經常使用的git命令
二、大家公司是怎麼用git作開發的
1)在碼雲或GitHub等代碼託管的網站上建立本身的倉庫。建立完以後碼雲會給咱們一個倉庫地址。
2)在本地本身寫代碼
3)將代碼提交到遠程倉庫。
-初始化
-進入任意文件夾,
-git init
-git config 郵箱
-git config 姓名
-git remote add origin 倉庫域名 #origin,給遠程倉庫域名起別名origin。
注意:至此,git已經將目錄管理起來了,之後目錄內文件有任意變化,git都能識別出來
-代碼收集並提交
-git status #能夠查看修改記錄
-git add .
-git commit -m "註釋"
-git push origin master #將本地倉庫的代碼同步到遠程倉庫
-在本地修改代碼或刪除文件等
-git add .
-git commit -m "註釋"
-git push origin master #將本地倉庫的代碼同步到遠程倉庫
-[避免]若是遠程倉庫有本地沒有的代碼,必須先執行[可能引起合併的問題]
-git pull origin master
-git status #能夠查看修改記錄
-git add .
-git commit -m "註釋"
-git push origin master #將本地倉庫的代碼同步到遠程倉庫
------