这就是菜鸟和高手的区别!完全不同的两个世界!Python必然会爆火

这就是菜鸟和高手的区别!完全不同的两个世界!Python必然会爆火,第1张

概述 进群:548377875 都可以获取到不同的PDF哦!是非常实用的PDF哦!01.变量交换Bad

进群:548377875  都可以获取到不同的pdf哦!是非常实用的pdf哦!01. 变量交换

Bad

tmp = aa = bb = tmp

Pythonic

a,b = b,a
02. 列表推导

Bad

my_List = []for i in range(10): my_List.append(i*2)

Pythonic

my_List = [i*2 for i in range(10)]
03. 单行表达式

虽然列表推导式由于其简洁性及表达性,被广受推崇。但是有许多可以写成单行的表达式,并不是好的做法。

Bad

print 'one'; print 'two'if x == 1: print 'one'if  and : # do something

Pythonic

print 'one'print 'two'if x == 1: print 'one'cond1 = cond2 = if cond1 and cond2: # do something
04. 带索引遍历

Bad

for i in range(len(my_List)): print(i,"-->",my_List[i])

Pythonic

for i,item in enumerate(my_List): print(i,item)
05. 序列解包

Pythonic

a,*rest = [1,2,3]# a = 1,rest = [2,3]a,*mIDdle,c = [1,3,4]# a = 1,mIDdle = [2,3],c = 4
06. 字符串拼接

Bad

letters = ['s','p','a','m']s=""for let in letters: s += let

Pythonic

letters = ['s','m']word = ''.join(letters)
07. 真假判断

Bad

if attr == True: print 'True!'if attr == None: print 'attr is None!'

Pythonic

if attr: print 'attr is truthy!'if not attr: print 'attr is falsey!'if attr is None: print 'attr is None!'
08. 访问字典元素

Bad

d = {'hello': 'world'}if d.has_key('hello'): print d['hello'] # prints 'world'else: print 'default_value'

Pythonic

d = {'hello': 'world'}print d.get('hello','default_value') # prints 'world'print d.get('thingy','default_value') # prints 'default_value'# Or:if 'hello' in d: print d['hello']
09. *** 作列表

Bad

a = [3,4,5]b = []for i in a: if i > 4: b.append(i)

Pythonic

a = [3,5]b = [i for i in a if i > 4]# Or:b = filter(lambda x: x > 4,a)

Bad

a = [3,5]for i in range(len(a)): a[i] += 3

Pythonic

a = [3,5]a = [i + 3 for i in a]# Or:a = map(lambda i: i + 3,a)
10. 文件读取

Bad

f = open('file.txt')a = f.read()print af.close()

Pythonic

with open('file.txt') as f: for line in f: print line
11. 代码续行

Bad

my_very_big_string = """For a long time I used to go to bed early. Sometimes,when I had put out my candle,my eyes would close so quickly that I had not even  time to say “I’m going to sleep.”"""from some.deep.module.insIDe.a.module @R_404_5565@ a_nice_function,another_nice_function,yet_another_nice_function

Pythonic

my_very_big_string = ( "For a long time I used to go to bed early. Sometimes," "when I had put out my candle,my eyes would close so quickly " "that I had not even time to say “I’m going to sleep.”")from some.deep.module.insIDe.a.module @R_404_5565@ ( a_nice_function,yet_another_nice_function)
12. 显式代码

Bad

def make_complex(*args): x,y = args return dict(**locals())

Pythonic

def make_complex(x,y): return {'x': x,'y': y}
13. 使用占位符

Pythonic

filename = 'foobar.txt'basename,_,ext = filename.rpartition('.')
14. 链式比较

Bad

if age > 18 and age < 60: print("young man")

Pythonic

if 18 < age < 60: print("young man")

理解了链式比较 *** 作,那么你应该知道为什么下面这行代码输出的结果是 False

>>> False == False == True False
15. 三目运算

这个保留意见。随使用习惯就好。

Bad

if a > 2: b = 2else: b = 1#b = 2

Pythonic

a = 3 b = 2 if a > 2 else 1#b = 2

总结

以上是内存溢出为你收集整理的这就是菜鸟和高手的区别!完全不同的两个世界!Python必然会爆火全部内容,希望文章能够帮你解决这就是菜鸟和高手的区别!完全不同的两个世界!Python必然会爆火所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1208760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存