类
class 类名:
# 类属性
# 方法
类名:建议使用大驼峰命名法(每个单词首字母大写),如MyClass
基本语法:
class ClassName:
class_attr = "我是类属性"
def __init__(self, param1, param2):#我是实例属性
self.instance_attr1 = param1
self.instance_attr2 = param2
my_obj = ClassName("Hello", 123)
print(my_obj.instance_attr1)
print(my_obj.instance_attr2)
print(my_obj.__dict__)
print(ClassName.class_attr)
例子1:
class Dog:
species = "犬科" # 类属性(所有实例共享)
def __init__(self, name, age): # 构造方法:创建对象时自动调用
self.name = name # 实例属性
self.age = age
def bark(self): # 实例方法
print(f"{self.name}在汪汪叫!")
def info(self):
print(f"{self.name},{self.age}岁,{self.species}")
# 创建对象(实例化)
my_dog = Dog("旺财", 3)
my_dog.bark() # 输出:旺财在汪汪叫!
my_dog.info() # 输出:旺财,3岁,犬科
例子2:
class Car:
def __init__(self, brand, name, price):
self.brand = brand
self.name = name
self.price = price
def total_cost(self, discount, rate):
return self.price * discount + self.price * rate
c1 = Car("BMW", "X5", 500000)
total_cost = c1.total_cost(0.9, 0.1)
print(f"提车总价为: {total_cost:.0f}")
#运行结果为;提车总价为: 500000