1. 切片
翻轉(zhuǎn)字符串順序,使用切片str[::-1]
a="HelloWorld!"print(a[::-1])"""!dlroWolleH"""
切片完整的寫法 str[start: end: step]
(資料圖)
start 字符串開始的索引值
end 字符串結(jié)束的索引值
step 間隔步長,默認(rèn)為1。
一般切片時,只使用start和end, 不設(shè)置step。如果step為-1,即翻轉(zhuǎn)順序倒著切片。
2. not運算符a=[]print(nota)"""True"""
not是Python的內(nèi)置關(guān)鍵詞,一種 邏輯非的運算符。在上面的代碼中, 空列表[]是一種類似False的效果, 而 not []即為真。類似的還有空字符串、空集合等空數(shù)據(jù)。
3. F-stringsfirst_name="John"age=19print(f"Hi,I"m{first_name}andI"m{age}yearsold!")"""Hi,I"mJohnandI"m19yearsold!"""
自3.6以來,Python新增了字符串的格式化方法,在字符串內(nèi)可以調(diào)用環(huán)境中的變量。
實現(xiàn)上面代碼的功能,還可以用字符串的format方法
first_name="John"age=19print("Hi,I"m{}andI"m{}yearsold!".format(first_name,age))"""Hi,I"mJohnandI"m19yearsold!"""
3.8以后,Python的f-string新增了如下效果
x=10y=20print(f"{x=},{y=}")"""x=10,y=20"""4. print函數(shù)4.1 end參數(shù)
a=["english","french","spanish","german","twi"]forlanguageina:print(language,end="")"""englishfrenchspanishgermantwi"""
print函數(shù)end用于設(shè)定打印內(nèi)容結(jié)尾的符號,默認(rèn)換行符\n,所以在for循環(huán)使用print時候會看到內(nèi)容是逐行顯示的。
72. sep參數(shù)print函數(shù)默認(rèn)sep=" ",通過改變sep,打印的結(jié)果也會發(fā)生變化。
day="04"month="10"year="2022"print(day,month,year)print(day,month,year,sep="")print(day,month,year,sep="")print(day,month,year,sep=".")"""041020220410202204/10/202204.10.2022"""5. 合并字典
a={"a":1,"b":2}b={"c":3,"d":4}a_and_b=a|bprint(a_and_b)"""{"a":1,"b":2,"c":3,"d":4}"""
3.9之后, python支持字典的 或|來合并多個字典。
6. 條件語句condition=Trueifcondition:name="John"else:name="Doe"print(name)"""John"""
如果條件語句需要寫在一行內(nèi),可以改寫成
condition=Truename="John"ifconditionelse"Doe"print(name)"""John"""7. 下劃線_
下劃線有以下三個常見的用處
調(diào)用最近(上一次)的運行結(jié)果
忽略不需要操作的值
定義變量名,避免與內(nèi)置關(guān)鍵詞沖突
下劃線間隔的數(shù)字
7.1 調(diào)用結(jié)果>>>print(_)Traceback(mostrecentcalllast):File"",line1,in >>>1+23>>>print(_)3
_可以調(diào)用最近上一次 操作1+1的運行 結(jié)果3。
7.2 忽略不需要的值除此之外, 下劃線 _還可用在for循環(huán)中,忽略不需要的值。
for_inrange(100):print("Theindexdoesn"tmatter")"""Theindexdoesn"tmatterTheindexdoesn"tmatter..."""7.3 定義變量名,避免與內(nèi)置關(guān)鍵詞沖突
#避免與關(guān)鍵詞list、global沖突list_=[0,1,2,3,4]global_="Hithere"7.4 下劃線數(shù)字
為了增加數(shù)字的可閱讀性,可以在數(shù)字中加入下劃線_
number=1_500_000print(type(number))print(number)"""15000008. setdefault"""
使用字典做詞頻統(tǒng)計時,常見實現(xiàn)算法
檢查該關(guān)鍵詞是否存在于字典中
如果存在, 該關(guān)鍵詞詞頻加1
如果不存在,該關(guān)鍵詞詞頻設(shè)為1
importpprinttext="""It"sthefirstofApril.It"sstillcoldintheUK.ButI"mgoingtothemuseumsoitshouldbeawonderfulday"""counts={}forwordintext.split():ifwordincounts:counts[word]+=1else:counts[word]=1pprint.pprint(counts)"""{"April.":1,"But":1,"I"m":1,"It"s":2,"UK.":1,"a":1,"be":1,"cold":1,"day":1,"first":1,"going":1,"in":1,"it":1,"museum":1,"of":1,"should":1,"so":1,"still":1,"the":3,"to":1,"wonderful":1}"“”
實際上,使用字典的setdefault方法,可以起到ifelse判斷的作用。
counts={}forwordintext.split():counts.setdefault(word,0)counts[word]+=19. lambda函數(shù)
lambda函數(shù)更簡潔,可以在一行代碼內(nèi)定義一個簡潔的函數(shù)。
defsquare(num:int)->int:returnnum**2print(f"Functioncall:{square(4)}")"""Functioncall:16"""square_lambda=lambdax:x**2print(f"Lambdafunction:{square_lambda(4)}")"""Lambdafunctional:16"""10. Try-Except
寫代碼的時候,經(jīng)常會遇到報錯,例如分母為0
defget_ration(x:int,y:int)->int:ratio=x/yratio=x/yreturnratioprint(get_ratio(x=400,y=0))"""---------------------------------------------------------------------------NameErrorTraceback(mostrecentcalllast)in 4returnratio5---->6print(get_ratio(x=400,y=0))NameError:name"get_ratio"isnotdefined"""
可以使用try except包裹住 "小錯誤",并對可能出錯的地方進行微調(diào),來忽略錯誤。
defget_ration(x:int,y:int)->int:try:ratio=x/yexcept:ZeroDivisionError:y=y+1ratio=x/yreturnratioprint(get_ratio(x=400,y=0))"""400.0"""11. Args&Kwargs
defsome_function(*args,**kwargs):print(f"Args:{args}")print(f"Kwargs:{kwargs}")some_function(1,2,3,a=4,b=5,c=6)"""Args:(1,2,3)Kwargs:{"a":4,"b":5,"c":6}"""
使用*arg可以讓函數(shù)傳入任意多個參數(shù),而**kwarg可以讓函數(shù)傳入任意多個鍵值對。
12. 列表推導(dǎo)式even_numbers=[]forxinrange(10):#%取余數(shù)ifx%2==0andx!=0:even_numbers.append(x)print(even_numbers)"""[2,4,6,8]"""
實現(xiàn)同樣功能,列表推導(dǎo)式只需要一行
even_numbers=[xforxinrange(10)ifx%2==0andx!=0]print(even_numbers)"""[2,4,6,8]"""
精選文章
管理世界 | 使用文本分析詞構(gòu)建并測量短視主義
管理世界 | 使用 「經(jīng)營討論與分析」 測量「企業(yè)數(shù)字化指標(biāo)」
支持開票 | Python實證指標(biāo)構(gòu)建與文本分析
PNAS | 文本網(wǎng)絡(luò)分析&文化橋梁Python代碼實現(xiàn)
PNAS | 使用語義距離測量一個人的「創(chuàng)新力(發(fā)散思維)得分」
MS | 使用網(wǎng)絡(luò)算法識別『創(chuàng)新的顛覆性與否』
金融研究 | 文本相似度計算與可視化
金融研究 | 使用Python構(gòu)建「關(guān)鍵審計事項信息含量」
視頻分享 | 文本分析在經(jīng)管研究中的應(yīng)用
轉(zhuǎn)載 | 金融學(xué)文本大數(shù)據(jù)挖掘方法與研究進展
文本分析 |「MD&A信息含量」指標(biāo)構(gòu)建代碼實現(xiàn)
可視化 | 繪制《三體》人物關(guān)系網(wǎng)絡(luò)圖
長期征稿 | 歡迎各位前來投稿
17G數(shù)據(jù)集| 深交所企業(yè)社會責(zé)任報告
70G數(shù)據(jù)集| 上市公司定期報告數(shù)據(jù)集
27G數(shù)據(jù)集 | 使用Python對27G招股說明書進行文本分析
數(shù)據(jù)集 | 585w企業(yè)工商注冊信息
數(shù)據(jù)集 | 90w條中國上市「公司高管數(shù)據(jù)」
可視化 | 繪制《三體》人物關(guān)系網(wǎng)絡(luò)圖
認(rèn)知的測量 | 向量距離vs語義投影
Asent庫 | 英文文本數(shù)據(jù)情感分析
tomotopy | 速度最快的LDA主題模型
100min視頻 | Python文本分析與會計
安裝python包出現(xiàn)報錯:Microsoft Visual 14.0 or greater is required. 怎么辦?
如何正確讀入文本數(shù)據(jù)不亂碼(解決文本亂碼問題)
Faker庫 | 生成實驗數(shù)據(jù)
使用R語言繪制文本數(shù)據(jù)情感歷時趨勢圖
NiceGUI庫 | 簡單易懂的Web GUI開發(fā)包;可開發(fā)數(shù)據(jù)標(biāo)注工具、心理學(xué)實驗工具等
CheatSheet | Python文本數(shù)據(jù)處理速查表
pandas | 使用 df.query 字符串表達式進行數(shù)據(jù)篩選
免責(zé)聲明:本文不構(gòu)成任何商業(yè)建議,投資有風(fēng)險,選擇需謹(jǐn)慎!本站發(fā)布的圖文一切為分享交流,傳播正能量,此文不保證數(shù)據(jù)的準(zhǔn)確性,內(nèi)容僅供參考