《Python工匠:案例、技巧与工程实践》-第1章 变量与注释-1.1基础知识-学习笔记

《Python工匠:案例、技巧与工程实践》-第1章 变量与注释-1.1基础知识-学习笔记

1.变量常见用法

1.1变量解包

变量解包(unpacking)是Python里的一种特殊赋值操作,允许我们把一个可迭代对象(比如列表)的所有成员,一次性赋值给多个变量

在这里插入图片描述

Python还支持更灵活的动态解包语法。只要用星号表达式(*variables)作为变量名,它便会贪婪[插图]地捕获多个值对象,并将捕获到的内容作为列表赋值给variables。

在这里插入图片描述

1.2单下划线变量名_

在常用的诸多变量名中,单下划线_是比较特殊的一个。它常作为一个无意义的占位符出现在赋值语句中。_这个名字本身没什么特别之处,这算是大家约定俗成的一种用法。举个例子,假如你想在解包赋值时忽略某些变量,就可以使用_作为变量名

在这里插入图片描述

2.给变量注明类型

为了解决动态类型带来的可读性问题,最常见的办法就是在函数文档(docstring)里做文章。我们可以把每个函数参数的类型与说明全都写在函数文档里。

在这里插入图片描述

类型注解,只需在变量后添加类型,并用冒号隔开即可,比如func(value:str)表示函数的value参数为字符串类型。

在这里插入图片描述

3.变量命名原则

3.1 遵循PEP 8原则

· 对于普通变量,使用蛇形命名法,比如max_value;
· 对于常量,采用全大写字母,使用下划线连接,比如MAX_VALUE;
· 如果变量标记为“仅内部使用”,为其增加下划线前缀,比如_local_var;
·当名字与Python关键字冲突时,在变量末尾追加下划线,比如class_。

除变量名以外,PEP 8中还有许多其他命名规范,比如类名应该使用驼峰风格(FooClass)、函数应该使用蛇形风格(bar_function),等等。给变量起名的第一条原则,就是一定要在格式上遵循以上规范。

3.2 描述性要强

3.3 要尽量短

3.4 要匹配类型

3.4.1匹配布尔值类型的变量名

在这里插入图片描述

3.4.2匹配int/float类型的变量名

当人们看到和数字有关的名字时,自然就会认定它们是int或float类型。
这些名字可简单分为以下几种常见类型:
释义为数字的所有单词,比如port(端口号)、age(年龄)、radius(半径)等;
使用以_id结尾的单词,比如user_id、host_id;
使用以length/count开头或者结尾的单词,比如length_of_username、max_length、users_count。

3.4.3匹配其他类型的变量名

在代码中明确标注它们的类型详情

3.4.4超短命名

在众多变量名里,有一类非常特别,那就是只有一两个字母的短名字。这些短名字一般可分为两类,一类是那些大家约定俗成的短名字,比如:
· 数组索引三剑客i、j、k
· 某个整数n
· 某个字符串s
· 某个异常e
· 文件对象fp

4.注释基础知识

Python里的注释主要分为两种,一种是最常见的代码内注释,通过在行首输入#号来表示

除使用#的注释外,另一种注释则是我们前面看到过的函数(类)文档(docstring),这些文档也称接口注释(interface comment)。

在这里插入图片描述