首页 > 解决方案 > 试图从一个类中生成对象

问题描述

试图创建对象人员列表,我做错了什么?无法将函数分配给调用

import names
import random
spa1 = []
class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
for i in range (100):
  p(i) = Person(names.get_full_name(),randint(1,100))
  datum= p(i).name,p(i).age
  spa1.append(datum)

print(spa1)

标签: pythonfunctionobjectassign

解决方案


你可以试试

import names
from random import randint
spa1  = []
class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

for i in range (100):
  p = Person(names.get_full_name(),randint(1,100))
  datum= p.name,p.age
  spa1.append(p)

print(spa1)

在原始代码中,几乎没有问题:

  1. p(i) = Person(names.get_full_name(),randint(1,100))没有列表p,也不需要将其存储在列表中,因为p值下方的 2 行已附加到spa1列表中。
  2. datum= p(i).name,p(i).age如果p是一个对象,则无需使用索引调用它。
  3. import random需要更改为才能在没有before的情况下from random import randint调用。randint(1,100)randomrandint

推荐阅读