十種Python優雅的寫法,你值得擁有!

2021-09-12 07:52:34 字數 4463 閱讀 1371

python是我最喜歡的語言,沒有之一!

優美勝於醜陋, 明了勝於晦澀,簡單勝過複雜。

下面就給大家介紹幾種pythonic的寫法,讓你的**簡潔明瞭,又不失逼格!我由淺入深,先介紹簡單的一些trick,再到高階用法。

注:以下**都是基於python 3.x

常規寫法

a =

1b =

2c =

3

優雅寫法

a, b, c =1,2,3

常規寫法

student =

['jack',23

,'man'

]name = student[0]

age = student[1]

*** = student[2]

print

('name: %s, age: %s, ***: %s'

%(name, age, ***)

)

優雅寫法

student =

['jack',23

,'man'

]name, age, *** = student

print

('name: %s, age: %s, ***: %s'

%(name, age, ***)

)

常規寫法

x =-3

if x <0:

y =-1

else

: y =

1print

(y)

優雅寫法

x =-3

y =-

1if x <

0else

1print

(y)

常規寫法

score =

90if score >=

0and score <60:

print

('掛科'

)else

:print

('通過'

)

優雅寫法

score =

90if

0<= score <60:

print

('掛科'

)else

:print

('通過'

)

常規寫法

status_code =

0if status_code ==-1

or status_code ==-2

or status_code ==-3

:print

('fail'

)else

:print

('success'

)

優雅寫法

status_code =

0if status_code in[-

1,-2

,-3]

:print

('fail'

)else

:print

('success'

)

常規寫法

a, b, c =[1

,2,3

],,''

iflen

(a)>0:

print

('a非空')if

len(b)

>0:

print

('b非空')if

len(c)

>0:

print

('c非空'

)

優雅寫法

a, b, c =[1

,2,3

],,''

if a:

print

('a非空'

)if b:

print

('b非空'

)if c:

print

('c非空'

)

常規寫法

math, english, computer =30,

90,80if math <

60or english <

60or computer <60:

print

('掛科'

)else

:print

('通過'

)

優雅寫法

math, english, computer =30,

90,80if

any(

[math <

60, english <

60, computer <60]

):print

('掛科'

)else

:print

('通過'

)

常規寫法

math, english, computer =70,

90,80if math >

60and english >

60and computer >60:

print

('通過'

)else

:print

('掛科'

)

優雅寫法

math, english, computer =70,

90,80if

all(

[math >

60, english >

60, computer >60]

):print

('通過'

)else

:print

('掛科'

)

這個非常常用,特別是遍歷列表的時候,我們經常需要同時獲取到下標和元素的值。

常規寫法

pets =

['cat'

,'dog'

,'rabbit'

,'bird'

]for i in

range

(len

(pets)):

print

('%s : %s'

%(i, pets[i]

))

優雅寫法

pets =

['cat'

,'dog'

,'rabbit'

,'bird'

]for i, pet in

enumerate

(pets)

:print

('%s : %s'

%(i, pet)

)

比起通過pets[i]去獲取元素的方式,直接用enumerate返回下標和元素更方便。

這個是我最喜歡、也是最常用的一種用法。好不誇張的說,一行頂十行

需求:生成乙個區間為[0-9]的列表

常規寫法

nums =

for i in

range(10

):print

(nums)

# output:

# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

優雅寫法

nums =

[i for i in

range(10

)]print

(nums)

# output:

# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

值得你跟隨的十種老闆

一 能夠在員工需要的時候給員工提供指導,幫助員工發展的老闆 老闆雖然與下屬是上下級關係,但是沒有下屬的支援和協作,再出色的老闆都無法獨自讓公司正常運作。對企業來說,員工是重要的組成部分,但員工不能完全等同於 零件 過於關心業績增長,而忽略員工的感受以及職業發展的老闆,在團隊中的威信就會降低,隨之而來...

十種經商才能你有幾種?

1.德商 mq 指乙個人的道德人格品質。德商的內容包括體貼 尊重 容忍 寬容 誠實 負責 平和 忠心 禮貌 幽默等各種美德。2.智商 iq 是一種表示人智力高低的數量指標。也可以表現為乙個人對知識的掌握程度,反映人的觀察力 記憶力 思維力 想象力 創造力以及分析問題和解決問題的能力。3.情商 eq ...

讓客戶喜歡你的十種理由

在與一些成功的 營銷員的交流中,我們不難發現一些規律,面對客戶時,營銷員語言表達是否大方 得體,是否能與客戶產生共鳴,從而在感情上與客戶拉近距離,這將決定他能否從心底裡接受你,近而接愛你產品的最終原因。泛迅oa 時代雜誌主編專訪江西各大公司的知名業務經理,從中獲取各種交際經驗。現總結出10大讓客戶喜...