龙空技术网

python之语法风格和模块布局

不寐旋律 28

前言:

而今朋友们对“python规范pep8”大约比较关注,咱们都想要知道一些“python规范pep8”的相关内容。那么小编也在网络上汇集了一些对于“python规范pep8””的相关知识,希望我们能喜欢,看官们快快来学习一下吧!

#挑战30天在头条写日记#

语法风格和模块布局

Python 是一种非常灵活的语言,它的语法风格和模块布局可以因项目和团队而异。

常见的 Python 语法风格和模块布局的指导原则:

遵循 PEP 8:PEP 8 是 Python 官方编码风格指南,它提供了一些规范和建议,以便编写易于阅读、易于维护的 Python 代码。PEP 8 包括有关变量名、缩进、注释、语句结构等方面的规定。使用有意义的变量名:变量名应该具有描述性,能够清晰地表达其用途。使用有意义的变量名可以减少代码中的注释,并使代码更易于理解。使用适当的缩进:在 Python 中,缩进是非常重要的,因为它用于表示代码块。遵循 PEP 8 的缩进规定,使用 4 个空格进行缩进。不要混合使用制表符和空格进行缩进。使用注释:注释可以解释代码的工作原理,使代码更易于理解。在 Python 中,可以使用 # 符号在行末添加注释。注释应该是清晰、简洁的,并且不应该过于冗长。使用空行:在 Python 中,可以使用空行来分隔代码块,使代码更易于阅读。但是,不要过度使用空行,否则会使代码看起来过于稀疏。模块布局:在 Python 中,模块是一个包含 Python 代码的 .py 文件,它可以被引入到其他文件或脚本中,以提供函数、类和变量等功能。变量赋值

1. python支持链式多重赋值

>>> x = y = 10  # 将10赋值给x和y>>> x  # 查看x的值10>>> y  # 查看y的值10

2. 给列表使用多重赋值时,两个列表同时指向同一个列表空间,任何一个列表改变,另外一个随着改变

>>> alist = blist = [1, 2]>>> alist  # 查看列表alist的值[1, 2]>>> blist  # 查看列表blist的值[1, 2]>>> blist[-1] = 100  # 修改列表blist中的最后一个元素为100>>> alist  # 当列表blist改变时,alist也会改变[1, 100]

3. python 的多元赋值方法

>>> a, b = 10, 20  # 将10和20, 分别赋值给a和b>>> a  # 查看变量a的值10>>> b  # 查看变量a的值20>>> c, d = 'mn'  # 将m和n, 分别赋值给c和d>>> c  # 查看变量c的值'm'>>> d  # 查看变量d的值'n'>>> e,f = (100, 200)  # 将元组中的元素, 分别赋值给e和f>>> e  # 查看变量e的值100		>>> f  # 查看变量f的值200>>> m, n = ['bob', 'alice']  # 将列表中的元素,分别赋值给变量m和变量n>>> m  # 查看变量m的值'bob'>>> n  # 查看变量n的值'alice

4. 在python中,完成两个变量值的互换

>>> a, b = 100, 200  # 将100和200,分别赋值给变量a和变量b>>> a, b = b, a  # 将变量a和变量b的值,进行交换>>> a  # 查看变量a的值200>>> b  # 查看变量b的值100
合法标识符

在Python语言中,合法标识符(legal identifier)是指符合特定规则和约定的名称,用于标识变量、函数、类、对象等程序实体。

合法标识符必须遵循以下规则:

标识符必须字母(包括汉字)下划线开头标识符可以包含字母(包括汉字)、数字和下划线。标识符不能与Python的关键字(keyword)相同。标识符不能包含空格或特殊字符(除非有特殊规定)。大小写敏感

标识符示例:

name_agenum1_123_print(虽然在某些语言中可能会与关键字冲突,但在Python中不会)

需要注意的是,Python的标识符命名约定通常遵循PEP 8规范,其中建议使用小写字母和下划线来增强可读性。

关键字和其他的高级语言一样,python 也拥有一些被称作关键字的保留字符任何语言的关键字应该保持相对的稳定,但是因为 python 是一门不断成长和进化的语言,其关键字偶尔会更新关键字列表和 iskeyword() 函数都放入了 keyword 模块以便查阅案例:查看,判断python中的关键字

>>> import keyword  # 导入模块keyword>>> keyword.kwlist  # 查看keyword模块中,包含的关键字>>> 'pass' in keyword.kwlist  # 判断 'pass' 是否是python中的关键字,是True>>> keyword.iskeyword('abc')  # 判断 'abc' 是否是python中的关键字,否False
内建Python 为什么可以直接使用一些内建函数,而不用显式的导入它们?比如 str()、int()、id()、type(),len() 等,许多许多非常好用,快捷方便的函数。这些函数都是一个叫做 builtins 模块中定义的函数,而 builtins 模块默认 在Python环境启动的时候就自动导入,所以可以直接使用这些函数字符串格式化详解百分号:可以使用格式化符号来表示特定含义

格式化字符

转换方式

%s

优先用str()函数进行字符串转换

f 字符串:是 Python3.6 之后加入的标准库

name, age, list01 = "zhangsan", 21, [1, 2]# name: zhangsan, age: 21# 拼接str01 = "name: " + name + ", age: " + str(age)print(str01)# 1. %sstr02 = "name: %s, age: %s, %s" % (name, age, list01)print(str02)# 2. f字符串str03 = f"name: {name}, age: {age}, {list01}"print(str02)

注意

可以传入任意类型的数据,如 整数、浮点数、列表、元组甚至字典,都会自动转成字符串类型字符串函数

>>> s1 = "hello world">>> s1.startswith('abc')		#判断字符串s2,是否是以'abc'开头的,False>>> s1.startswith('h')		#判断字符串s2,是否是以'h'开头的,True>>> s1.startswith('he')		#判断字符串s2,是否是以'he'开头的,True>>> s1.endswith('abc')		#判断字符串s2,是否是以'abc'结尾的,False>>> s1.endswith('rld')		#判断字符串s2,是否是以'rld'结尾的,True# 判断字符串,经常使用is..进行判断>>> s2 = 'hello world'		#定义一个变量s2>>> s3 = 'HELLO WORLD'		#定义一个变量s3>>> s2.islower()			#判断变量s2,是否都是小写字母,True>>> s3.isupper()			#判断变量s3,是否都是大写字母,True# string.strip(): 删除 string 字符串两端的空白# string.upper():  转换string 中的小写字母为大写# string.split("xxxx"):  以指定字符串为分隔符切分string# 删除 string 字符串两端的空白>>> s4 = '  hello world        '>>> print(s4)		#打印s4>>> s4.strip()		#去掉变量s4,左右两边的空白字符>>> s4.lstrip()		#去掉变量s4,左边的空白字符,右边空白字符保留>>> s4.rstrip()		#去掉变量s4,右边的空白字符,左边空白字符保留# 切割字符串,拼接字符串>>> s2 = 'hello world'		#定义一个字符串变量s2>>> s3 = 'hello.tar.gz'		#定义一个变量s3>>> s2.split()		#切割字符串s2, 存入列表中,默认以空格作为分隔符进行切割>>> s3.split('.')		#切割字符串s3, 存入列表中,这里以'.'作为分隔符进行切割>>> alist = ['tom', 'bob', 'alice']		#定义一个列表alist>>> '_'.join(alist)			#以'_'作为连接符,将列表alist中的元素拼接在一起>>> ' '.join(alist)			#以'.'作为连接符,将列表alist中的元素拼接在一起

标签: #python规范pep8