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大讓客戶喜...