- 变量与赋值
高中学代数的时候我们就接触过各种各样的变量,变量指的是一个抽象的,用来储存值,或者说储存数据的东西。例如我们常说令商品的单价是x,销量是y,x大于0的时候,它俩大致满足y=k/x(k>0)的关系。那x啊y啊k啊都是变量,我们可以赋予它们任意的值。在Python中,变量不仅可以指数字,也可以指向任意Python支持的数据类型(整数、浮点数、布尔值balabala)。举个非常简单的例子:
>>> x = 1 >>> x + 1 2
在这个例子中,我们把整数1这个值赋予了变量x,这个过程称为赋值,使用赋值号“=”。字母x,是这个变量的名字,称为变量名。只要你开心,你也可以把这个变量叫做haha:
>>> haha = 1 >>> haha + 1 2
我们可以在Python中创建任意的变量,赋予它任意的值。赋值的时候请注意,变量必须写在赋值号的左边,要赋的值写在右边。反过来是不行的,试试输入1=haha会怎样。
我们看下面的例子:
>>> haha = 1 >>> haha 1 >>> haha = haha + 1 >>> haha 2
前面我们提到过,在Python中要分清等号’==’和赋值号‘=’。如果从数学角度上讲,haha=haha+1是永远不成立的;而在Python中,系统会先计算赋值号右边的结果,然后赋值给赋值号左边的变量。因此我们看到,haha被重新赋予了整数2这个值,不再指向原先的整数1。
成功给变量赋值以后,我们就可以用这个变量的名字来调用其相关的操作方法了。例如,我将一个列表赋值给变量lst,然后直接用lst这个变量名进行列表的相关操作:
>>> lst=[1, 2, 3, 4] >>> lst[1] 2 >>> lst * 2 [1, 2, 3, 4, 1, 2, 3, 4] >>> len(lst) 4 >>> min(lst) 1
那么使用变量有什么好处呢?
一来是假如你有一个好长好长的列表,每输入一次都不能呼吸,那在实际写程序的时候,我们只要把这个列表写一次,赋值给一个变量,以后要用这个列表,调用这个变量即可。
二来一个优秀的程序中的变量名都是有意义的,可以让别的人读到变量的名字,就大致知道这个变量指的是什么东西。我们在选用变量名的时候,也要遵从这样的原则,力求程序“简明”。例如我想建立一个变量来储存数字相加的和,那么我把它命名为sum就比叫做haha简明。
- 变量名命名规则
Python的变量名称,只能含有大写或小写的26个英文字母,下划线”_”,和数字0-9;且变量名不可以以数字开头。
例如你再开心,这也是不允许的:
>>> 233haha = 1 SyntaxError: invalid syntax
习惯上,Python的变量不会以大写字母开头,也不会全是大写字母,大写字母一般用来表示常量(例如圆周率π,用PI来表示)。虽然怎么取变量名是你的自由,但是好的变量名还是要遵从:简洁有意义这个原则。对于需要多个单词才能表达的名称,可以用下划线连接:my_num,或者用骆驼拼写法(camelCase):myNum。在同一个程序中,二者选其一不要混用。
另外,有一些名称是Python的内部命令,我们也不能用它们作为变量名,
False | break | else | if | not | while |
None | class | except | import | or | with |
True | continue | finally | in | pass | yield |
and | def | for | is | raise | |
as | del | from | lambda | return | |
assert | elif | global | nonlocal | try |
不用背诵…你随便挑一个赋值试试会怎样
这一节中讲到的变量名命名规则,实际上只适用于Python3之前的版本。Python3之前的版本都采用ASCII编码(关于编码后面的章节会详细讲),也就是说他们只能识别26个英文字母。然鹅从Python3开始,编码换成了Unicode,这样一来实际上Python3已经可以识别很多其他语言的字符(中文、阿拉伯语等等)。也就是说:
>>> 哈哈 = 123 >>> 哈哈 + 1 124
也是可以运行的!
但是,当今绝大多数的程序、编程语言规范上依旧要求变量名只能是ASCII编码的英文字母组成。为了符合国际大流,本教程所有的变量名依然严格遵守这一节中提到的命名规则。
- 本节练习
将整数666赋值给变量a,并用布尔表达式检验变量a是否等于整数666
看答案
>>> a = 666 >>> a == 666 True
酱哦
找到字符串’I love Python. Python makes me happy. Everyday I wake up and I start to learn Python. Python is soooo great!’中索引号为41,5,23,2,-36和45的字符,并按这个顺序将它们组合成一个新字符串。
看答案
>>> s='I love Python. Python makes me happy. Everyday I wake up and I start to learn Python. Python is soooo great!' >>> s[41] + s[5] + s[23] + s[2] + s[-36] + s[45] 'really'
酱哦
如果还有什么问题或者发现了文章的错误,欢迎给我留言!邮箱可以随便乱写~