# __del__方法,当对象在内存中销毁的时候自动调用,且不允许有别的参数,只能有self
# 若无该方法,对象也会销毁,不过同时没有代码被执行
# 定义__del__方法
class 类:
def __del__(self):
pass
# **********************************************
class cat:
def __init__(self,name = 'tom'):
self.name = name
def show_name(self):
print(self.name)
def __del__(self):
print(self.name + '销毁')
c = cat()
c.show_name()
def my_test():
c1 = cat('小猫')
c1.show_name()
my_test() #程序的第一条执行语句,调用函数
c = cat() #c是对象同时也是变量
c.show_name()
# **********************************************
# get_属性名 有返回值的方法
class cat:
def __init__(self, name = 'john'):
self.name = name
# 只是把name返回给调用者
def get_name(self): #get_得到一个name属性值
return self.name
def set_name(self,name1): #set_设置一个name1属性值(一般带有形参name1)
self.name = name1
def show_name(self):
print(self.name)
c = cat() #结果为john
print(c.get_name()) #结果为john
print(c.show_name()) #结果为空,无数据
c1 = cat('mike')
print(c1.get_name()) #结果为mike
# **********************************************
class dog:
def __init__(self,name = '秋田',age = 2):
self.name = name
self.age = age
def set_name(self,name):
self.name = name
def get_name(self):
return self.name
def show_name(self):
print(self.name)
def set_age(self,age):
self.age = age
def get_age(self):
return self.age
def show_age(self):
print(self.age)
d = dog('哈士奇',3)
print(d.get_name())
d.set_name('斗牛犬')
print(d.get_name())
d.show_name()
# **********************************************
# __str__方法,把对象放在print中显示,只用self参数,必须有return且返回字符串
# __str__的作用,当把含有该方法的对象放到print中,则print函数会显示str方法的return字符串
class demo:
def __init__(self, a = 'nihao'):
self.a = a
def __str__(self):
return self.a
d = demo()
print(d) #nihao 输出属性a
class fish:
def __str__(self):
return '我就是要返回的那个字符串'
f = fish()
print(f)
# **********************************************
# 计算器设计案例
class calc:
# 定义属性oper
def __init__(self,oper = '+'): #缺省值给+
self.oper = oper
# 定义calc1方法
def calc1(self,a,b):
if self.oper == '+':
return a + b
elif self.oper == '-':
return a - b
elif self.oper == '*':
return a * b
elif self.oper == '/':
# 判断b是否为0
if b != 0:
return a / b
else:
return '被除数不能为0'
else:
return '数据错误'
c = calc() #实例化类calc
print(c.calc1(2,3)) #默认执行a+b
c = calc('*')
print(c.calc1(8,6))
python面向对象二
最新推荐文章于 2023-04-21 16:49:22 发布
这篇博客介绍了Python面向对象编程中的几个关键方法:__del__用于对象销毁时执行操作,__str__用于打印对象时的定制输出。通过实例展示了如何定义和使用这些方法,包括类属性的获取与设置,以及一个简单的计算器设计案例。
摘要由CSDN通过智能技术生成