1、模块
- 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况)
# 正确的模块名
import decoder
import html_parser
# 不推荐的模块名
import Decoder
-特殊的如init模块,如果模块是包的私有模块会使用前缀加一个下划线。包也是一样
2、类名
- 类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头
class Farm():
pass
class AnimalFarm(Farm):
pass
class _PrivateFarm(Farm):
pass
将相关的类和顶级函数放在同一个模块里. 不像Java, 没必要限制一个类一个模块.
3、函数
- 函数名一律小写,如有多个单词,用下划线隔开
def run():
pass
def run_with_env():
pass
- 私有函数在函数前加一个下划线_
class Person():
def _private_func():
pass
- 特殊方法
特殊方法就是使用双下划线开始和结尾,常规的方法不应该使用这样的写法。
def __init__(self):
pass
def __add__(self):
pass
4、变量名
- 变量名尽量小写, 如有多个单词,用下划线隔开
if __name__ == '__main__':
count = 0
school_name = ''
- 常量采用全大写,如有多个单词,使用下划线隔开
MAX_CLIENT = 100
MAX_CONNECTION = 1000
CONNECTION_TIMEOUT = 600
- 公有和私有变量
对于可变的且可以通过导入自由访问的全局变量,如果它们需要被保护,那么应该使用下划线加小写字母变成私有变量。
5、常量
- 常量使用以下划线分隔的大写命名
MAX_OVERFLOW = 100
Class FooBar:
def foo_bar(self, print_):
print(print_)
6、一些命名习惯
- 用'has'或'is'前缀命名布尔元素
is_life=True#是否活着
is_connected=True#是否连接
has_cache=True#是否有内存
- 复数命名集合
users=['zhangsan','lisi']
- 显示命名字典
# 个人地址用全称
persons_addresses={'zhangsan':'beijing','lisi':'shanghai'}
网友评论