联想说 Python 基础 06 - 运算符
运算符
目标:掌握 Python 中的运算符以及使用。
我都不想跟你们讲运算符,跟你们讲运算符感觉都有点小瞧你们。
所以要不要讲呢?
嗯,还是小瞧你们一下吧 (¬、¬)
说到运算符,相信大家都不熟悉 呸,口误,应该是不陌生。所以在这里呢就不说那么多废话了,直接看 Python 中是怎么用这些运算符,又有哪些是不一样的。
算术运算符
常见的算数运算符无非就是 加减乘除 之类的了,还有一些比较高级的可以看看计算器上面的符号,那些很多 Python 都没有 (¬‿¬)。
那怎么算那些没有的呢?那就不是我们这里所讲的内容该关心的事情了。
学习技巧:不要钻牛角尖,该放手时就放手,你会学(活)的更开心。
加减乘除
关于加减乘除,这里就以代码的形式给你们展示一下:
num1 = 1 + 1
num2 = 1 - 1
unm3 = 1 * 1
num4 = 1 / 1
其实前面要不要变量关系不大哈,因为这个值咱们也没用。如果这个值是对你有用的,记得变量的命名要有特点一些。
其次,加减和数学中的符号一样,但是乘除的话,注意一下,没有完全一样的符号,是用 * 和 / 代替的。
另外,不要看我这里都是数字之间的运算,其实变量之间也是可以的,在数学中我们也见过 x*y 嘞,是不。
以后这些
举一反三的东西,就都你们自己反了。
Python 中的运算符
除了这些外,Python 中还存在一些符号,比如:
-
取整除://单纯的除法运算得到的结果是小数,想要拿到整数部分就用整除。
注意:它遵循向下取整,不管四舍五入的规则,直接忽略小数。
-
取余除:%两数相除取余数部分,拿到整除余下的部分。
-
幂:**这个熟悉哈,就是次方。
示例:
a = 9
b = 5
# 1. 取整除://
print(a // b) # 1
# 2. 取余除:%
print(a % b) # 4
# 3. 幂:**
print(a ** b) # 59049
优先级
既然是运算符,自然就有优先级了,Python 中运算符的优先级与数学中的差不多。当然,Python 也支持使用小括号,所以如果你记得也不想记优先级,那就多用小括号来提升优先级吧。
比如:
res = (1 + 2) * 3
print(res) # 9
赋值运算符
赋值运算符,主要需要了解什么是赋值。那什么是赋值呢?
比如前面提到的 设 x = 1,这里的 x 本来是没有值的,是我们通过 = 把右边的 1 的值给左边的 x,所以 x 有值了。这里把 1 给 x 的过程可以称为赋予的过程,也叫赋值。
所以,赋值运算符不就是等号(=)吗?
嗯,确实是的。不过在 Python 中对于赋值运算符进行了扩展,让它的功能更加强大(说简单点就是用偷懒)。
复合赋值运算符
怎么让它强大,强大在哪?先来看一个赋值运算:
a = 9
b = 5
a = a + b
print(a) # 14
在这段代码中只有一个赋值运算,也就是 a = a + b,它是把 a+b 的值重新赋值给 a。
既然说到了对赋值运算符偷懒,那就在这上面做文章。怎么偷懒呢?
a = 9
b = 5
a += b
print(a) # 14
这样,答案完全一样,也就是说 a = a + b 等价于 a += b(像不像数学里说的提公因式)。
这个呢,也不用记,想用就用,不想用上面不是还有一个一样能实现的嘛,没有好坏之分。
另外,除了这里演示的 += 外,其他的运算符与 = 搭配能实现类似的效果,自己动手试试吧!!
除了这些还有一些其他的运算符,更多运算符我们后面碰到适合的情况再看。
输入函数 input
input 使用
前面了解到了在 Python 中可以实现运算,不过如果我们的运算都是自己事先定义好的数字那多无聊,能不能像计算器一样接收我们自己传递过去的数字?
可以呀,这需要借助 Python 给我们提供的工具 - input 实现。intput 有了解英语的就知道,它表示输入,通过它我们就可以使用到输入的值了,怎么使用?看下面:
content = input()
print(content)
这是最简单的输入了,input() 可以接收输入的内容,那在哪输入?
在控制台(编写并启动程序后,控制台会迟迟不结束,它是在等待你的输入)。
接收了输入的内容后,它把接收到的内容赋予给了 content 变量(它是变量,不是特殊单词,可以自己给)。所以在后面通过 print 就可以打印出输入的内容了(好像没啥用哈 ( ̄▽ ̄)!!)。
添加提示内容
由于启动程序后迟迟没有内容,所以不知道到底啥时候输入内容,所以我们可以自己写一些提示信息,比如这样:
content = input("请输入你的名字:")
print(content)
结果就会有提示 请输入你的名字:,这段内容是不会赋值给前面的变量的,不用担心:
请输入你的名字:kitty
kitty
探讨:input() 赋予的数据是什么类型?
猜测:给什么类型,得什么类型。
测试:
a = 9
num2 = input("请输入你数字:")
print(a + num2)
结果报错:TypeError: unsupported operand type(s) for +: 'int' and 'str'。
啥意思,不能用?
翻译一下看看嘛,它是说类型错误,不支持 整型 和 字符串 的加法运算。
给的变量是整型没有问题,那问题就在 num2 变量,它可能是字符串了,所以不能相加。
Python 给了一个工具帮我们查看数据类型,也就是 type()。
用法:
结果 = type(要检测类型的东西)
用它来查看 input() 的类型:
num2 = input("请输入你数字:")
print(type(num2)) # <class 'str'>
str,它表示结果是一个字符串。
结论:input() 赋予的是字符串。
怎么结合整数运算?
既然 input 赋予的是字符串,并且与整数一起运算会出错,那怎么实现类似计算器的运算?
问题出在数据类型错误,那能不能改变一下数据类型呢?
刚好,Python 也给了对应的工具,帮我们改变一个变量的数据类型,而这里我们是要与整数一起运算,所以目标是把字符串转换成整型,所以选择工具 - int() 来实现:
a = 9
num2 = input("请输入你数字:")
# 改变数据类型为 整型
num2 = int(num2)
print(a + num2)
这样就不会报错了。
小意外
在练习的过程中,我们想两个变量都通过 input 得到,然后忘记了转换成整型,结果成了这样:
num1 = input("请输入你数字:") # 1
num2 = input("请输入你数字:") # 2
print(num1 + num2) # 12
我们分别输入的是 1 和 2,最后得到的结果 12,这是为什么?
为什么不报错?为什么得到的是 12?
因为 + 不仅仅用在整数之间的运算,还可以用在其他的类型中,比如用在字符串中就充当了粘合剂,它可以把两个字符串粘在一起。
而这里的字符串分别是 1 2,粘在一起不就是 12 了吗。

浙公网安备 33010602011771号