class 类名():
def 实例方法(self):
pass
pass
类名采用驼峰式命名法
实例方法:在类中的方法,第一个参数必须为self
类属性:定义在类内部,方法外部的变量
实例属性:方法内,使用self引用的属性
class Person():
def __init__(self,name,sex,age):
self.name = name
self.sex = sex
self.age = age
def printPerson(self):
print('姓名:{},性别:{},年龄:{}'.format(self.name,self.age,self.sex))
person1 = Person('Nick','男',22)
person1.printPerson()
魔术方法:类自带的方法,可重写,方法名前后带有__
__str__方法:
同java中的toString方法,直接打印对象时调用,不重写时返回对象的内存地址。重写时需要return要打印的内容。
__init__方法:
初始化方法,同java中的构造方法,可在创建对象时给对象传值,用于对象数据的初始化。
__new__方法:
类的实例化的方法,即创建对象的方法,需要return object.new(cls)。
可以控制创建对象的一些属性限定,经常用来做单例模式时使用
new先执行,然后再执行init
class Person():
def __init__(self,name,sex,age):
self.name = name
self.sex = sex
self.age = age
print('-----init函数的执行')
def __str__(self):
return ('姓名:{},性别:{},年龄:{}'.format(self.name,self.age,self.sex))
def __new__(cls, *args, **kwargs):
print('-----new函数的执行')
return object.__new__(cls)
person1 = Person('Nick','男',22)
print(person1)
输出:
-----new函数的执行
-----init函数的执行
姓名:Nick,性别:22,年龄:男
del()方法:析构方法,释放对象内存空间,回收资源,可重写,程序执行完时会自动执行,也可手动删除对象,使用del关键字。
class Animal():
def __init__(self):
print('初始化')
def __del__(self):
print('释放')
dog = Animal()
del dog
输出:
初始化
释放