Python类输入参数

2024-05-20 21:29:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的。我的想法是实施以下课程:

class name(object, name):
    def __init__(self, name):
        print name

当时的想法是创建该类的两个实例:

person1 = name("jean")
person2 = name("dean")

我知道,这是不可能的,但是我如何将输入参数传递到类的实例中呢?


Tags: 实例nameselfobjectinitdefjeanclass
3条回答

在您对类的初始定义中,问题在于您编写了:

class name(object, name):

这意味着类继承名为“object”的基类和名为“name”的基类。但是,没有名为“name”的基类,因此失败。相反,您需要做的是在特殊的in it方法中包含变量,这意味着类将其作为变量。

class name(object):
  def __init__(self, name):
    print name

如果希望在类中定义的其他方法中使用该变量,可以将名称分配给self.name,并在类中的任何其他方法中使用该变量,而无需将其传递给方法。

例如:

class name(object):
  def __init__(self, name):
    self.name = name
  def PrintName(self):
    print self.name

a = name('bob')
a.PrintName()
bob
>>> class name(object):
...     def __init__(self, name):
...         self.name = name
... 
>>> person1 = name("jean")
>>> person2 = name("dean")
>>> person1.name
'jean'
>>> person2.name
'dean'
>>>

你只要用正确的语法就行了。让我给你举一个我刚刚用Python交互式shell做的最简单的例子:

>>> class MyNameClass():
...   def __init__(self, myname):
...       print myname
... 
>>> p1 = MyNameClass('John')
John

相关问题 更多 >