购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 变量、缩进与注释

Python的语法简洁,可以从变量的定义与赋值、缩进控制以及注释方法中体现出来。

2.2.1 变量的定义与赋值

Python变量可用来存储数据的标识符。Python变量在定义的时候就必须进行赋值。赋值的方法是使用“=”,其左侧是变量名称,右侧是对应的值。Python是一种动态类型的语言,其数据的类型无须在定义变量时指定。

变量的名称一定要言之有物,避免使用一些纯字母或者拼音等无实际意义的名称。变量命名的规则:包含字母、数字、下画线,且必须以一个非数字字符开始。结合网络运维的场景示例,当定义一个变量用来表示接入交换机的管理地址时,变量名可命名为asw01_mgmt_ip,并赋值为192.168.1.1,变量的定义与赋值如代码清单2-1所示。

代码清单2-1 变量的定义与赋值
asw01_mgmt_ip = '192.168.1.1'

在变量赋值时,等号左右一般会各保留一个字符的空格,这样可提高代码的可读性,便于区分变量名和变量值。Python的变量名是对大小写敏感的,asw01_mgmt_ip和ASW01_MGMT_IP代表的是两个不同的变量。Python的官方编码风格指南PEP 8(Python Enhancement Proposal 8)推荐变量名使用小写字母,多个单词之间用下画线分隔,因为其形如一条小蛇,因此该命名法被称为蛇形命名法(snake_case)。变量的蛇形命名法示例如代码清单2-2所示。

代码清单2-2 变量的蛇形命名法示例
device_name = 'AS01'
 
device_ip = '192.168.1.1'
 
device_start_u = 10

每种语言都会有一些特殊的保留字(keyword),保留字是不允许被用作变量名的,例如if用于做判断,因此,不能用if来作变量名。不同Python版本的保留字略有差别,输出当前Python版本的保留字,如代码清单2-3所示。

代码清单2-3 输出当前Python版本的保留字
import keyword
print(keyword.kwlist)

代码清单2-3的输出内容如下,从中可以观察到Python 3.10共有35个保留字。

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class','continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 
'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return','try', 'while', 'with', 'yield']

2.2.2 Python的缩进控制

在Python代码中,判断、循环、函数定义都包含一段代码逻辑块。不同于Java、C等编程语言,Python不是通过花括号来控制代码逻辑,而是通过缩进控制同级别代码逻辑。PEP 8中推荐使用4个空格作为缩进。循环生成并打印48个端口名称,如代码清单2-4所示,其中演示了代码的缩进。

代码清单2-4 循环生成并打印48个端口名称
print("生成48个端口名称")
for i in range(1,49):
    interface_name = "Eth1/"+ str(i)
    print(interface_name)
print("程序运行结束")

在for循环的逻辑块中,要生成48个端口名称并打印结果,循环体内的每行代码相对for循环的语句都缩进了4个空格。for循环代码和头尾的两行print是对齐的,因为它们是同一个层级的,且都是最高层级,所以这3行代码的开始没有空格。

这种通过缩进来区分代码逻辑的方式,使代码的书写更加便利、上下文的阅读更加流畅,是Python语言的特点之一。当层级过深的时候,4个空格可以缩减到2个空格。在PyCharm等IDE里,读者可以通过按Tab键来完成一次缩进,IDE会自动输入4个空格。但是在普通文本编辑器里,严禁直接使用Tab键,因为它代表的是1个制表符(1个缩进),容易引起代码的缩进异常。每行代码中间适当添加空白行,也可以提高代码的可读性。

2.2.3 Python的两种注释方法

注释用于对代码进行备注,让自己或者他人在后续阅读代码时可以更好地了解代码逻辑。良好的注释有助于提高代码的可读性、可维护性。Python的代码注释有两种风格:单行注释和多行注释。

单行注释以“#”开头,空一格后编写注释内容;也可以在代码的末尾空一格后按照单行的注释编写一个行末的注释。单行注释不允许跨行,适用于写一些简短说明。单行的代码注释示例如代码清单2-5所示。

代码清单2-5 单行的代码注释示例
print("生成48个端口名称")
 
# 使用内置的 range 函数,生成数字 1~48
for i in range(1,49):
    interface_name = "Eth1/"+ str(i) # 拼凑出端口名
print(interface_name)
print("程序运行结束")

多行注释以3个引号(3个单引号或者3个双引号)开始和结束,中间是注释内容,注释内容可以跨行,多用于写一些复杂的注释内容和函数的文档字符串(docstring)。多行代码注释示例如代码清单2-6所示。 fr1MiBIVsLaRFJEoPauqW4I4WYITdEzsmpopshlKHqXWtvCYGPL78/y/Oi/fSTM0

代码清单2-6 多行代码注释示例
"""
生成 48 个端口名称并打印
使用 range 函数生成数字,并通过字符串相加拼凑出端口名
"""
print("生成48个端口名称")
for i in range(1,49):
    interface_name = "Eth1/"+ str(i)
    print(interface_name)
print("程序运行结束")
点击中间区域
呼出菜单
上一章
目录
下一章
×

打开