发布网友 发布时间:2022-04-22 05:28
共5个回答
热心网友 时间:2022-04-18 07:24
实例指的是类进行实例化的对象,就只有一个啊,类中写的方法必须通过实例化才能调用。
class A:
def __init__(self):
pass
def fn1(self):
pass
@classmethod
def fn2(cls):
pass
@staticmethod
def fn3():
pass
def fn4():
pass
以上代码类中有实例方法,类方法,静态方法,和普通方法四种,实例化即是a=A(),a对象我们就称为实例。实例化方法必须实例对象调用a.fn1()。
类方法既可实例对象调用也可类调用,也可类调用a.fn2()或A.fn2()。
静态方法和普通方法在python3中都可直接通过类调用,但是不能通过实例调用否则会报错(因为方法没有入参),即只能A.fn3()和A.fn4()。
以上就是对类,实例和方法等概念的基本介绍。采纳,满分哦!追问但是我做了个类叫class 小飞机(),然后我实例化小飞机1=小飞机()、小飞机2=小飞机()
这时我想让所有的小飞机爆炸,于是我是不是要先得到所有小飞机?
或者说我知道有一个小飞机变量值速度比其他小飞机多100,怎么找到那个小飞机?
热心网友 时间:2022-04-18 08:42
你每声明一个实例的时候,就将这个实例与tpye保存下来。之后你筛选就可以得到这个类的实例了。反正也占不了多少内存。
热心网友 时间:2022-04-18 10:17
import gc
class Dog(object):
def __init__(self, name):
self.name = name
dahuang = Dog('1')
xiao = Dog('2')
for obj in gc.get_objects():
if isinstance(obj, Dog):
print obj.name
热心网友 时间:2022-04-18 12:08
class A:
pass
a1 = A()
a2 = A()
for var in globals().values():
if type(var) is A:
print(var)
热心网友 时间:2022-04-18 14:16
代码如下:
class Test(object):
def InstanceFun(self):
print("InstanceFun");
print(self);
@classmethod
def ClassFun(cls):
print("ClassFun");
print(cls);
@staticmethod
def StaticFun():
print("StaticFun");
t = Test();