更多课程 选择中心


Python培训

400-111-8989

8个优雅的Python编程技巧


Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。要写出 Pythonic(优雅的、地道的、整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优秀的源代码值得阅读,下面列举一些常见的Pythonic写法。

1. 交换赋值

##不推荐

temp = a

a = b

b = a

##推荐

a, b = b, a # 先生成一个元组(tuple)对象,然后unpack

2. Unpacking

##不推荐

l = ['David', 'Pythonista', '+1-514-555-1234']

first_name = l[0]

last_name = l[1]

phone_number = l[2]

##推荐

l = ['David', 'Pythonista', '+1-514-555-1234']

first_name, last_name, phone_number = l

# Python 3 Only

first, *middle, last = another_list

3. 使用操作符in

##不推荐

if fruit == "apple" or fruit == "orange" or fruit == "berry":

# 多次判断

##推荐

if fruit in ["apple", "orange", "berry"]:

# 使用 in 更加简洁

4. 字符串操作

##不推荐

colors = ['red', 'blue', 'green', 'yellow']

result = ''

for s in colors:

result += s # 每次赋值都丢弃以前的字符串对象, 生成一个新对象

##推荐

colors = ['red', 'blue', 'green', 'yellow']

result = ''.join(colors) # 没有额外的内存分配

5. 字典键值列表

##不推荐

for key in my_dict.keys():

# my_dict[key] ...

##推荐

for key in my_dict:

# my_dict[key] ...

# 只有当循环中需要更改key值的情况下,我们需要使用 my_dict.keys()

# 生成静态的键值列表。

6. 字典键值判断

##不推荐

if my_dict.has_key(key):

# ...do something with d[key]

##推荐

if key in my_dict:

# ...do something with d[key]

7. 字典 get 和 setdefault 方法

##不推荐

navs = {}

for (portfolio, equity, position) in data:

if portfolio not in navs:

navs[portfolio] = 0

navs[portfolio] += position * prices[equity]

##推荐

navs = {}

for (portfolio, equity, position) in data:

# 使用 get 方法

navs[portfolio] = navs.get(portfolio, 0) + position * prices[equity]

# 或者使用 setdefault 方法

navs.setdefault(portfolio, 0)

navs[portfolio] += position * prices[equity]

8. 判断真伪

##不推荐

if x == True:

# ....

if len(items) != 0:

# ...

if items != []:

# ...

##推荐

if x:

# ....

if items:

# ...

免责声明:整理文章为传播相关技术,版权归原作者所有,如有侵权,请联系删除

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:python实现合并两个数组的方法
下一篇:Python的星号(*、**)的作用?

如何自学Python?

说一说python中的几个基础语法

为什么Python类语法应该不同?

0基础入门Python,3 个常识点必须先了解!

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省