变量其实很简单,不过在使用过程中会遇到一些棘手的问题。 比如一个变量我之前已经用过了,现在我要定义一个类似的变量,该怎么办?

还有,很多小伙伴其实知道变量应该遵守什么规范,应该代表什么数据,但是大学英语没学好,不知道怎么给变量取名字。

这些问题,其实都有比较好的解决方案。 我们还是从最基本的操作开始吧,这样能加深理解,没准自己就找到了更好的方式。

变量有什么用

变量的作用是用来存储数据,当一个数据很大,或者需要使用多次的时候,就可以通过变量来存储。 假设我们现在有一串比较长的数据需要打印多次,要每次输入这么长的数据就比较麻烦。

  print("今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。")
print("今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。")
print("今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。")
print("今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。")
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。

每次要打很多字,很累,而且并不能保证每次输入的内容是 100% 一致的。而变量把数据存起来之后,每次取出非常方便,还能保证一致性。使用变量之后,代码也变得更加简洁。

  notes = "今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。"
print(notes)
print(notes)
print(notes)
print(notes)
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。

在这个例子中,= 号左边的 notes 是变量名称,= 号右边的就是变量的值。


image.png

变量命名规范

变量名称不能随便取,需要遵守一定的规范。变量名可以包含字母、数字、下划线_, 但是不能以数字开头,而且不能是 python 的内置关键字。所有的内置关键字都可以通过以下程序获取:

import keyword
print(keyword.kwlist)
['False', 'None', 'True', '__peg_parser__', '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']

试着判断以下以下哪些是正确的变量名,哪些不是:

a = "mingtian"
_name = "mingt"
my-age = 19
your_age = 16
his age = 33
711 = "address"
try = "again"

一个合法的变量只需要遵守上面的规则,但是要取一个好的变量名称并不容易,它需要有明确的意义,让别人一看就知道你这个变量代表的含义。 多看优秀程序员的命名,提供英语能力是编写好的变量名最重要的途径。 比如用 name 表示名字, 用 age 表示 19 。

name = "jiubing"
wexin_account = "jiubing1"

变量命名方式

细心的小伙伴会发现,Python中每种命名的方式会有细微的差别。

命名变量的时候通常采用蛇形命名,或者下划线命名,每个单词之间用下划线连接。

your_name = "jiubing"
my_age = 16

除了函数以外,在命名函数、模块、包的时候通常采用蛇形命名方式。

而Python的类采用的是驼峰式命名法,单词的首字母大写,看起来就像骆驼峰一样。

class YourDream:
 pass

英语不好怎么办

很多小伙伴英语水平不自信,就算想到命名需要的意思,也想不到对应的单词,所以有的人干脆用中文命名。

名字 = "jiubing"
号码 = "jiubing1"

Python其实早就以及支持中文命名,但是还是很少人这么使用,这么命名在公司里面不一定能通过审核。 如果公司支持这种命名方式,我觉得就用中文命名可以;如果不行,那只能换其他的策略。

第一个比较好用的方式是:用翻译词典,这也是我用的主要方式。 我的英语不是很好,所以有的时候命名不得不借助翻译工具。 很多人会用浏览器打开百度翻译,不过我觉得这稍微有一点麻烦。

我推荐两种方式,第一种是安装划词软件,比如我用的 qtranslate, 选中需要翻译的中文,使用快捷键就能快速实现翻译。我用过几款工具,这个是我用非常顺手的,已经使用好多年了,如果找不到下载地址,私聊我,发安装包。

第二种方式使用 utools 这一类的效率工具,里面集成了翻译功能,也可以通过快捷键快速翻译,具体的操作我就不描述了,如果实在不会的找我私聊吧。

需要注意的是,翻译完了以后一定要花一两秒种时间记一下这个单词,因为下次还有可能遇到。 一个变量名一旦你用了第一次,非常有可能还会使用第二次的,在我们频繁使用翻译软件得到英语单词时,也要慢慢积累词汇量。 不能靠翻译软件过一辈子。

Python小白自学笔记:英语不好,变量怎么命名的更多相关文章

  1. python笔记:#008#变量的命名

    变量的命名 目标 标识符和关键字 变量的命名规则 0.1 标识符和关键字 1.1 标识符 标示符就是程序员定义的 变量名.函数名 名字 需要有 见名知义 的效果,见下图: 标示符可以由 字母.下划线 ...

  2. 【python】自学笔记

    参考文献 1.环境安装 1.1 python 工作环境 2.7.14 1.2 pycharm community2018.1.1 4 x64 2.第一行代码 2.1 python交互模式, >& ...

  3. 【学习笔记】Shell-1 变量:命名规范、变量赋值/取值/取消、局部变量/全局变量、预设环境变量

    1.Shell变量 从变量的实质上来说,变量名是指向一片用于存储数据的内存空间. Shell变量是一种弱类型的变量,即声明变量时不需要指定其变量类型,也不需求遵循“先声明再使用”的规定,想用即可用. ...

  4. 简明Python教程自学笔记——命令行通讯录

    [前言]学习Python已经有一段时间了,相关的书籍资料也下载了不少,但是没有一本完整的看完,也没有编出一个完整的程序.今天下午比较清闲就把<简明Python教程>看了一遍,然后根据书里面 ...

  5. Python 类中方法的内部变量,命名加'self.'变成 self.xxx 和不加直接 xxx 的区别

    先看两个类的方法: >>> class nc(): def __init__(self): self.name ='tester' #name变量加self >>> ...

  6. Python强化训练笔记(二)——元组元素的命名

    对于一个元组如: >>> s1 = ('Jim', 21, 'boy', '5788236@qq.com') 我们要得到该对象的名字,年龄,性别及邮箱的方法为s1[0],s1[1], ...

  7. python自学笔记(一)

    我没学过python,通过网上和一些图书资料,自学并且记下笔记. 很多细节留作以后自己做项目时再研究,这样能更高效一些. python基础自学笔记 一.基本输入和输出 pthon3.0用input提示 ...

  8. python小白入门基础(二:变量)

    #变量:可以改变的量就是变量,实际上是由内存开辟的一块空间,临时存在内存中,以便后续代码使用.#作用:代指内存中某个地址中的内容. #1.变量的概念name = "王五"name ...

  9. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

随机推荐

  1. MyBatis - MyBatis的层次结构

    API接口层 规定了一系列接口,能够向外提供接口,对内进行操作. 数据处理层 负责SQL相关处理工作,如:SQL查找.SQL执行.SQL映射等工作. 基础支撑层 提供基础功能支撑,包括连接管理.事务管 ...

  2. c++ RMQ

    关于 RMQ ,即 Range Maxnum (Minnum) Query .用于查询静态区间最大(最小)值, 思路基于动态规划 (DP) 思路 设 F[i][j] 为 [i,i+2j] 区间内的的最 ...

  3. Django——模板应用

    一.前言 前提:已经用命令提前创建好了项目DjangoTest,以下是基于该项目进行实战演练. 二.项目下创建templates文件夹 1.创建templates文件夹 2.创建HelloWorld. ...

  4. 关于vue打包上线遇到的坑

    打包上线经常会经常遇到路径找不到,页面空白,那么下面我们就解决一下. 第一步.先找到config目录的index.js 改成如上图红框标注所示 第二步.找到build下的utils.js文件 加上如上 ...

  5. SAP 实例 10 List Box with value list from input help

    *&---------------------------------------------------------------------* *& Report DEMO_DROP ...

  6. iNeuOS工业互联网操作系统,视图建模(WEB组态)增加2154个行业矢量图元、大屏背景及相关图元

     1.   概述 现在三维数字孪生(3D)比较流行,各行业各领域的项目也都在上数字孪生项目或是项目中包括数字孪生模块,能做的厂家也很多.从全厂区的应用视觉的冲击力还是比较震撼,但是数字孪生不太可能包括 ...

  7. 【摸鱼神器】UI库秒变低代码工具——表单篇(一)设计

    前面说了列表的低代码化的方法,本篇介绍一下表单的低代码化. 内容摘要 需求分析. 定义 interface. 定义表单控件的 props. 定义 json 文件. 基于 el-form 封装,实现依赖 ...

  8. Cron表达式(七子表达式)

    一.七子含义 秒 分 时 日 月 周 年 可用的值 0~59 0~59 0~23 1~31 112(JANDEC) 17(SUNSAT) 1970~2099 可用的通配符 , - * / , - * ...

  9. CesiumJS 2022^ 源码解读[7] - 3DTiles 的请求、加载处理流程解析

    目录 1. 3DTiles 数据集的类型 2. 创建瓦片树 2.1. 请求入口文件 2.2. 创建树结构 2.3. 瓦片缓存机制带来的能力 3. 瓦片树的遍历更新 3.1. 三个大步骤 3.2. 遍历 ...

  10. 服务器与Ajax

    前端相关的技术点 HTML   主要用来实现页面的排版布局 CSS   主要用来实现页面的样式美化 JavaScript   主要用来实现前端功能特效 Ajax基础知识铺垫 客户端与服务器 通信协议( ...