[TOC]

前言

这里只是介绍Python代码的一些变量、函数命名和一些约定俗成的风格,目的是提高代码的可读性,这些风格规范不一定是Python的语法规范

一、解释器和编码

可执行的Python脚本

在很多的Python文件中能看到第一行有以下格式的语句

1
#!/usr/bin/env python3.5

原因是在一些Unix系统上Python是可以像shell一样被直接执行的,这个语句是指定了Python解释器的版本,为了不和2.x版本冲突

指定编码

在指定解释器版本后,是指定编码

1
# -*- coding: utf-8 -*-

在Python3之后默认编码为utf-8,所以如果不是要指定为别的像上面的encoding的编码之类的话就不用写这个语句了

二、占位符和pass语句

“_“下划线作为占位符

for _ in range(10):
    print("I'm sorry!")

在上面的案例中for循环在语法上需要一个循环的索引,但程序的逻辑中并不需要用到它,这个时候如果放一个i变量在这的话,vscode这样的编译器会提示你定义了一个参数但没有使用,这个时候用一个‘_’来做一个占位,表示符合语法规定但我不会用到这个参数

pass语句

class Test:
    pass

这个多是在开发的过程中,我们定义了一个类或者方法,但又还没来得及对它进行实现的时候,语法上需要这里有语句,这时用pass来告诉程序这里什么都不用做

三、默认值参数

1
2
3
4
5
6
7
def fun(name,age=20,gender="male"):
print("name is {} ,age is {} ,gender is {}".format(name,age,gender)

fun("liu")
# name is liu ,age is 20 ,gender is male
fun("liu",gender='famale')
# name is liu ,age is 20 ,gender is famale

这是一个很有意思的语法,它允许方法的参数有默认值,使得在调用上的fun()的时候可以只传一个name参数,当然也可以传递两个或者三个参数,这时就会覆盖相应的参数值

四、命名规则

  • 列表末尾元素是否加逗号
1
2
3
4
5
6
7
8
# 仅当元素和)]}不在同一行时推荐在末尾元素后加逗号
golomb3 = [0, 1, 3]
golomb4 = [
0,
1,
4,
6,
]
  • 导入格式
1
2
3
4
# 推荐每个导入独立一行,下面的第一种写法不推荐
from subprocess import Popen, PIPE, STDOUT
import os
import signal
  • 命名
1
2
3
# 内部方法使用_前缀
def _run():
pass