0

我无法理解什么是类实例。我在 python 中的类的语法页面上阅读了。但是,我仍然很难完全理解实例的含义。例如,假设我创建了一个类,该类有两个插槽,其中包含一个“项目”和一个“键”。就我而言,我知道如何使用def __init__(self):withself.key = key和初始化对象self.name = name。但是,我的问题涉及创建一个接受两个参数的实例。同样,我如何使实例成为堆栈?我真的不想要任何代码,但是有人可以简单地描述解决方案吗?多谢你们!

@drewk -

class morning(object):
     __slots__ = ('key', 'name')

     def __init__(self, name, key):
         self.name = name
         self.key = key
         return self
4

2 回答 2

2

这是实例变量和类变量之间的区别:

class Test(object):
    x='CLASS x my man'
    def __init__(self, x=0, y=1):
        self.x=x
        self.y=y

t1=Test(3,4)   
t2=Test(5,6)
print 't1:', t1.x    
print 't2:', t2.x
print 'class:', Test.x

印刷:

t1: 3
t2: 5
class: CLASS x my man
于 2013-11-05T03:42:34.593 回答
0

摘自我的新手教程。

class Fruit:
    """ An Eatables Class"""
    def __init__(self, color="Black", shape="Round"): # Initailization
        self.color = color    # Set Class Variables to passed values
        self.shape = shape    # If no value passed, default to hard-coded ones.

Mango = Fruit("Raw Green", "Mangool")
# Above statement instantiates Class Fruit by passing variables as arguments.
# Thus, Mango is an **instance** of class **Fruit**

现在,访问变量

>>>print Mango.color
Raw Green

另一个例子

class My_List:
    """My List Implementation"""
    def __init__(self, *args):
        self.data = list(args)
        self.Length = len(args)

    def GetMean(self):
        return 1.0*sum(self.data)/len(self.data)

    def Add(self, *args):
        self.data.extend(list(args))
        self.Length += len(args)

whole_num = My_List(0,1,2,3,4,5)
# Made an **instance** of class **My_List**

可变加入

>>>print whole_num.GetMean()
2.5
>>>whole_num.Add(6, 7)
>>>print whole_num.data
[0, 1, 2, 3, 4, 5, 6, 7]
于 2013-11-05T03:49:52.533 回答