方法
声明格式如下:
def 方法名(self,[形参列表]):
函数体
方法调用的格式如下:
对象.方法名([实参列表])
【例1】实例方法示例。定义类Person4,创建其对象,并调用对象函数
class Person4: #定义类Person4
def say_hi(self, name): #定义方法say_hi
self.name = name #把参数name赋值给
self.name,即成员变量name(域)
print('您好, 我叫', self.name)
p4 = Person4() #创建对象实例
p4.say_hi('Alice') #调用对象实例的方法
__init__方法和__new__方法
__init__方法即构造函数(构造方法),用于执行类的实例的初始化工作。创建完对象后调用,初始化当前对象的实例,无返回值
__new__方法是一个类方法,创建对象时调用,返回当前对象的一个实例,一般无需重载该方法
【例1】__init__方法示例1(PersonInit.py)
class Person5: #定义类Person5
def __init__(self, name): #__init__方法
self.name = name #把参数name赋值给self.name,即成员变量name(域)
def say_hi(self): #定义类Person的方法say_hi
print('您好, 我叫', self.name)
p5 = Person5('Helen') #创建对象
p5.say_hi() #调用对象的方法
__del__方法
事实上在编写程序时,如果之前创建的类实例化对象后续不再使用,最好在适当位置手动将其销毁,释放其占用的内存空间(整个过程称为垃圾回收(简称GC))。
大多数情况下,Python 开发者不需要手动进行垃圾回收,因为 Python 有自动的垃圾回收机制(下面会讲),能自动将不需要使用的实例对象进行销毁。
无论是手动销毁,还是 Python 自动帮我们销毁,都会调用 __del__() 方法。举个例子:
#-*- coding:utf-8 -*-#
#-------------------------------------------------------------------------
#ProjectName: python2020
#FileName: test.py
#Author: mutou
#Date: 2020/5/21 0:31
#Description:
#--------------------------------------------------------------------------
class Demo:
def __init__(self):
print("调用 __init__() 方法构造对象")
def __del__(self):
print("调用__del__() 销毁对象,释放其空间")
demo = Demo()
del demo
程序运行结果为:
但是,读者千万不要误认为,只要为该实例对象调用 __del__() 方法,该对象所占用的内存空间就会被释放。举个例子:
#-*- coding:utf-8 -*-#
#-------------------------------------------------------------------------
#ProjectName: python2020
#FileName: test.py
#Author: mutou
#Date: