几个技巧让你的Python代码更专业!

几个技巧让你的Python代码更专业

最近几年时间,国内的Python开发者越来越多,但是很多开发者都是从其他编程语言转换阵营来到Python的。正是因为这样的原因,很多Python开发者的代码中都保留了其他语言的编程习惯,这样的代码看起来就显得很不专业,非常的不”Pythonic“。

其实Python语言有很多专属的“编程惯例”,“惯例”这个词按照词典上的解释就是“习惯的做法,常规的办法,一贯的做法”。作为一个Python开发者,尤其是”跨界程序员“,如果能够掌握这些惯例,就可以写出“Pythonic”的代码。

技巧1:让代码既可以被导入又可以被执行。

if __name__ == '__main__':

技巧2:用下面的方式判断逻辑“真”或“假”。

if x:
if not x:

“Pythonic”的代码:

name = 'jackfrued'
fruits = ['apple', 'orange', 'grape']
owners = {'1001': '骆昊', '1002': '王大锤'}
if name and fruits and owners:
    print('I love fruits!')

“跨界程序员”的代码:

name = 'jackfrued'
fruits = ['apple', 'orange', 'grape']
owners = {'1001': '骆昊', '1002': '王大锤'}
if name != '' and len(fruits) > 0 and owners != {}:
    print('I love fruits!')

技巧3:善于使用in运算符。

if x in items:
for x in items:

“Pythonic”的代码:

name = 'Hao LUO'
if 'L' in name:
    print('The name has an L in it.')

“跨界程序员”的代码:

name = 'Hao LUO'
if name.find('L') != -1:
    print('This name has an L in it!')

技巧4:不使用临时变量交换两个值。

a, b = b, a

技巧5:用序列构建字符串。

“Pythonic”的代码:

chars = ['j', 'a', 'c', 'k', 'f', 'r', 'u', 'e', 'd']
name = ''.join(chars)
print(name)

“跨界程序员”的代码:

chars = ['j', 'a', 'c', 'k', 'f', 'r', 'u', 'e', 'd']
name = ''
for char in chars:
    name += char
print(name)

技巧6:EAFP(Easier to Ask Forgiveness than Permission)优于LBYL(Look Before You Leap)。

“Pythonic”的代码:

d = {'x': '5'}
try:
    value = int(d['x'])
    print(value)
except (KeyError, TypeError, ValueError):
    value = None

“跨界程序员”的代码:

d = {'x': '5'}
if 'x' in d and isinstance(d['x'], str) and d['x'].isdigit():
    value = int(d['x'])
    print(value)
else:
    value = None

技巧7:使用enumerate进行迭代。

“Pythonic”的代码:

fruits = ['orange', 'grape', 'pitaya', 'blueberry']
for index, fruit in enumerate(fruits):
    print(index, ':', fruit)

“跨界程序员”的代码:

fruits = ['orange', 'grape', 'pitaya', 'blueberry']
index = 0
for fruit in fruits:
    print(index, ':', fruit)
    index += 1

技巧8:用生成式生成列表、集合和字典。

“Pythonic”的代码:

data = [7, 20, 3, 15, 11]
result = [num * 3 for num in data if num > 10]
print(result)

“跨界程序员”的代码:

data = [7, 20, 3, 15, 11]
result = []
for i in data:
    if i > 10:
        result.append(i * 3)
print(result)

技巧9:用zip组合键和值来创建字典。

“Pythonic”的代码:

keys = ['1001', '1002', '1003']
values = ['骆昊', '王大锤', '白元芳']
d = dict(zip(keys, values))
print(d)

“跨界程序员”的代码:

keys = ['1001', '1002', '1003']
values = ['骆昊', '王大锤', '白元芳']
d = {}
for i, key in enumerate(keys):
    d[key] = values[i]
print(d)

讲到这里,大家可以把自己的代码对号入座一下,看看自己写的是“Pythonic”的还是“跨界程序员”代码。如果想让自己的代码更加专业,一定要先从写出“Pythonic”的代码开始。后面我还会继续为大家分享编写Python代码的技巧,掌握这些技巧肯定能让你的Python代码帅到没朋友的。

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值