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

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

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

变量有什么用

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

  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. NodeJS全栈开发利器:CabloyJS究竟是什么

    CabloyJS CabloyJS是一款顶级NodeJS全栈业务开发框架, 基于KoaJS + EggJS + VueJS + Framework7 文档 官网 && 文档 演示 PC ...

  2. 【生成对抗网络学习 其一】经典GAN与其存在的问题和相关改进

    参考资料: 1.https://github.com/dragen1860/TensorFlow-2.x-Tutorials 2.<Generative Adversarial Net> ...

  3. Eclipse for Python开发环境部署

    Eclipse for Python开发环境部署 工欲善其事,必先利其器. 对开发人员来说,顺手的开发工具必定事半功倍.自学编程的小白不知道该选择那个开发工具,Eclipse作为一个功能强大且开源免费 ...

  4. VMware虚拟机基于contos 7 搭建lnmp环境全过程

    这个环境也整了几次了,由于本人比较懒,没有记住.找资料很麻烦,就自己动手咯 1.下载VMware虚拟机   (有注册码)     地址:http://www.zdfans.com/5928.html ...

  5. 重学ES系列之新增的几个循环方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. SAP APO-需求计划

    需求计划可以对市场中的产品进行预测. 需求计划过程的输出就是需求计划,它考虑了影响需求的所有因素. 需求计划流程定义了需求计划周期中的活动. 由于需求计划过程以循环的形式进行,因此可以重复某些活动. ...

  7. Flink1.13.1源码解析-Application on yarn(一)

    本篇文章讲述 Flink Application On Yarn 提交模式下,从命令提交到 AM 容器创建 1.脚本入口 flink run-application -t yarn-applicati ...

  8. 电子表格分两级:Excel和WPS是一级,未来5年,75%的人将用二级

    你印象中的电子表格软件是哪些? 估计绝大多数人,都认为电子表格软件不就是Excel和WPS吗?顶多再加上永中office么,难道还有其他的电子表格软件不成? 没有错,excel和WPS,还有永中,确实 ...

  9. 算法竞赛进阶指南 0x43 线段树

    目录 线段树简介 线段树的简单代码实现 建树代码 修改操作 查询操作 线段树的查询操作的时间复杂度分析: AcWing245. 你能回答这些问题吗 思路 代码[时间复杂度:\(O( \space(N+ ...

  10. 第十六天python3 文件IO(二)

    BytesIO操作 io模块中的类 from io import BytesIO 内存中,开辟的一个二进制模式的buffer,可以像文件对象一样操作它: 当close方法被调用的时候,这个buffer ...