Python 04

Python 04

1 算数运算符

1.1 算数运算符 +

  • 例 1:
x1 = 1 + 2
print('x1 =',x1)

运行结果:

x1 = 3
  • 例 2:
x1 = 1 + 2
print('x1 =',x1)

运行结果:

x2 = hello world

1.2 算数运算符 -

  • 例 1:
x1 = 5 - 2
print("x1 =", x1)

运行结果:

x1 = 3

注:只要有浮点型 (float) 变量参与运算,则运算结果也为浮点型

  • 例 2:
x2 = 5 - 2.0
print("x2 =", x2)

运行结果:

x2 = 3.0

*错误案例 1

x = 'python' - 'p'
print(x)
  • 报错内容:TypeError: unsupported operand type(s) for -: ‘str’ and ‘str’
  • 错误原因:字符串不能进行减法运算

1.3 算数运算符 *

  • 例 1:
x1 = 2 * 2
x2 = 2.0 * 2
print("x1 =", x1)
print("x2 =", x2)

运行结果:

x1 = 4
x2 = 4.0

注:整型变量(int)与字符串变量 (str) 相乘,输出结果为字符串变量的重复,重复次数为整型变量的值

  • 例 2:
x3 = 5 * 'a'
print("x2 =", x3)

运行结果:

x3 = aaaaa

*错误案例 2

x = 2.0 * 'a'
print(x)
  • 报错内容:TypeError: can’t multiply sequence by non-int of type ‘float’
  • 错误原因:字符串不能与浮点型变量相乘

*错误案例 3

x = 'a' * 'b'
print(x)
  • 报错内容:TypeError: can’t multiply sequence by non-int of type ‘str’
  • 错误原因:字符串之间不能相乘

1.4 算数运算符 /

  • 例 1
x = 6 / 2
print('x =', x)

运行结果:

x = 3.0

运算符为 / 的时候总会返回一个浮点型 (float) 变量

*错误案例 4

x = 6 / 0
print(x)
  • 报错内容:ZeroDivisionError: division by zero
  • 错误原因:除数不能为 0

*错误案例 5

x = 'a' / 'b'
print(x)
  • 报错内容:TypeError: unsupported operand type(s) for /: ‘str’ and ‘str’
  • 错误原因: 字符串之间不能相除

*错误案例 6

x = 'a' / 2
print(x)
  • 报错内容:TypeError: unsupported operand type(s) for /: ‘str’ and ‘int’
  • 错误原因:字符串之间不能相除

1.5 算术运算符 // : 整除 - 除法之后取整数

  • 例:
x = 7 // 3
print(x)

运行结果:

2

1.6 算数运算符 % :求余

  • 例:
x = 7 % 3
print(x)

运行结果

1

1.7 算数运算符 ** :幂运算

  • 例 1:
x = 2 ** 3
print(x)

运行结果:

8
  • 例 2:幂运算的应用 - 开方(有一定的局限性)
x = 25 ** 0.5
print(x)

运行结果

5

2 赋值运算符 =

2.1 基本概念

  • a = 10 表示将数值 10 赋给字符a ,10 = a 无意义
  • 例:给变量重新赋值
x = 2
x = x + 3   # 给 x 重新赋值
print(x)

运行结果

5

2.2 常用的赋值方法

  • x += 3 等价于 x = x + 3
  • x -= 3 等价于 x = x - 3
  • x *= 3 等价于 x = x * 3
  • x /= 3 等价于 x = x / 3
  • x **= 3 等价于 x = x ** 3
  • x //= 3 等价于 x = x // 3
  • x %= 3 等价于 x = x % 3

3 比较运算符 - 比较左侧与右侧变量值的大小关系,最终返回布尔值

3.1 >、 <、 >=、 <=

  • ‘>’: 比较左侧值是否大于右侧值
  • ‘>=’ : 比较左侧值是否大于或等于右侧值
  • < : 比较左侧值是否小于右侧值
  • <=: 比较左侧值是否小于或等于右侧值
  • ord(a) - 返回字符串 a 的 ASCII 值
  • 字符串在参与比较时,取其 ASCII 值进行比较
  • 多位字符串进行比较时,先用两个字符串的首位进行比较
  • 例 1:
r = 10 > 20
print(r)

运行结果:

True

例 2

r = '2' > '11'
print(r)

运行结果:

True

原因:多位字符串进行比较时,先用两个字符串的首位进行比较,即字符串 ‘2’ 和 ‘1’ 进行比较,若能得出结果,则不比较后续位数,直接返回结果

3.2 == 和 !=

  • ==: 比较两个对象(数据)的值是否相等
  • != : 比较两个对象(数据)的值是否不相等

3.3 is 和 is not

  • is: 比较两个对象是否为同一个对象(比较的是对象的 id)
  • is not: 比较两个对象是否不为同一个对象(比较的是对象的 id)

区分 == 、!=、is 和 is not

  • 例 1:
print(1 == True)

运行结果:

True
  • 例 2:
print(1 is True) 

运行结果:

False

原因:1 和True 代表的值相等,但是 1 和 True 不是同一个变量

4 逻辑运算符

4.1 not(逻辑非)- 对符号右侧的值进行非运算,对于布尔值进行取反操作,即 True 变 False,False 变 True

例 1:

a = True
a = not a
print(a)

运行结果:

False

对于非布尔值,非运算会先将其转换为布尔值再取反,0、空串、None 等代表空性的字符串的布尔值为 0,其余字符串的布尔值为1

  • 例:
a = 2
a = not a
print(a)

运行结果:

False

4.2 and(逻辑与)- 对左右两侧的变量进行与运算,只要有一个 False, 就会返回 False, 否则返回 True

  • 例:左侧为逻辑表达式,右侧为该表达式对应的结果
r = True and True    # True
r = True and False   # False
r = False and True   # False
r = False and False  # False

4.3 or(逻辑或)- 对左右两侧的变量进行与运算,只要有一个 True, 就会返回 True, 否则返回 False

  • 例:左侧为逻辑表达式,右侧为该表达式对应的结果
r = True or True    # True
r = True or False   # False
r = False or True   # False
r = False or False  # False

5 非布尔值的与或运算 - 对非布尔值进行与或运算时,python 会先将其转换为布尔值进行运算,最终返回原值

5.1 非布尔值的与运算 - 找 False,若第一个值为 False,则返回 第一个值,否则返回第二个值
  • 例 1:
r = 3 and 2
print(r) 

运行结果:

2
  • 例 2:
r = None and 1
print(r)

运行结果:

None
5.2 非布尔值的或运算:找 True,若第一个值为 True,则返回第一个值,否则返回第二个值
  • 例 3:
r = 3 or 2
print(r)

运行结果:

3

例 4:

r = None or 1
print(r) 

运行结果:

1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值