python语言的核心知识_Python核心知识系列-基础语法与编码风格

​本篇是 Python 核心知识学习系列的第一篇文章,将分享 Python 编程时应注意的一些基础语法,写出符合 Python 规范的代码,提高代码的可读性。

本文主要包含以下两部分:1 基础语法

2 风格规范

第一部分:基础语法

基础语法部分主要包含以下几小点:缩进

编码

标识符

注释

多行语句

引号缩进

大部分的编程语言都是使用{}来表示一个代码段,而 Python 用缩进层次来组织代码块,默认一个缩进使用 “四个空格”表示。

2. 编码

Python 有 Python2 和 Python3 两个版本,目前 Python2 官方已不再维护,如果学习 Python 可以直接学习 Python3。两个版本的 Python 编码也有区别:Python3 中有两种表示字符序列的类型: bytes 和 str,其中 bytes 是包含8位值的序列,str 是包含 Unicode 字符的序列。

Python2 中两种表示字符序列的类型:str 和 unicode,其中 str 是包含8位值的序列,unicode 是包含 Unicode 字符的序列。

使用 encode 方法将 Unicode 字符转换成二进制数据,使用 decode 方法将二进制数据解码成 Unicode 字符。

将 Unicode 字符表示为二进制数据最常用的编码方式为 UTF-8。

在 Python3 中,可以利用辅助函数将 str 或者 bytes 转换成 str:

def to_str(bytes_or_str):

if isinstance(bytes_or_str, str):

value = bytes_or_str

else:

value = bytes_or_str.decode('utf-8')

return value

也可以利用辅助函数将 str 或者 bytes 转换成 bytes:

def to_bytes(bytes_to_str):

​ if isinstance(bytes_to_str, bytes):

value = bytes_to_str

else:

value = bytes_to_str.encode('utf-8')

return value

3. 标识符

Python标识符命名规范:标识符由字母(A~Z 和 a~z)、数字和下划线组成,首字符必须以字母或下划线。

区分大小写。

不是能 Python 关键字。

标识符编码习惯:见名知义,使用有意义的单词或词组,不要使用拼音。

采用下划线命名法或驼峰式命名法。

使用下划线连接单词命名(推荐使用这种方式):var_name。

小驼峰式命名:第一个单词小写,其他单词大写,如 myName。

大驼峰式命名:每个单词首字母都为大写,如 ClassName。

Google Python命名规范:模块和包:小写字母,尽量简单,可以使用“_”连接,如module_name,package_name。

类名:使用大驼峰式命名,如ClassName。

函数名和类中的方法名:全部使用小写字母,多个单词之间下划线连接,如 function_name,method_name。

变量名(全局变量、局部变量、类变量、实例变量):全局变量大写,局部变量名、类变量名、实例变量名小写,使用下划线连接,如GLOBAL_VAR_NAME, local_var_name, class_var_name, instance_var_name。

常量名:大写字母,使用下划线连接,如 CONSTANT_NAME。

函数和方法的参数:小写字母,如 func_parameter_name。

异常:使用大驼峰式命名,如 ExceptionName。

标识符以下划线开头:以单下划线“_”开头:受保护的变量,表示不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from module_name import * 导入。只有类和子类对象可以访问这些变量。

双下划线“__”开头:私有成员,只有类对象可以访问。

双下划线开头和结尾:专用标识符,有特殊的身份,如 __init__。

4. 注释单行注释:# 开头。

多行注释:可以每一行都以 # 开头,也可以用 """ """ 或 ''' ''' 。

5. 多行语句

使用斜杠( \ )将一行的语句分为多行显示。

s = "Explicit is better than implicit." \

"Simple is better than complex."

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠( \ )。

s = ("Explicit is better than implicit."

"Simple is better than complex.")

6. 引号

Python支持单引号('')、双引号("")、三引号(""" """或''' ''')表示字符串。三引号可以定义多行字符串,同时也可以进行多行注释。

# 多行字符串

s = """Explicit is better than implicit.

Simple is better than complex."""

# 多行注释

"""

注释第一行

注释第二行

"""

第二部分:风格规范

Google Python 风格规范缩进用4个空格来缩进代码,不要使用Tab。

对于占据多行的表达式,除首行外其余各行都应该在通常缩进级别上再加4个空格。

与开头分隔符对齐:

var_name = (value1, value2, value3,

value4, value5)

4个空格缩进,第一行无参数:

func = function_name(

arg1, arg2, arg3,

arg4)

在字典中,四个空格缩进:

dic = {

long_dictionary_key:

long_dictionary_value,

}

2. 空行

函数或者类之间用两个空行隔开。在同一个类中,方法之间或者类与第一个方法之间,用一个空行隔开。

3. 空格

括号内不要有空格。

funcName(A[1], B[2], [1, 2, 3])

不要在逗号, 分号, 冒号前面加空格, 但应该在它们后面加(行尾除外)。

if x > y:

print(x, y)

参数列表, 索引或切片的左括号前不应加空格。

arr[1]

list[1:3]

在使用赋值(=)、比较(==、>、、>=、<=、is、is not、in、not in)、布尔(not、and、or)等操作符时,左右两侧各加一个空格。

a == b

not flag

当‘=’用于指示关键字参数或默认参数值时, 不要在其两侧使用空格。

funcName(id=None, score=None)

4. 行长度每行不超过80个字符,其中长的导入模块语句和注释里的URL除外。

不要使用反斜杠连接行,可以用圆括号、中括号和花括号连接。

如果一个文本字符串在一行放不下, 可以使用圆括号来实现隐式行连接。

funName(arg1, arg2, arg3, ...,

argN-1, argN)

x = ('This will build a very long long '

'long long long long long long string')

5. 表达式和语句判断somelist是否为[]或""时,建议使用if not somelist来判断,而不是用if len(somelist) == 0检测长度来判断。

判断somelist为非空时,使用if somelist语句。

import语句总是放在文件开头。

文件中import模块划分为三部分,即标准库模块、第三方模块和自用模块,各部分按字母顺序排列。

6. 文档字符串

文档字符串是包, 模块, 类或函数里的第一个语句,是一种注释,可以通过访问 __doc__ 属性,查看对象的文档字符串,或者调用 help() 函数来查看。文档字符串的缩进必须与定义中的所有其它语句保持一致。

使用三重双引号""" """。

文档字符串应该包含:第一行简述功能,第二行为空行,第三行开始是具体描述。

​—END—

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值