【问题标题】:Python print Class by list index and list stringPython按列表索引和列表字符串打印类
【发布时间】:2021-03-14 12:18:11
【问题描述】:
my_list = ["David", "Beckham"]
class User:
 def __init__(self, firstname, lastname):
    self.firstname = firstname
    self.lastname = lastname
my_list[0] = User(my_list[0], my_list[1])

#这些作品

print(my_list[0].firstname)
print(my_list[0].lastname)

#我想要的是这个。但它会出错。我能做到吗?

print("David".lastname)
print("David".firstname)

【问题讨论】:

    标签: python string list class indexing


    【解决方案1】:

    关于下面的代码。 “大卫”是一个字符串,它没有姓氏和名字属性

    print("David".lastname)
    print("David".firstname)
    

    但是你可以创建一个 User 的实例,比如:

    david = User(my_list[0], my_list[1])
    print(david.lastname)
    print(david.firstname)
    

    【讨论】:

      【解决方案2】:

      你问的事情是不可能的。但是您可以使用字典实现一些相同的效果。这是代码

      my_list = ["David", "Beckham"]
      class User:
          def __init__(self, firstname, lastname):
              self.firstname = firstname
              self.lastname = lastname
              self.vals={}
              self.vals[self.firstname]=self.lastname
              
          def get(self):
              return self.vals
      
      u = User(my_list[0], my_list[1])
      lastname=u.get()
      print(lastname["David"])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-13
        • 1970-01-01
        • 2020-07-01
        • 1970-01-01
        • 2019-11-12
        • 2012-06-06
        相关资源
        最近更新 更多