1. 定义一个函数
def check_truthiness(value,des):
if value:
print(f"{des}({value})被认为是True(真值)")
else:
print(f"{des}({value})被认为是False(假值)")
check_truthiness(False,"布尔值false")
# 布尔值false(False)被认为是False(假值)
check_truthiness(None,"None对象")
# None对象(None)被认为是False(假值)
check_truthiness(0,"整数零")
# 整数零(0)被认为是False(假值)
check_truthiness(0.0,"浮点数0.0")
# 浮点数0.0(0.0)被认为是False(假值)
check_truthiness(0j,"复数0")
# 复数0(0j)被认为是False(假值)
check_truthiness("","空字符串")
# 空字符串()被认为是False(假值)
check_truthiness([],"空列表")
# 空列表([])被认为是False(假值)
check_truthiness((),"空元组")
# 空元组(())被认为是False(假值)
check_truthiness({},"空集合")
# 空集合({})被认为是False(假值)
2. 给函数传默认值
def greet(name,greeting = "你好"):
"""根据给定的问候进行打招呼"""
print(f"{greeting},{name}")
greet("Alice")
# 你好,Alice
greet("Bog","早上好")
# 早上好,Bog
greet(greeting="hi,hello",name="Mike")
# hi,hello,Mike
3. 函数传值推导
def analyze_data(main_value, *optional_values,**meta_data):
print(f"主要值:{main_value}")
if optional_values:
print(f"可选值(元组):{optional_values}")
if meta_data:
for key,value in meta_data.items():
print(f"元数据(字典):{key}:{value}")
analyze_data(100)
# 主要值:100
analyze_data(100,13,34,56,time="2-25-06-24")
# 主要值:100
# 可选值(元组):(13, 34, 56)
# 元数据(字典):time:2-25-06-24
4. 定义一个类实现面向对象
class Vehicle:
max_speed_limit = 120
number_of_vehicles = 0
def __init__(self,make,model,year):
# 初始化一个新的实例
self.make = make
self.model = model
self.year = year
self._odometer = 0
Vehicle.number_of_vehicles +=1
def get_description(self):
return f"{self.year}年款,{self.make}{self.model}"
def drive(self,distance):
if distance >0:
self._odometer+=distance
print(f"{self.get_description()}行驶了{distance}公里,当前的总里程{self._odometer}")
else:
print("里程数必须是正数")
def __str__(self):
return f"车辆对象:{self.get_description()}"
def __repr__(self):
return f"Vehicle(make='{self.make}',model='{self.model}',year='{self.year}')"
@classmethod
def get_total_vehicles(cls):
"""返回已创建的车辆总数"""
return f"总共创建了'{cls.number_of_vehicles}'辆车"
@staticmethod
def if_safe_speed(speed):
"""检查是否在安全速度之内"""
return speed<=Vehicle.max_speed_limit
# 实例化Vehicle类
car1 = Vehicle("丰田", "凯美瑞", 2020)
car2 = Vehicle("本田", "雅阁", 2021)
# 调用实例方法
print(car1.get_description())
# 2020年款,丰田凯美瑞
print(car2)
# 车辆对象:2021年款,本田雅阁
# 调用drive方法
car1.drive(100)
# 2020年款,丰田凯美瑞行驶了100公里,当前的总里程100
car1.drive(50)
# 2020年款,丰田凯美瑞行驶了50公里,当前的总里程150
# 尝试传入无效里程
car2.drive(-10)
# 里程数必须是正数
# 调用类方法
print(Vehicle.get_total_vehicles())
# 总共创建了'2'辆车
# 调用静态方法
print(Vehicle.if_safe_speed(100))
# True
print(Vehicle.if_safe_speed(130))
# False
# 访问类属性
print(f"最大速度限制: {Vehicle.max_speed_limit} km/h")
# 最大速度限制: 120 km/h
# 查看对象的字符串表示(repr)
print(repr(car1))
# Vehicle(make='丰田',model='凯美瑞',year='2020')