Python学习教程:怎么写出让人看起来很优雅舒服的代码?让人眼前一亮!

很多新手在开始学一门新的语言的时候,往往会忽视一些不应该忽视的细节,比如变量命名和函数命名以及注释等一些内容的规范性,久而久之养成了一种习惯。对此,我特意收集了一些适合所有学习 Python 的伙伴,代码整洁之道,让你写出来的代码让人眼前一亮!!!




GStreamer 对python的支持_Python


写出 Pythonic 代码

谈到规范首先想到就是 Python 有名的 PEP8 代码规范文档,它定义了编写Pythonic代码的最佳实践。可以在

https://www.python.org/dev/peps/pep-0008/ 上查看。但是真正去仔细研究学习这些规范的朋友并不是很多,对此呢这篇文章摘选一些比较常用的代码整洁和规范的技巧和方法,下面让我们一起来学习吧!

命名

所有的编程语言都有变量、函数、类等的命名约定,以美之称的 Python 当然更建议使用命名约定。 接下来就针对类、函数、方法等等内容进行学习。

变量和函数

使用小写字母命名函数和变量,并用下划线分隔单词,提高代码可读性。

变量的声明

names = "Python" #变量名 namejob_title = "Software Engineer" #带有下划线的变量名populated_countries_list = [] #带有下划线的变量名

还应该考虑在代码中使用非 Python 内置方法名,如果使用 Python 中内置方法名请使用一个或两个下划线()。

_books = {}# 变量名私有化__dict = []# 防止python内置库中的名称混淆

那如何选择是用_还是__呢?

如果不希望外部类访问该变量,应该使用一个下划线(_)作为类的内部变量的前缀。如果要定义的私有变量名称是 Python 中的关键字如 dict 就要使用(__)。

函数的声明

def get_data():  passdef calculate_tax_data(): pass

函数的声明和变量一样也是通过小写字母和单下划线进行连接。

当然对于函数私有化也是和声明变量类似。

def _get_data(): pass

函数的开头使用单下划线,将其进行私有化。对于使用 Pyton 中的关键字来进行命名的函数

要使用双下划线。

def __path(): pass

除了遵循这些命名规则之外,使用清晰易懂的变量名和很重要。

函数名规范

# Wrong Waydef get_user_info(id): db = get_db_connection() user = execute_query_for_user(id) return user# Right waydef get_user_by(user_id): db = get_db_connection() user = execute_user_query(user_id)  return user

这里,第二个函数 get_user_by 确保使用相同的参数来传递变量,从而为函数提供正确的上下文。 第一个函数 get_user_info 就不怎么不明确了,因为参数 id 意味着什么这里我们不能确定,它是用户 ID,还是用户付款ID或任何其他 ID? 这种代码可能会对使用你的API的其他开发人员造成混淆。为了解决这个问题,我在第二个函数中更改了两个东西; 我更改了函数名称以及传递的参数名称,这使代码可读性更高。

作为开发人员,你有责任在命名变量和函数时仔细考虑,要写让人能够清晰易懂的代码。

当然也方便自己以后去维护。

类的命名规范

类的名称应该像大多数其他语言一样使用驼峰大小写。

class UserInformation: def get_user(id): db = get_db_connection() user = execute_query_for_user(id) return user

常量的命名规范

通常应该用大写字母定义常量名称。

TOTAL = 56TIMOUT = 6MAX_OVERFLOW = 7

函数和方法的参数

函数和方法的参数命名应遵循与变量和方法名称相同的规则。因为类方法将self作为第一个关键字参数。所以在函数中就不要使用 self 作为关键字作为参数,以免造成混淆。

def calculate_tax(amount, yearly_tax): passsclass Player: def get_total_score(self, player_name): pass

关于命名大概就强调这些,下面让我们看看表达式和语句中需要的问题。

代码中的表达式和语句

users = [ {"first_name":"Helen