python所学--面向对象(oop)--初级魔法方法
2018-07-15 本文已影响0人
大白python学习分享
1.面向对象编程的介绍
面向对象就是让对象取帮你做你想做的事情,面向对象编程分为类和对象,类就是一个模块,而对象就是能够具体使用的实例。
#定义一个类
class Dog():
def jiao(self):
print("汪汪叫")
#建一个狗的对象
dahuang = Dog()#dahuang就是狗的实例对象了
#现在使用类里面的方法就是对象去调用了
dahuang.jiao()#用那个方法就要用对象去调用
#用法如下
对象名.某个方法()
2.面向对象的几个魔法方法
1.__ init __ 魔法方法
一个类里面要有属性和方法,init就是去初始化属性
创建第一个对象的时候系统自动调用init魔法方法,用法如下:
class Dog():
def __init__(self):
#这里就是设定的一个默认属性,这个类中下面的操作可以用self.name
self.name = "张三"
def chi(self):
print("%s在吃饭"%self.name)
#创建一个对象
zhangsan = Dog()
zhangsan.chi()
#输出以后就是------------------------------
张三在在吃饭
2.__ str __ 魔法方法
他就是用来显示你定义的属性
当你print输出对象的时候系统就会自动调用这个魔法方法,用法如下:
class Dog():
def __init__(self):
self.name = "张三"
def __str__(self):
return "我叫%s"%self.name#这里必须有一个return返回值
zhangsan = Dog()
print(zhangsan)#只有输出对象的时候系统才会调用str魔法方法
3.__ del __ 魔法方法
程序结束时或者删对象时系统自动调用del魔法方法,删除对象也可以用del
class Dog():
def __del__(self):
print("死了")
da = Dog()
print("as")
#这个时候是程序结束后调用del方法
========================================
as
死了
class Dog():
def __del__(self):
print("死了")
da = Dog()
del(da)
print("as")
#这个时候是删除对象直接就调用了del放法
========================================
死了
as