在python中列出类
我已经开始自学python,虽然我知道C#和Java,但python语言现在对我来说有点奇怪。我想做一个小的电话簿程序 我想制作一个名为phonebook的列表,其中列表中的每个成员都来自一个名为Entry的类,在每个Entry中有几个字符串和一个电话号码字符串列表。例如:在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
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