变量其实很简单,不过在使用过程中会遇到一些棘手的问题。 比如一个变量我之前已经用过了,现在我要定义一个类似的变量,该怎么办?
还有,很多小伙伴其实知道变量应该遵守什么规范,应该代表什么数据,但是大学英语没学好,不知道怎么给变量取名字。
这些问题,其实都有比较好的解决方案。 我们还是从最基本的操作开始吧,这样能加深理解,没准自己就找到了更好的方式。
变量的作用是用来存储数据,当一个数据很大,或者需要使用多次的时候,就可以通过变量来存储。 假设我们现在有一串比较长的数据需要打印多次,要每次输入这么长的数据就比较麻烦。
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 是变量名称,=
号右边的就是变量的值。
变量名称不能随便取,需要遵守一定的规范。变量名可以包含字母、数字、下划线_
, 但是不能以数字开头,而且不能是 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 这一类的效率工具,里面集成了翻译功能,也可以通过快捷键快速翻译,具体的操作我就不描述了,如果实在不会的找我私聊吧。
需要注意的是,翻译完了以后一定要花一两秒种时间记一下这个单词,因为下次还有可能遇到。 一个变量名一旦你用了第一次,非常有可能还会使用第二次的,在我们频繁使用翻译软件得到英语单词时,也要慢慢积累词汇量。 不能靠翻译软件过一辈子。