前言
新手在做寫代碼的時(shí)候容易卡殼阀捅,尤其當(dāng)接觸的函數(shù)以及其他知識(shí)比較多的時(shí)候胀瞪,經(jīng)常會(huì)看完需求之后不知道自己該用什么方法來(lái)實(shí)現(xiàn)它,實(shí)現(xiàn)的邏輯可能你有也搓,但怎么該用什么函數(shù)給忘了赏廓,這其實(shí)就是知識(shí)的儲(chǔ)備不夠涵紊,你記不住哪個(gè)函數(shù)有什么作用傍妒,自然一頭霧水。
這幾天我專門整理了Python常用的一些函數(shù)摸柄,從最基礎(chǔ)的輸入輸出函數(shù)到正則等12個(gè)板塊的颤练,總共100多個(gè)常用函數(shù),方便小伙伴們進(jìn)行快速地記憶驱负,每天快速過(guò)一遍嗦玖,用的時(shí)候再加深一下患雇,慢慢地你就會(huì)擺脫寫代碼卡殼的狀況。
雖說(shuō)自學(xué)編程的時(shí)候我們強(qiáng)調(diào)更多的東西是理解和實(shí)際去敲代碼宇挫,但有些東西你是要必須牢記的苛吱,否則你寫代碼將寸步難行。老手當(dāng)然已經(jīng)爛記于心器瘪,新手想要快速得心應(yīng)手開發(fā)翠储,記住高頻使用的函數(shù)就是一個(gè)好法子。
【----相關(guān)技術(shù)討論橡疼,Python入門基礎(chǔ)教程文末見曉援所!----】
1. 基礎(chǔ)函數(shù)
- print():輸出
- input():輸入
- int():轉(zhuǎn)整型
- float():轉(zhuǎn)浮點(diǎn)型
- str():轉(zhuǎn)字符串
- type():返回對(duì)象的類型
- isinstance():返回布爾值(True,False)
案例:將浮點(diǎn)型數(shù)值轉(zhuǎn)換為字符串,輸出轉(zhuǎn)換后的數(shù)據(jù)類型
`f=30.5
ff=str(f)
print(type(ff))
#輸出結(jié)果為class'str'`
2. 流程控制
- if語(yǔ)句:執(zhí)行1——條件判斷
- if條件:代碼塊1else:代碼塊2——條件判斷
- while:判斷循環(huán)
- for:計(jì)數(shù)循環(huán)
- range():范圍函數(shù)欣除,可控制開始位置住拭、結(jié)束位置和步長(zhǎng)
- break:跳出循環(huán)
- continue:跳過(guò)本次循環(huán),后面的循環(huán)繼續(xù)執(zhí)行
案例:根據(jù)用戶輸入的分?jǐn)?shù)判斷成績(jī)历帚,低于50分時(shí)提示“你的分?jǐn)?shù)低于50分”滔岳,5059分時(shí)提示“你的分?jǐn)?shù)在60分左右”,大于等于60分為及格挽牢,8090分為優(yōu)秀澈蟆,大于90分為非常優(yōu)秀。
s = int(input("請(qǐng)輸入分?jǐn)?shù):"))
if 80 >= s >= 60:
print("及格")
elif 80 < s <= 90:
print("優(yōu)秀")
elif 90 < s <= 100:
print("非常優(yōu)秀")
else:
print("不及格")
if s > 50:
print("你的分?jǐn)?shù)在60分左右")
else:
print("你的分?jǐn)?shù)低于50分")
3. 列表
- append():向列表中添加對(duì)象卓研,并添加到末尾
- extend(可選代對(duì)象):將可選代對(duì)象中數(shù)據(jù)分別添加到列表中趴俘,并添加到末尾
- Insert(下標(biāo)對(duì)象):向指定下標(biāo)位置添加對(duì)象
- clear():清空列表
- pop():刪除下標(biāo)指定的元素,如果不加下標(biāo)則刪除最后一個(gè)元素
- remove(對(duì)象):刪除指定的對(duì)象
- del:刪除變量或指定下表的值
- copy():淺拷貝
- count(對(duì)象):返回對(duì)象在列表中出現(xiàn)的次數(shù)
- Index(value奏赘,開始下標(biāo)寥闪,結(jié)束下標(biāo)):元素出現(xiàn)的第一次下標(biāo)位置,也可自定義范圍
- reverse():原地翻轉(zhuǎn)
- sort (key=None,reverse=False):快速排序磨淌,默認(rèn)從小到大排序疲憋,key:算法
- len():獲取列表的長(zhǎng)度(元素)
案例:判斷6這個(gè)數(shù)在列表[1,2,2,3,6,4,5,6,8,9,78,564,456]中的位置,并輸出其下標(biāo)梁只。
l = [1,2,2,3,6,4,5,6,8,9,78,564,456]
n = l.index(6, 0, 9)
print(n)
#輸出結(jié)果為 4
4. 元組
- list(元祖):元祖轉(zhuǎn)換成列表
- tuple (列表):列表轉(zhuǎn)換成元祖
- 元祖的函數(shù)操作與列表大致相同相同缚柳,不述
案例:修改元組
#取元組下標(biāo)在1~4之間的3個(gè)數(shù),轉(zhuǎn)換成列表
t = (1,2,3,4,5)
print(t[1:4])
l = list(t)
print(l)
#在列表下標(biāo)為2的位置插入1個(gè)6
l[2]=6
print(l)
#講修改后的列表轉(zhuǎn)換成元組并輸出
t=tuple(l)
print(t)
#運(yùn)行結(jié)果為:
(2, 3, 4)
[1, 2, 3, 4, 5]
[1, 2, 6, 4, 5]
(1, 2, 6, 4, 5)
5. 字符串
- capitalize():把字符串的菊一個(gè)字符改為大寫搪锣,后面的小寫
- casefold():把整個(gè)字符串都小寫
- encode():編碼str-bytes(二進(jìn)制字符串)
- decode():解碼
- count(sub,start,stop):返回字符(sub)出現(xiàn)的次數(shù)秋忙,star:開始下標(biāo),stop結(jié)束下標(biāo)
- find(sub,start,stop):返回sub第一次出現(xiàn)的下標(biāo)查不到返回-1
- index(sub,start,stop):返回sub第一次出現(xiàn)的下標(biāo)
- upper():將字符串轉(zhuǎn)為大寫
- lower():將字符串轉(zhuǎn)為小寫
- fomat ():將字符申按某種格式輸出
案例:用format()的三種方式輸出字符串
方式1:用數(shù)字占位(下標(biāo))
"{0} 嘿嘿".format("Python")
a=100
s = "{0}{1}{2} 嘿嘿"
s2 = s.format(a,"JAVA","C++")
print(s2)
#運(yùn)行結(jié)果為:100JAVAC++ 嘿嘿
方式2:用{} 占位
a=100
s = "{}{}{} 嘿嘿"
s2 = s.format(a,"JAVA","C++","C# ")
print(s2)
#運(yùn)行結(jié)果為:100JAVAC++ 嘿嘿
方式3:用字母占位
s = "{a}构舟{c} 嘿嘿"
s2 = s.format(b="JAVA",a="C++",c="C# ")
print(s2)
#運(yùn)行結(jié)果為:C++JAVAC# 嘿嘿
6. 字典
- clear():清空字典
- copy():淺拷貝
- fromkeys(可迭f代對(duì)象灰追,value=None):根據(jù)可迭代對(duì)象中的元素去創(chuàng)建字典
- get(key,[d]):獲取鍵所對(duì)應(yīng)的值,key是鍵,d是提示信息
- items():將字典中的鍵值對(duì)封裝成元組并放到類集合中
- pop(key.[d]):根據(jù)健刪除字典中的健值對(duì)弹澎,key是鍵朴下,d是提示信息
- values():返回字典中的值(類集合對(duì)象)
案例:在字典中查找數(shù)據(jù)
d = {"name": "小黑"}
print(d.get("name2", "沒(méi)有查到"))
print(d.get("name"))
#運(yùn)行結(jié)果為:
沒(méi)有查到
小黑
7. 函數(shù)
函數(shù)這塊重頭戲更多的是自定義函數(shù),常用的內(nèi)置函數(shù)不是很多苦蒿,主要有以下幾個(gè):
- 函數(shù)名.doc:獲取函數(shù)的文檔內(nèi)容
- help(函數(shù)名):查看函數(shù)文檔
- global變量:聲明變量為全局變量(可用于任何地方)
- nonlocal變量:聲明的變量為全局變量(用于函數(shù)嵌套殴胧,變量存在于上一級(jí)函數(shù))
案例:在函數(shù)中定義一個(gè)局部變量,跳出函數(shù)仍能調(diào)用該變量
def fun1():
global b
b=100
print(b)
fun1()
print(b)
#運(yùn)行結(jié)果為:
100
100
8. 進(jìn)程和線程
- os.getpid():獲取當(dāng)前進(jìn)程的編號(hào)
- C2,multiprocessing.current_process():獲取當(dāng)前進(jìn)程的名字
- os.getppid():獲取當(dāng)前父進(jìn)程的編號(hào)
- Thread(target=None,name=None,args=0),kwargs=None):target:可執(zhí)行目標(biāo)佩迟,name:線程的名字默認(rèn)Thread-N溃肪,args/kwargs:目標(biāo)參數(shù)
- start():?jiǎn)?dòng)子線程,threadling.current_thread(),獲取當(dāng)前進(jìn)程的名字
案例:繼承Thread類實(shí)現(xiàn)
#多線程的創(chuàng)建
class MyThread(threading.Thread):
def __init__(self,name):
super().__init__()
self.name = name
def run(self):
#線程要做的事情
for i in range(5):
print(self.name)
time.sleep(0.2)
#實(shí)例化子線程
t1 = MyThread("涼涼")
t2 = MyThread("最親的人")
t1.start()
t2.start()
9. 模塊與包
- import模塊名:導(dǎo)入模塊
- from模塊名Import功能1,功能2..:導(dǎo)入模塊特定功能
- from模塊名import*:導(dǎo)入模塊所有功能
- import 模塊名as別名:模塊定義別名
- from模塊名import 功能as別名:功能定義別名
- import包名.橫塊名.目標(biāo):包的導(dǎo)入方式1
- import包名.子包名.模塊名.目標(biāo):包的導(dǎo)入方式2
- import包名.損塊名:包的使用形式1
- import 包名.模塊名as別名:包的使用形式2
- from包名.模塊名Import 功能:包的使用形式3
- from包名import模塊名:包的使用形式4
- from包名.模塊名import:包的使用形式5
案例:包的使用方式4
from my_package1 import my_module3
print(my_module3.a)
my_module3.fun4()
10. 文件操作
(1)常規(guī)文件操作
- open(name,mode):用于打開一個(gè)文件音五,返回一個(gè)文件對(duì)象惫撰,name:文件名,-寫全(文件路徑+文件名+后綴)躺涝,mode:打開文件的方式厨钻,默認(rèn)是r-只讀
- write("xxx"):向文件中寫入內(nèi)容
- read():讀取文件中的內(nèi)容
- close():關(guān)閉文件
關(guān)于文件操作的常規(guī)模式:
- r:以只讀的形式打開文件,文件的指針在開頭
- r+:讀寫坚嗜,文件指針在開頭
- rb:以二進(jìn)制的形式只讀文件指針在開頭
- w:只寫夯膀,文件不存在,則創(chuàng)建新的苍蔬,存在則覆蓋诱建,指針在開頭
- w+:讀寫,文件不存在碟绑,則創(chuàng)建新的俺猿,存在則覆蓋,指針在開頭
- wb:只寫格仲,以二進(jìn)制的形式
- a:追加模式押袍,文件指針在結(jié)尾
- a+:讀寫,不存在則創(chuàng)建凯肋,存在直接追加
- ab:以二進(jìn)制形式追加
file的對(duì)象屬性:
- closed:如果文件對(duì)象已關(guān)閉谊惭,返回True,否則返回False
- mode:返回文件對(duì)象的訪問(wèn)模式
- name:返回文件的名稱
file對(duì)象的方法:
- close():關(guān)閉文件
- read([count]):讀取文件中的內(nèi)容侮东,count:字節(jié)數(shù)量
- readllnes():讀取所有內(nèi)容圈盔,打包成列表
- readine():讀取一行數(shù)據(jù),追加讀取悄雅,讀取過(guò)得不能再次讀取
- seek (offset, [from]):修改指t的位置:從from位置移動(dòng)了ollset個(gè)字節(jié)驱敲,from:0-從起始位置,1-從當(dāng)前位置開始煤伟,2-從末尾開始癌佩,sootset:要移動(dòng)的字節(jié)數(shù)
- write():向文件中寫入內(nèi)容
(2)OS模塊
關(guān)于文件的功能:
- os.rename(原文件名木缝,新的文件名):文件重命名
- os.remove(文件名):刪除文件
關(guān)于文件夾的功能:
- mkdir(文件夾名字):創(chuàng)建文件夾
- mdir(文件夾名字):刪除文件夾
- getcwd():獲取當(dāng)前目錄
- chdr(目錄):切換目錄
- listdir():獲取當(dāng)前文件夾下所有文件或文件夾便锨,返回一個(gè)列表,llstdir('aa')#獲取aa文件下所有文件或文件夾围辙,返回一個(gè)列表
11. 修飾器/裝飾器
- property:將方法變?yōu)閷傩裕恍揎椀姆椒仨毢蚿roperty下方的方法名一樣
- staticmethod:靜態(tài)方法放案,將被修飾的方法從類中抽離出來(lái)姚建,該函數(shù)不能訪問(wèn)類的屬性
- classmethod:與實(shí)例方法的區(qū)別是接收的苗一個(gè)參數(shù)不是self,而是cls(當(dāng)前類的具體類型),被修飾的方法無(wú)法訪問(wèn)實(shí)例屬性吱殉,但是可以訪問(wèn)類屬性
案例:classmethod的用法舉例
class B:
age = 10
def __init__(self,name):
self.name = name
@classmethod
def eat(cls): #普通函數(shù)
print(cls.age)
def sleep(self):
print(self)
b = B("小賤人")
b.eat()
#運(yùn)行結(jié)果為:10
12. 正則
- re.complle(正則表達(dá)式):編譯正則
- match():決定re是否在字符申剛開始的位置(匹配行首)
- search():掃描字符串掸冤,找到這個(gè)re匹配的位置(僅僅是第一個(gè)查到的)
- findal():找到re匹配的所有字符串,返回一個(gè)列表
- group():返回re匹配的字符串
- start():返回匹配開始的位置
- end():返回匹配結(jié)束的位置
- span():返回一個(gè)元組:(開始結(jié)束)的位置
- findall():根據(jù)正則表達(dá)式返回匹配到的所有字符串
- sub(正則友雳,新字符串稿湿,原字符串):替換字符串
- subn(正則,新字符串押赊,原字符串):替換字符串饺藤,并返回替換的次數(shù)
- split():分制字符串
案例:用split()函數(shù)分割一個(gè)字符串并轉(zhuǎn)換成列表
import re
s = "abcabcacc"
l = re.split("b",s)
print(l)
#運(yùn)行結(jié)果為:['a', 'ca', 'cacc']
由于Python的庫(kù)和函數(shù)非常豐富,初學(xué)者很難一次性掌握所有常用函數(shù)流礁。建議從基礎(chǔ)開始涕俗,逐步深入學(xué)習(xí),并結(jié)合實(shí)際項(xiàng)目練習(xí)神帅,以加深理解和記憶再姑。同時(shí),參考官方文檔和權(quán)威教程也是提升學(xué)習(xí)效率的有效途徑找御。
結(jié)語(yǔ)
這篇文章的目的元镀,不是為了教大家怎么使用函數(shù),而是為了快速霎桅、便捷地記住常用的函數(shù)名凹联,所以沒(méi)有把每個(gè)函數(shù)的用法都給大家舉例,你只有記住了函數(shù)名字和它的作用之后哆档,你才會(huì)有頭緒蔽挠,至于函數(shù)的用法,百度一下就出來(lái)瓜浸,用了幾次你就會(huì)了澳淑。
如果連函數(shù)名和它的用途都不知道,你要花的時(shí)間和精力就更多了插佛,必然不如我們帶著目的性地去查資料會(huì)更快些杠巡。
關(guān)于Python技術(shù)儲(chǔ)備
學(xué)好 Python 不論是就業(yè)還是做副業(yè)賺錢都不錯(cuò),但要學(xué)會(huì) Python 還是要有一個(gè)學(xué)習(xí)規(guī)劃雇寇。最后大家分享一份全套的 Python 學(xué)習(xí)資料氢拥,給那些想學(xué)習(xí) Python 的小伙伴們一點(diǎn)幫助蚌铜!
整理出了一套系統(tǒng)的學(xué)習(xí)路線,這套資料涵蓋了諸多學(xué)習(xí)內(nèi)容:開發(fā)工具嫩海,基礎(chǔ)視頻教程冬殃,項(xiàng)目實(shí)戰(zhàn)源碼,51本電子書籍叁怪,100道練習(xí)題等审葬。相信可以幫助大家在最短的時(shí)間內(nèi),能達(dá)到事半功倍效果奕谭,用來(lái)復(fù)習(xí)也是非常不錯(cuò)的涣觉。
??Python學(xué)習(xí)路線匯總??
Python所有方向的技術(shù)點(diǎn)做的整理,形成各個(gè)領(lǐng)域的知識(shí)點(diǎn)匯總血柳,它的用處就在于官册,你可以按照上面的知識(shí)點(diǎn)去找對(duì)應(yīng)的學(xué)習(xí)資源,保證自己學(xué)得較為全面难捌。
??Python必備開發(fā)工具??
??Python學(xué)習(xí)視頻合集??
觀看零基礎(chǔ)學(xué)習(xí)視頻膝宁,看視頻學(xué)習(xí)是最快捷也是最有效果的方式,跟著視頻中老師的思路栖榨,從基礎(chǔ)到深入昆汹,還是很容易入門的。
??實(shí)戰(zhàn)案例??
光學(xué)理論是沒(méi)用的婴栽,要學(xué)會(huì)跟著一起敲满粗,要?jiǎng)邮謱?shí)操,才能將自己的所學(xué)運(yùn)用到實(shí)際當(dāng)中去愚争,這時(shí)候可以搞點(diǎn)實(shí)戰(zhàn)案例來(lái)學(xué)習(xí)映皆。
??100道Python練習(xí)題??
檢查學(xué)習(xí)結(jié)果。
??面試刷題??
資料獲取方式:↓↓↓↓
1.關(guān)注公眾號(hào):蕭曉編程百事通
2.在后臺(tái)發(fā)送:“學(xué)習(xí)” 即可免費(fèi)領(lǐng)取