变量运算
运算
python
程序中,我们可以进行各种类型的运算,包括:加、减、乘、除,模等各类的运算
2 + 3
当我们键入上述的程序时,python
会自动进行运算,计算2+3
的结果。如果我们是在REPL(Read-eval-print loop)
模式中时,python
会自动输出结果5
。
REPL
即Read-eval-print loop
,读取,执行,打印,循环。当在python
命令行模式(直接执行python
程序,后面不跟文件)时,我们每输入一行代码,python
就会执行这行代码,并打印执行结果,不断重复这个过程。
- 加法
2 + 3
# 结果 5
10.1 + 11
# 结果 21.1
- 减法
5 - 1
# 结果 4
27 - 6
# 结果 21
- 乘法
23 * 9
# 结果 207
10 * 0.5
# 结果 5.0
乘法是使用星号
*
,键盘上按住shift
,然后按数字8
- 除法
10 / 2
# 结果 5.0
23 / 5
# 结果 4.6
1 / 3
# 结果 0.33333333333333333
- 取模——返回除法的余数
11 % 2
# 结果 1 11除2得5余1
11 % 3
# 结果 2 11除3得3余2
15 % 4
# 结果 3 15除4得2余3
- 取整除——返回商的整数部分(向下取整)
9 // 2
# 结果 4
213 // 5
# 结果 42
-9 // 2
# 结果 -5,负数运算,除法结果为-4.5,向下取整-5
- 乘方
2 ** 5
# 结果 32 2*2*2*2*2=32
13 ** 3
# 结果 2197 13*13*13=2197
注:上述井号
#
在python
是程序的注释,计算机会自动忽视#
后面的内容,注释就是对代码的解释和说明,主要是给阅读程序的人设计的,其目的是让人们能够更加轻松地了解代码。
使用变量进行运算
在计算时,我们可以使用变量来替代计算表示式中的部分数值,如下
a = 2
a + 3
上面的程序中,第一行先定义了一个变量a
,并将2
存储到这个变量中。第二行代码则使用变量a
进行了一次加法计算,当计算机执行这行代码时,知道a
是一个变量,它会自动取出存储在a
中的值2
,然后用2
加上后面的3
,得到最终的结果,5
。
示例
a = 3
b = 5
a * b
上面的程序,第一行代码定义了一个变量a
,并为其赋值3
,第二行代码定义了一个变量b
,并为其赋值5
,第三行代码使用变量a
和变量b
的值进行计算,首先取出a
,b
中的值3
和5
,然后进行乘法运算,得到最终的结果15
a = 10
b = 3.5
a + b
结果 13.5
a = 7
c = 2
a / c
结果 3.5
此处再补充一个减号运算符-
,他可以将一个变量的值取反
a = 2- a
上面得到的结果为-2
。原本变量a
的值为2
,当在a
前方加一个减号-
时,就相当于对变量取反,得到他的相反数-2
。
复杂的四则运算
python
程序除了可以进行简单的四则运算,还可以直接计算负责的综合算式,如下
a = 2
b = 11
c = 3
a * b + c
上面的代码首先定义了三个变量a
、b
、c
,并分别赋值2
、11
、3
,然后计算a
乘以b
,之后加上c
的值,即2*11+3
,最后的结果为25
。
python
语言中的计算顺序与数学中运算式的计算顺序相同:
- 从左到右依次计算
- 遇到乘除先算乘除,再算加减
- 遇到括号先算括号里的运算
python
运算中只有小括号()
,没有中括号[]
和大括号{}
。运算中,先算最里面的小括号里的运算
示例
a = 2
b = 9
c = 3
a + b / c + 2.5
结果 2 + 9 / 3 + 2.5 = 7.5
a, b, c, d = 12, 78, 69, 3
2 * (c + d) / a + b
结果 2*(69+3)/12+78=90.0
a, b, c, d, e, f = 12, 23, 2, 46, 2.5, 3
(a + b) + 2 * (c * (d - e + f))
结果(12+23)+2*(2*(46-2.5+3))=221.0
赋值运算
虽然使用变量进行了计算,但计算结果对程序并没有影响,所有变量的值没有影响
a = 2
a + 3
上面的计算结束后,虽然得到了结果5
,但执行下一行代码时,这个结果已经丢失了。变量a
的值仍然是2
。
为了能够保存计算的结果,我们需要使用赋值运算,将计算的结果保存到变量中。程序中的所有数据只有保存到变量中才不会丢失。
赋值运算的语法与变量定义的语法相似。
b = 2 * a + 1
假设变量a
和b
已经定义。上面的代码则是计算2*a+1
的值,并将其结果保存到变量b
中。
如果变量
b
还没有定义,那上面代码的含义是定义一个变量b
,并将2*a+1
计算出的值作为初始值,存储到变量b
中。所以,为一个还没有定义的变量赋值,也就是定义这个变量并为其赋值
从上面的程序中可以看出,python
中的等号=
并不是相等的意思,而是将等号右边计算出的值,存储到等号左边的变量中。如果左边的变量还未定义,那就定义该变量。
这个过程就叫做赋值,将等号右边的值赋予给左边的变量。
这种操作也是运算,叫做赋值运算。
更多的例子
a = 10
a = a + 1
执行完上面两行代码后,变量a
的值为11
。
第一行代码首先定义一个变量a
,并为其赋值10
第二行代码首先计算等号右边的值,为a+1=10+1=11
,然后将结果11
赋给变量a
,最后变量a
的值为11
。
程序的执行结果再一次说明了python
中的单个等号不是表示相等。表示相等关系的运算符我们在条件章节有所介绍。
a = 10
b = 2 * a
c = 1 + 3 * a + b
变量c
的值:51
a = 5
b = 2
c = 3
d = a / b + c - 1
变量d
的值:4.5
多重赋值
如果多个变量的值相同,我们可以使用多重赋值
a = 1
b = c = a + 1
上面的程序中,我们首先定义了变量a
,然后将a+1
的值赋给变量b
和c
。
交换变量
c = a
a = b
b = c
假设之前变量a
和变量b
已经定义,都有值。程序执行完后,变量a
的值变成了变量b
的值,而变量b
的值变成了变量a
的值。
第一行代码将变量a
的值赋值给变量c
,此时c
的值是a
最开始的值
第二行代码将变量b
的值赋值给变量a
,此时a
的值变成了b
最开始的值
第三行代码将变量c
的值赋值给变量b
,因为此时变量c
中存储的是最开始a
的值,所以此时b
的值变成了最开始变量a
的值。
最终,变量a
和变量b
的值就交换了。
在python
中,交换变量的值还有另一种简便的写法
a,b = b,a
自增运算
在python
中,等号=
可以和一个算术运算符组合在一起,将计算结果重新赋值给左边的变量,这一操作被称为增量赋值
x = x + 1
就可以写成
x += 1
其他的组合还有
-=
*=
/=
%=
**=
//=
暂无评论内容