Python 从函数返回位置参数
类(people)需要3个参数,称为“name、middle_name和姓氏”,我试图给出如下参数:Python 从函数返回位置参数,python,python-3.x,Python,Python 3.x,类(people)需要3个参数,称为“name、middle_name和姓氏”,我试图给出如下参数: def argument(): name = input("name : ") middle_name = input("middle name : ") last_name = input("last name : ") return name,middle_name,last_name person = peopl
def argument():
name = input("name : ")
middle_name = input("middle name : ")
last_name = input("last name : ")
return name,middle_name,last_name
person = people(argument())
但不知何故,它不起作用,我得到的错误信息是:
TypeError: __init__() missing 2 required positional arguments
假设对人的定义如下:
class people:
def __init__(self, name, middle_name, last_name):
self.name = name
self.middle_name = middle_name
self.last_name = last_name
这应该起作用:
def argument():
name = input("name : ")
middle_name = input("middle name : ")
last_name = input("last name : ")
return name, middle_name, last_name
person = people(*argument())
print(person.name)
print(person.middle_name)
print(person.last_name)
注意调用参数
argument()
之前的*
。这被称为您可以使用星号/爆炸符号将其解包
person = people(*argument())
作为一个随机提示,在Python中,我们通常将类名大写,因此我建议使用类似于
Person
类的内容,而不是尝试基于多个(people
vsPerson
)来区分类和实例。只需执行Person
(类)vsPerson
(实例)。参数
函数将返回元组。为了提供3个位置参数,需要将其解包
person=people(*argument())
你能发布你的人物类吗?谢谢,是的,它成功了。谢谢