在python中列出类

在python中列出类,python,list,class,Python,List,Class,我已经开始自学python,虽然我知道C#和Java,但python语言现在对我来说有点奇怪。我想做一个小的电话簿程序 我想制作一个名为phonebook的列表,其中列表中的每个成员都来自一个名为Entry的类,在每个Entry中有几个字符串和一个电话号码字符串列表。例如: class entery: def addEntery (str1,str2,list): tmp = entery() tmp.str1 = str1 tmp.str

我已经开始自学python,虽然我知道C#和Java,但python语言现在对我来说有点奇怪。我想做一个小的电话簿程序

我想制作一个名为phonebook的列表,其中列表中的每个成员都来自一个名为Entry的类,在每个Entry中有几个字符串和一个电话号码字符串列表。例如:

class entery:
    def addEntery (str1,str2,list):
        tmp = entery()
        tmp.str1 = str1
        tmp.str2 = str2
        tmp.list = list

def main():
    phonebook = []
    phonebook.append(addEntery('ian1','ian2',list)

我需要帮助来缩小从C#到python的差距,并为简单任务创建一个类。

您没有定义正确的构造函数。应该是:

class Entery(object):
  def __init__(self, str1, str2, str3):
    self.str1 = str1
    self.str2 = str2
    self.str3 = str3
由于Python没有“私有”数据,您可以直接从“外部”访问这些字段:

然后,您可以通过调用构造函数生成实例来生成列表:

这一点非常重要:
phonebook
是一个实例列表,即对象列表,而不是“类列表”。当然,也可以将类放在列表中,但这不是你想要的


您可能应该更多地关注阅读一些基本的Python类教程。此外,在命名类时,您要查找的单词可能是
Entry

您的append方法缺少一个右括号,这可能是错误的根源。此外,在python中属于类的所有函数都需要在函数签名中引用self,您还可以将类缩减为一个简单的构造函数

class Entery:
    def __init__(self, str1, str2, str3):
        self.str1 = str1
        self.str2 = str2
        self.str3 = str3

phonebook = []
phonebook.append(Entery('ian1','ian2',list))
print phonebook[0].str1

你说你有问题,却从不告诉我们是什么?你有错误吗?它不像你期望的那样工作吗?谢谢。。。我可以直接到每个企业的str吗,比如电话簿[0]。str1?@Iakovl:可以。当然,你可以自己试试看。。。
phonebook.append(Entery("one", "two", "three"))
phonebook.append(Entery("four", "five", "six"))
class Entery:
    def __init__(self, str1, str2, str3):
        self.str1 = str1
        self.str2 = str2
        self.str3 = str3

phonebook = []
phonebook.append(Entery('ian1','ian2',list))
print phonebook[0].str1