python 小知识:三元运算符

    在阅读Pytorch的官方文档时,突然看到这个代码,一时之间没反应过来。仔细看是个嵌套的三元运算符。

 # Get cpu, gpu or mps device for training.
device = (
    "cuda"
    if torch.cuda.is_available()
    else "mps"
    if torch.backends.mps.is_available()
    else "cpu"
)
print(f"Using {device} device")

上面代码先使用 torch.cuda.is_available() 函数来判断当前计算机是否支持 CUDA(即是否有可用的 GPU 设备)。如果支持 CUDA,则将设备类型设置为 "cuda",否则继续判断是否支持 MPS,如果支持 MPS,则将设备类型设置为 "mps",否则将设备类型设置为 "cpu"

下面梳理下三元运算符,加深下印象。        

         三元运算符是一种简化代码的语法结构,它可以用于在一行代码中进行简单的条件判断,其语法格式如下:condition 是一个布尔表达式,如果为 True,则返回 a 的值,否则返回 b 的值。这种语法结构也被称为条件表达式。

a if condition else b

示例代码:

x = 10
y = 20
max_value = x if x > y else y
print(max_value)

三元运算符的其他用法

  • 返回函数值 

    可以使用三元运算符在一行代码中返回函数的值。例如:

def get_max(a, b):
    return a if a > b else b

print(get_max(10, 20))  # 输出 20
  • 列表推导式

可以使用三元运算符在列表推导式中进行条件筛选。例如:

numbers = [1, 2, 3, 4, 5]
even_numbers = [x for x in numbers if x % 2 == 0]
odd_numbers = [x for x in numbers if x % 2 != 0]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值