首页 > 其他分享 >变量常量以及注释

变量常量以及注释

时间:2023-11-24 16:11:54浏览次数:36  
标签:username 常量 name 注释 名字 strip 变量名 变量

变量

一言以蔽之:可以变化的量
name = "纯二"
print(name)  # 纯二

name = "Amigo"
print(name)  # Amigo

常量

一言以蔽之:不会变化的量
python中本没有常量的概念,但是约定俗成使用全部大写变量名去定义常量
一般看到这种变量名,尽量(约定俗成)不要去修改。
MAX_CONNECTIONS = 5000

注释

注释一般是对程序的解释说明,原则上应该通俗易懂。
# 不推荐的注释
# 去掉 s 两边的空格,再处理
value = process(s.strip())

# 优秀的注释
# 用户输入可能会有空格,使用 strip 去掉空格
username = extract_username(input_string.strip())

注释的常见写法

# 用户输入可能会有空格,使用 strip 去掉空格
user_name = input("Enter your username:").strip()
'''
    爬虫常用步骤
    1.分析目标网站
    2.获取数据
    3.存储数据到本地
'''
"""
    爬虫常用步骤
    1.分析目标网站
    2.获取数据
    3.存储数据到本地
"""

变量命名规范

1. 描述性强

# 描述性弱的名字:看不懂在做什么
value = process(s.strip())

# 描述性强的名字:尝试从用户输入里解析出一个用户名
username = extract_username(input_string.strip())

2. 遵循PEP8原则

3. 尽量简短

4. 要匹配类型

布尔值(bool)是一种很简单的类型,它只有两个可能的值:“是(True)”或“不是(False)”。因此,给布尔值变量起名有一个原则:一定要让读到变量的人觉得它只会有“肯定”和“否定”两种可能。举例来说,ishas 这些非黑即白的词就很适合用来修饰这类名字。

下面的表内有一些更详细的例子:

变量名 含义 说明
is_superuser 是否是超级用户 是 / 不是
has_errors 有没有错误 有 / 没有
allow_empty 是否允许空值 允许 / 不允许
nullable 是否可以为 null 可以 / 不可以
匹配 int/float 类型的名字

当人们看到和数字有关的名字时,自然就会认定它们是 intfloat 类型。这些名字可被简单分为以下几种常见类型:

  • 释义为数字的所有单词,比如:port(端口号)age(年龄)radius(半径)
  • 使用 _id 结尾的单词,比如:user_idhost_id
  • 使用 length/count 开头或者结尾的单词,比如: length_of_usernamemax_lengthusers_count

最好别拿一个名词的复数形式来作为 int 类型的变量名,比如 applestrips 等。因为这类名字,会和那些装着 AppleTrip 的普通容器对象(List[Apple]、List[Trip])相混淆。为了避免混淆,我建议用 number_of_applestrips_count 这种复合词来作为 int 类型的名字。

5. 超短命名

在众多变量名里,有一类名字非常特别,那就是只有一两个字母的短名字。这些短名字一般可分为两类,第一类是那些大家约定俗成的短名字,比如:

  1. 数组索引三剑客 ijk
  2. 某个整数 n
  3. 某个字符串 s
  4. 某个异常 e
  5. 文件对象 fp

我并不反对使用这类短名字,自己也经常用,因为它们写起来的确很方便。但如果条件允许,我还是建议尽量用更精确的名字替代它们。比如,在表示用户输入的字符串时,用 input_str 替代 s 总是会更明确一些。

另一类短名字,则是对一些其他常用名的缩写。比如,在使用 Django 框架做国际化内容翻译时,常常会用到 gettext 方法。为了方便,我们常会把 gettext 缩写成 _ 来使用:

from django.utils.translation import gettext as _

print(_('待翻译文字'))

如果你在项目中发现有一些长名字会重复出现,那你也可以效仿上面的方式,为这些长名字设置一些短名字作为别名。这样可以让代码变得更紧凑,更好读。但同一个项目内的超短缩写不宜太多,否则效果就会适得其反。

命名其它技巧

  • 在同一段代码内,不要出现多个相似的变量名,比如同时使用 usersusers1users3 这种序列
  • 你可以尝试用换词来简化复合变量名,比如用 is_special 来代替 is_not_normal
  • 如果你苦思冥想都想不出一个合适的名字,请打开 GitHub[4],到其他人的开源项目里找找灵感吧。

标签:username,常量,name,注释,名字,strip,变量名,变量
From: https://www.cnblogs.com/ccsvip/p/17854000.html

相关文章

  • Python 变量与函数
    Task3变量与函数变量变量是一个名字,他所指的是一段数据使用=来对这段区域进行复制x=5print(x)print(x*2)新的值会覆盖旧的值新的值的数据类型不必与旧的值的数据类型相同y=10print(y-2)y=Trueprint(y)运行结果:变量命名规则:必须以字母或者下划......
  • js 全局变量
    1、赋值并保存import{setSessionStorage}from'@/store/index' Vue.prototype.$userId=res.result.userInfo.idVue.prototype.$userType=res.result.userInfo.postsetSessionStorage()2、index.jsexportfunctionsetSessionStorage(){varstore={......
  • pythonChap3变量与函数
    变量与操作变量用=赋值新的值会覆盖掉旧的值新值的数据类型不一定要与旧的相等变量命名规则:必须以字母或下划线(_)开头命名可由字母、数字和下划线组成大小写敏感尽量避免使用保留字命名保留字:['False','None','True','peg_parser','and','as','assert','async......
  • 聪明办法学python chap2数据类型与操作 3变量与函数
    Python(二)数据类型与操作类型print(type(2))#整型intprint(type(2.2))#浮点型floatprint(type(2>3.4))#布尔型boolprint(type(type(2)))#类型typeprint(t......
  • django模板使用的两种方式 模板语法之变量
    模板语法之变量DTL:DjangoTemplateLanguage1模板中使用{{python变量}}############views.pydefindex(request):num=10ss='lqzishandsome'b=Falsell=[1,2,43]dic={'name':'lqz','age':18}deftes......
  • Python Chap3 变量与函数
    #变量与函数##变量1.变量是一个**名字**,它所指代的是一段数据2.使用=来对这段数据的区域进行赋值x=53.新的值会覆盖掉旧的值4.新值的数据类型不必与旧值相同##变量命名规则1.必须以字母或者下划线_开头2.命名可由字母,数字或下划线组成3.大小写敏感4.尽量避免使......
  • 变量与函数Variables and Functions
    Task04:变量与函数VariablesandFunctions变量Variables变量是一段数据,用"="对某个变量名赋值新的值会覆盖掉旧的值新值的数据类型不必与旧值相同x=5print(x)x="data"print(x)data变量命名规则:必须以字母或下划线(_)开头命名可由字母、数字和下划线组成大小写敏感......
  • 无涯教程-Tk - 特殊变量
    在Tk中,无涯教程将某些变量归类为特殊变量,并且它们具有预定义的函数。特殊变量列表在下面列出。Sr.No.SpecialVariable&Remark1tk_library用于设置标准Tk库的位置。2tk_patchLevel指Tk解释器的当前补丁程序级别。3tk_strictMotif当非零时,Tk会尝试尽可能紧密......
  • MySQL变量,流程控制与游标
    变量,流程控制与游标1.变量在MySql数据库的存储过程和函数中,可以使用变量来存储查询或计算中间结果数据,和输出最终的结果数据。在MySql数据库中,变量分为系统变量以及用户自定义变量。1.1系统变量1.1.1系统变量分类变量由系统定义,不是用户定义,属于"服务器"层面。启动......
  • webpack的html模板中插入变量写法
    vue-cli文档中的描述如下Index文件#public/index.html 文件是一个会被 html-webpack-plugin 处理的模板。在构建过程中,资源链接会被自动注入。另外,VueCLI也会自动注入resourcehint(preload/prefetch、manifest和图标链接(当用到PWA插件时)以及构建过程中处理的Ja......