文章目录
一 注释:两重意思,两种方式
两种方式:
#
个人注释
""" """
docstrings : 表明如何使用这个包、模块、类、函数(方法),甚至包括使用示例和单元测试。推荐对每一个包、模块、类、函数(方法)写 docstrings。
示例: 函数或者类或者模块的doc
#coding:gbk
def test():
""" 用于test """
print
print(test.__doc__)
#python test1.py
用于test
两重意思:
- 注释代码让代码不起作用
- 注释写上对代码的解释,让阅读者更容易读懂代码
问题:python 中引号有几种,有何区别?各自的使用场景
引号有 4 种
''
: 单引号
使用场景
- 用来表示一个字符串
str = 'a'
- 如果字符串中有双引号,为了避免使用转义符,可使用单引号来定义这个字符串
str = 'a"b'
""
: 双引号
使用场景
- 用来表示一个字符串
str = "a"
- 如果字符串中有单引号,为了避免使用转义符,可使用双引号来定义这个字符串
str = "a'b"
''' '''
&""" """
: 三个单双引号
使用场景
- 代码注释
- 如果字符串中既有单引号,又有双引号,为了避免使用转义符,可使用三引号来定义这个字符串
cmd = "ps -ef |grep python | awk '{print $1}' "
cmd = ''' xxx '''
二 缩进
两种方式: tab 和空格
tab
建议设置 tab == 4个空格(一般编辑器都是这样)
linux中vim设置方法:
打开: ~/.vimrc
, 输入下边内容
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
建议使用4个空格
作用:缩进作为语法的一部分融入python语言中,python中通过缩进来确定代码块的层次;
最终建议: 使用tab, 设置tab为4个空格
三 空行
目的:增加代码的可读性,使代码看起来更加清晰
参考准则:
- 模块中类和函数之间空两行
- 在类中的方法(类中的函数)之间空一行;
- 在函数中的逻辑段落间加空行,即把相关的代码紧凑写在一起,作为一个逻辑段落,段落间以空行分隔;
- 在 import 不同种类的模块间加空行
四 命名
对象:库、模块、类、函数、变量、常量
google 命名规范:类使用驼峰式,常量全大写,其他的都采用小写+下划线
- 库
小写一个名词(项目名) - 模块
小写,直接连接或者使用"_"(下划线)如:python_class module.py define_module.py
- 类
驼峰式,首字母大写,不适用下划线连接单词,如:class ThisIsAClass(object): pass
- 函数
小写,用"_"(下划线)隔开def this_is_func(): pass
- 变量
小写,用"_"(下划线)隔开,如:this_is_a_variable = 1
- 常量
常量名所有字母大写,由下划线连接各个单词,如:THIS_IS_A_CONSISTANT = 1
五 import
import 语句有以下几个原则需要遵守
- import 的次序
- 先 import Python 标准库,再 import 第三方模块, 最后 import 自己开发的项目中的其他模块;这三种模块以空行分割开来。
- 一条 import 语句, 尽量只 import 一个模块
好的代码 VS 不好的代码
一 不要额外加很多括号
正确写法
if foo:
bar()
while x:
x = bar()
if x and y:
bar()
不正确写法
变量用括号括起来了
if (x):
bar()
if not(x):
bar()
return (foo)
二 空格
-
括号内不要有空格.
正确写法
spam(ham[ 1 ], {eggs: 2}, [])
错误写法
spam( ham[ 1 ], { eggs: 2 }, [ ])
-
不要在逗号,分号,冒号前面加空格,但应该在它们后面加(除了在行尾).
正确写法if x == 4: print x, y x, y = y, x
错误写法
if x == 4 : print x , y x , y = y , x
三 使用if not var 代替 if var == “” 或者if var ==[] 或者if var == {}等
列表,字典,字符串,数字是否为 0
if num == 0;
if not num;