python语法基础-变量运算

变量运算

运算

python程序中,我们可以进行各种类型的运算,包括:加、减、乘、除,模等各类的运算

2 + 3

当我们键入上述的程序时,python会自动进行运算,计算2+3的结果。如果我们是在REPL(Read-eval-print loop)模式中时,python会自动输出结果5

REPLRead-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中的值35,然后进行乘法运算,得到最终的结果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

上面的代码首先定义了三个变量abc,并分别赋值2113,然后计算a乘以b,之后加上c的值,即2*11+3,最后的结果为25

python语言中的计算顺序与数学中运算式的计算顺序相同:

  1. 从左到右依次计算
  2. 遇到乘除先算乘除,再算加减
  3. 遇到括号先算括号里的运算

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

假设变量ab已经定义。上面的代码则是计算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的值赋给变量bc

交换变量

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

其他的组合还有

-=
*=
/=
%=
**=
//=
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容