for循環(huán),while條件,like條件
Python代碼:
def inverse_number(string):
'input a number which is string than,you will get the inverse number'
ans = 0
for i in range(len(string)):
for j in range(i):
if string[j] > string[i]:
ans += 1
return ans
print(inverse_number(input("Please input the number: ")))
函數(shù)是Python中最重要、最基礎(chǔ)的代碼組織和代碼復(fù)用方式。根據(jù)經(jīng)驗(yàn),如果你需要多次重復(fù)相同或類似的代碼,就非常值得寫一個(gè)可復(fù)用的函數(shù)。通過(guò)給一組Python語(yǔ)句一個(gè)函數(shù)名,形成的函數(shù)可以幫助你的代碼更加可讀。
函數(shù)聲明時(shí)使用def關(guān)鍵字,返回時(shí)使用return關(guān)鍵字:
def my_function(x, y, z=1.5):
if z > 1:
return z * (x + y)
else:
return z / (x + y)
有多條返回語(yǔ)句是沒(méi)有問(wèn)題的。如果Python達(dá)到函數(shù)的尾部時(shí)仍然沒(méi)有遇到return語(yǔ)句,就會(huì)自動(dòng)返回None。
每個(gè)函數(shù)都可以有位置參數(shù)和關(guān)鍵字參數(shù)。關(guān)鍵字參數(shù)最常用于指定默認(rèn)值或可選參數(shù)。在前面的函數(shù)中,x和y是位置參數(shù),z是關(guān)鍵字參數(shù)。
如果一點(diǎn)基礎(chǔ)沒(méi)有,那么肯定要先牢牢打好Python的基礎(chǔ)。
1. int、string、float等各種基本類型處理,尤其是字符串的處理;
2. 元組列表字典等各種集合處理;
3. 類的定義和使用,繼承和重載,尤其類函數(shù)靜態(tài)函數(shù)成員函數(shù)的區(qū)別;
4. 匿名函數(shù),線程,進(jìn)程,多線程多進(jìn)程,同步異步等等都需要掌握;
5. 熟悉各種常見(jiàn)的第三方的模塊;
第三方模塊多是Python最大的特點(diǎn)(小心不要踩版本的坑)。
接下來(lái)就是根據(jù)你的方向有選擇去學(xué)習(xí)。
建議有一定基礎(chǔ)后,直接擼爬蟲(chóng),不僅能鍛煉python知識(shí),還能收獲:
1. http協(xié)議的知識(shí),比如http頭和http狀態(tài)碼;
2. html、css、JavaScript前端知識(shí);
3. 字符編碼的知識(shí);
4. 正則表達(dá)式、lxml、BeautifulSoup等提取數(shù)據(jù)的知識(shí);
5. 多線程的知識(shí);
6. 數(shù)據(jù)處理的知識(shí),如文件讀寫,sql數(shù)據(jù)庫(kù)和nosql數(shù)據(jù)庫(kù)的知識(shí);
7. 驗(yàn)證碼、代理服務(wù)器等反爬蟲(chóng)知識(shí);
8. scrapy等爬蟲(chóng)框架的知識(shí);
9. bloomfilter去重算法、內(nèi)存優(yōu)化、數(shù)據(jù)庫(kù)優(yōu)化的知識(shí);
10. phantomJS模擬瀏覽器的知識(shí);
11. 調(diào)試、捕捉、修正錯(cuò)誤的經(jīng)驗(yàn);
安利,請(qǐng)看近7000人收藏的《python資料匯總(建議收藏)》
安利,請(qǐng)看我的網(wǎng)絡(luò)爬蟲(chóng)系列文章。干貨多多
如果對(duì)您有幫助請(qǐng)點(diǎn)贊。謝謝支持。