python or 运算符 用作判断两变量的真假

本文详细介绍了Python中的or运算符的工作原理,通过示例展示了如何使用or来判断变量的真假值。当or左边的变量为真时,结果为该变量,否则为右边的变量。同时,解释了bool函数在判断变量布尔值中的应用,如数字、空列表和空字典在bool函数下分别对应False和True。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

举例:

>>> 2 or 3
2
>>> 5 or 0.0
5
>>> [] or 3
3
>>> 0 or {}
{}

用法:

or左边的变量or右边的变量结果
xy假如x为true,结果为x,否则为y

注意:可以用bool函数判断一个变量对应的布尔值

>>> bool(0)
False
>>> bool(1)
True
>>> bool([])
False
>>> bool({})
False
>>> bool("is")
True
>>> bool("")
False
### 如何在Python中重载运算符 #### 运算符重载的概念 在面向对象编程中,运算符重载允许程序员定义类的行为来响应特定的操作符。这使得可以使用标准操作符(如`+`, `-`, `*`等)处理自定义类型的对象。 #### 实现加法运算符的例子 对于两个数值相加非常直观;但对于复杂的数据结构比如矩阵或字符串,则需要指定其行为。下面是一个简单的例子展示如何通过实现特殊方法`__add__()`来自定义类中的加法规则: ```python class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def __add__(self, other): """Overloading the '+' operator""" x = self.x + other.x y = self.y + other.y return Point(x, y) p1 = Point(2, 3) p2 = Point(-1, 2) result = p1 + p2 # Calls p1.__add__(p2) print(f"Result of addition: ({result.x}, {result.y})") ``` 这段代码创建了一个名为Point的新数据类型,并实现了当点相加时应该如何计算的结果[^1]。 #### 绝对值函数的应用场景 除了基本的数学运算外,在某些情况下可能还需要支持其他内置功能。例如,为了能够调用`abs()`获得实例大小的信息,可以在类内部定义`__abs__()`方法: ```python from math import sqrt class Vector: def __init__(self, x_comp, y_comp): self.x_comp = x_comp self.y_comp = y_comp def __abs__(self): magnitude = sqrt(self.x_comp**2 + self.y_comp**2) return magnitude v = Vector(3, 4) magnitude_of_v = abs(v) # Returns 5.0 as per Pythagorean theorem. print(magnitude_of_v) ``` 此部分展示了如何利用绝对值特性为Vector类提供几何意义下的模长属性访问方式[^4]。 #### 关系比较运算符的支持 如果希望自己的类能够在条件判断语句里被用来做真假测试或者与其他同类变量相互对比的话,那么就需要考虑加入相应的魔术方法了。这里给出一个关于关系运算符的小案例: ```python class Temperature: def __init__(self, celsius_temperature): self.celsius_temperature = celsius_temperature def __lt__(self, other): return self.celsius_temperature < other.celsius_temperature t1 = Temperature(25) t2 = Temperature(30) if t1 < t2: print('It\'s cooler today.') else: print('The weather got warmer.') ``` 上述片段说明了怎样让Temperature类的对象之间能正常执行小于号(<>)这样的二元关系判定逻辑[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值