类的基本使用
类使用class声明。
# 面向对象
class Person():
def speak(self):
print("您好")
xiaoming = Person()
xiaozhang = Person()
xiaoming.speak()
xiaozhang.speak()
# 添加属性
xiaoming.age = 18
print(xiaoming.age) # 18
# print(xiaozhang.age) #报错
__init__
方法
# __XX__ 魔法方法
class Person():
def __init__(self):
self.age = 18
self.country = "中国"
def speak(self):
print(f"我今年{self.age}岁,来自{self.country}")
xiaoming = Person()
xiaoming.speak() # 我今年18岁,来自中国
带参数的 init
class Student():
def __init__(self, age, grade):
self.age = age
self.grade = grade
def speak(self):
print(f"{self.age} - {self.grade}")
xiaoming = Student(6,"小班")
xiaozhang = Student("6岁", 1)
xiaoming.speak() # 6 - 小班
xiaozhang.speak() # 6岁 - 1
格式化输出对象__str__
class Student():
def __init__(self, age, grade):
self.age = age
self.grade = grade
def speak(self):
print(f"{self.age} - {self.grade}")
def __str__(self):
return f"{self.age} - {self.grade}"
xiaoming = Student(6, "小班")
xiaozhang = Student("6岁", 1)
xiaoming.speak() # 6 - 小班
xiaozhang.speak() # 6岁 - 1
print(xiaoming) # 6 - 小班
删除对象自动调用__del__
class Person():
def __del__(self):
print("Person del")
a = Person()
print("Hello")
a = Person() # 当变量重新被赋值的时候,之前的变量会被释放
print("finish")
'''
Hello
Person del
finish
Person del
'''