一、个人链接主页
https://hydro.ac/d/datawhale_p2s/user/63162
二、条件语句
1.if条件语句
Python中有if、if-else、和if-elif-else等if条件语句,我们也可以利用逻辑运算符 and、
or
和 not
来构建更复杂的条件判断。例如:
判断一个数字是否为正数:
number = 5
if number > 0:
print("这是一个正数!")
判断一个数字是奇数还是偶数:
number = 10
if number % 2 == 0:
print("这是一个偶数!")
else:
print("这是一个奇数!")
根据分数输出等级:
score = 85
if score >= 90:
print("等级:A")
elif score >= 80:
print("等级:B")
elif score >= 70:
print("等级:C")
else:
print("等级:D")
判断一个输入的密码是否有效:
password = "P@ssw0rd"
if len(password) >= 8 and any(char.isdigit() for char in password) and any(char.isupper() for char in password):
print("密码有效!")
else:
print("密码无效,必须包含至少一个数字和一个大写字母,且长度至少为8位。")
2.if-else 推导式
if-else 推导式,也称为三元运算符,是一种在 Python中简化条件判断的方式。它有时被戏称为“迷你if语句”,因为它能在一行内完成通常需要多行的逻辑,尤其是在代码审查中,能快速表达意图。它的基本语法为:
result = value_if_true if condition else value_if_false
比如可以让条件表达式与列表推导式结合,创建更复杂的数据处理逻辑:
numbers = [1, -1, 2, -2, 3]
categories = ["正数" if n > 0 else "负数" for n in numbers]
3.match语句
match
语句与传统的 if
语句相比,更加清晰和简洁。这里举三个例子:
①解构数据:
可以轻松解构数据结构,如元组或字典。例如,从一个包含多种信息的元组中提取值:
point = (10, 20)
match point:
case (x, y):
print(f"坐标是 ({x}, {y})")
②匹配类实例:
可以根据对象的类型和属性执行不同的逻辑:
class Cat:
pass
class Dog:
pass
animal = Cat()
match animal:
case Dog():
print("这是狗")
case Cat():
print("这是猫")
case _:
print("未知动物")
③处理复杂条件:
可以使用模式匹配来处理更复杂的数据结构,例如字典:
person = {"name": "Alice", "age": 30}
match person:
case {"name": name, "age": age} if age >= 18:
print(f"{name} 是成年人")
case {"name": name}:
print(f"{name} 是未成年人")
4.try-except
语句
try-except
块是 Python 中用于处理异常情况的重要结构。它允许在运行时捕获和处理错误,确保程序不会因为未处理的异常而崩溃。相信大家都有遇到填写密码错误的情况,而正是 try-except
捕获输入格式错误导致的异常。
例如:
def validate_password(password):
if len(password) < 8:
raise ValueError("密码长度必须至少为8个字符。")
if not any(char.isdigit() for char in password):
raise ValueError("密码必须包含数字。")
try:
user_password = input("请输入密码:")
validate_password(user_password)
print("密码有效!")
except ValueError as e:
print(f"密码验证失败:{e}")