Python多元运算符和多目运算符(超详细)

我们说的多少元运算符就是这个运算符有多少个运算数。

一元运算符:-1
二元运算符:2-1
三元运算符:x if 条件else y

负号-是一个一元运算符,减号-是一个二元运算符。

一元运算符:-1
二元运算符:2-1
三元运算符:x if 条件else y

三元运算符只适合简单的条件判断,如果是复杂的条件判断直接使用多行代码更容易阅读(代码写出来就行,没必要在三元运算符中搞复杂化)。

a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print(f"{a}>{b}" if a > b else f"{a}<{b}")
# 请输入第一个数:5
# 请输入第二个数:6
# 5<6

三元运算符的语法:a = x if 条件 else y,当条件为真的时候输出x的值,当条件为假的时候输出y的值。

a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print(f"{a}>{b}" if a > b else f"{a}<{b}")
# 请输入第一个数:5
# 请输入第二个数:6
# 5<6

可以创建一个三元运算符,再把三元运算符赋给一个变量。

a = input("请输入用户名:")
b = int(input("请输入密码:"))
c = "欢迎登录!"if a == "星期五" and b == 123456 else "用户名或密码输入错误!"
print(c)

三元运算符支持嵌套,通过嵌套可以执行更复杂的判断(代码写出来就行,没必要在三元运算符中搞复杂化)。

a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print(f"{a}>{b}" if a > b else f"{a}<{b}" if a < b else f"{a}={b}")
# 请输入第一个数:5
# 请输入第二个数:6
# 5<6

Python允许在三元运算符的输出位置放置多条语句用逗号隔开即可,每条语句都会被执行,以元组形式返回。

a = input("请输入用户名:")
b = int(input("请输入密码:"))
c = "欢迎登录!" if a == "星期五" and b == 123456 else "用户名或密码输入错误!"
print(c)
# 请输入用户名:星期五
# 请输入密码:123456
# 欢迎登录!

a = input("请输入用户名:")
b = int(input("请输入密码:"))
c = "你好星期五", "欢迎登录!" if a == "星期五" and b == 123456 else "用户名或密码输入错误!"
print(c)
# 请输入用户名:星期五
# 请输入密码:123456
# ('你好星期五', '欢迎登录!')

a = input("请输入用户名:")
b = int(input("请输入密码:"))
c = print("你好星期五"), "欢迎登录!" if a == "星期五" and b == 123456 else "用户名或密码输入错误!"
print(c)
# 请输入用户名:星期五
# 请输入密码:123456
# 你好星期五
# (None, '欢迎登录!')

a = input("请输入用户名:")
b = int(input("请输入密码:"))
c = "你好星期五", print("欢迎登录!") if a == "星期五" and b == 123456 else "用户名或密码输入错误!"
print(c)
# 请输入用户名:星期五
# 请输入密码:123456
# 欢迎登录!
# ('你好星期五', None)

在三元运算符内部不能使用return关键字来返回值。

def x():
    a = int(input("请输入第一个数:"))
    b = int(input("请输入第二个数:"))
    c = return f"{a}>{b}" if a > b else return f"{a}<{b}" if a < b else return f"{a}={b}"
    print(c)
x()
# 报错
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
c = return f"{a}>{b}" if a > b else return f"{a}<{b}" if a < b else return f"{a}={b}"
print(c)
# 报错

你可能感兴趣的:(Python基础,python,开发语言)