运算符
1、算数运算符
- 下面以a=10,b=20为例进行计算
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加a+b输出结果30 |
- | 减 | 得到负数或是一个数减去另一个数a-b输出结果-10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串a*b输出结果200 |
/ | 除 | b/a输出结果2 |
// | 取整数 | 返回商的整数部分9//2输出结果4,9.0//2.0输出结果4.0 |
% | 取余 | 返回除法的余数b%a输出结果0 |
** | 指数 | a**b为10的20次方 |
() | 小括号 | 提高运算优先级,比如:(1+2)*3 |
-
注意
混合运算时优先级顺序为:
**
高于* / % //
高于+ -
,为了避免歧义,建议用()来处理运算优先级。并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
a = 3
b = 2
print(a + b) # 5
print(a - b) # 1
print(a * b) # 6
print(a / b) # 1.5
# 取整
print(a // b) # 1
# 取余
print(a % b) # 1
# 指数 幂
print(a ** b) # 9
- 扩展
- 字符串的加法 是拼接的
a = '123' b = '456' print(a + b) # 123456
- 在python中 + 两端都是字符串才可以进行加法运算
a = '123' b = 456 print(a+str(b)) # 123456
- 字符串的乘法 是将字符串重复多少次
a = 'test' print(a * 3) # testtesttest
- 字符串的加法 是拼接的
2、赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把=号右边的结果 赋给左边的变量,如num = 1 + 2 * 3,结果num的值为7. |
- 例子
# 单个变量赋值
>>> num = 10
>>> num
10
# 同时为多个变量赋值(使用等号连接)
>>> a = b = 4
>>> a
4
>>> b
4
>>>
# 多个变量赋值(使用逗号分隔)
>>> num1,f1,str1 = 100,3.14,"hello"
>>> num1
100
>>> f1
3.14
>>> str1
hello
3、复合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a 等效于c = c + a |
-= | 减法赋值运算符 | c -= a 等效于c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于c = c * a |
/= | 除法赋值运算符 | c /= a 等效于c = c / a |
//= | 取整赋值运算符 | c //= a 等效于c = c // a |
%= | 取模赋值运算符 | c %= a 等效于c = c % a |
**= | 幂赋值运算符 | c **= a 等效于c = c ** a |
- 例子
>>> a = 100
>>> a += 1 # 相当于执行了 a = a + 1
>>> a
101
>>> a = 100
>>> a -= 1 # 相当于执行了 a = a - 1
>>> a
99
>>> a = 100
>>> a *= 1 # 相当于 a = a * 1
>>> a
100
>>> a = 100
>>> a /= 1 # 相当于 a = a / 1
>>> a
100
>>> a = 11
>>> a //= 2 # 相当于 a = a // 2 (整除)
>>> a
5
>>> a = 11
>>> a %= 2 # 相当于 a = a % 2 (取余,取模,模余)
>>> a
1
>>> a = 11
>>> a **= 2 # 相当于 a = a ** 2 (幂)
>>> a
121
- 总结
+= -= *= /= //= %= **=
+= 最常用
4、比较运算符
- 以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于:比较对象是否相等 | (a==b)返回 False |
!= | 不等于:比较两个对象是否不相等 | (a != b) 返回True |
> | 大于:返回x是否大于y | (a>b)返回 False |
>= | 大于等于:返回x是否大于等于y | (a>=b)返回 False |
< | 小于:返回x是否小于y | (a<b) 返回True |
<= | 小于等于:返回x是否小于等于y | (a<=b) 返回True |
- 代码实例
# 比较运算符返回的都是boolean类型的数据
# == 恒等 判断 == 两边的变量是否是一致
a = 10
b = 10
print(a == b) # True
# != 不等 判断 != 两边的变量是否不一致
a = 10
b = 10
print(a != b) # False
# 扩展: <>这个不等是python2 版本使用的 python3 被遗弃了 不支持了
# >
print(10 > 20)
print(10 > 5)
# >= 大于等于
print(10 >= 10) # True
print(10 >= 5) # True
print(10 >= 20) # False
# < 小于
print(10 < 20) #True
# <= 小于等于
print(10 <= 10) # True
print(20 <= 10) # False
5、逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 只要有一个运算数是False,结果就是False; 只有所有的运算数都为True时,结果才是True; 做取值运算时,取第一个为False的值;如果所有的值都为False,则取最后一个值 | True and True and False 结果为False; True and True and True 结果为True |
or | x or y | 只要有一个运算数是True,结果就是True; 只有所有的运算数都为False时,结果才是False; 做取值运算时,取第一个为True的值,如果值都为False,取最后一个值 | False or False or True 结果为True; False or False or False 结果为False; |
not | not x | 布尔 “非” 如果x为True 则返回False;如果x为False,则返回True。 | not True >False; not False >True |
- 代码实例
# 逻辑运算符 and(与) or(或) not (非)
# and 与
# and 两边的数据 必须全部都是True的时候 才会返回True 只要一端返回的是False 那么就返回False
# and 两边都是False的时候 返回的是False
print(10 > 20 and 10 > 11)
# and 一边是False,一边是True的时候 返回的是False
print(10 > 3 and 10 > 11)
# and 两边返回的都是True则返回的是True
print(10 > 3 and 10 > 4)
# or 或者
# or 的两端都是False 则返回的是False
print(10 > 20 and 10 > 11)
# or 的两端 前面的一端为True 后面的一端为False 则返回的是True
print(10 > 3 and 10 > 11)
# or 的两端 前面的一端为False 后面的一端为True 则返回的是True
print(10 > 20 and 10 > 1)
# or 的两端都是True 则返回的是True
print(10 > 2 and 10 > 1)
# not 非 取反
print(not True) # False
print(not False) # True
print(not (10 > 30)) # True
- 逻辑运算符的性能优化
-
实例代码
# and 的性能优化 a = 36 a > 10 and print("hello word") # 输出 hello word # and的性能优化 当and 前面的结果是False的情况下 那么后面的代码就不再执行了 a < 10 and print("hello word") # 不输出 # or 的性能优化 # or 只要一方为True 那么结果就是True a = 38 a > 39 or print('hello word') # 输出 hello word # 前面为True了 后面就不做判断了 a > 37 or print('hello word') # 不会执行hello word
-
输入输出
1、输出
- 普通输出
print("一个代码狗")
- 格式化输出
# scrapy框架的时候 excel文件 mysql redis
age = 18
name= "test"
# %s代表的是 字符串 %d代表的是数值
print("我的名字是%s,我的年龄是%d" % (name,age)) # 我的名字是test,我的年龄是18
2、输入
- 代码实例
password = input("请输入您的密码")
print("我的密码是%s" % password)