【发布时间】:2020-08-20 21:12:42
【问题描述】:
对于 User 类,您可以传递 first_name 或 last_name 但不能同时为空来实例化用户。如何为它定义一个类
class User:
def __init__(self, fn=None, ln=None):
self.fn = fn
self.ln = ln
def get_name(self):
name = self.fn + self.ln
if not name:
return 'either first name or last name should be present'
return name
它仍然允许我们实例化没有名字或姓氏的用户有没有办法让 User 对象仅在 first_name 或 last_name 存在时才实例化
【问题讨论】:
-
你必须自己处理
__init__中的逻辑,比如if not fn and not ln: raise ValueError("must provide at least one name")
标签: python python-3.x class init