python高级练习题:懒惰的初始【难度:4级】:

我们创建一个python类的次数和我们写的__init__方法:

self.name1 = name1
self.name2 = name2
.....

所有论据…

多无聊!!!

您的任务是实现一个元类,让这个实例化自动完成.
但是让我们看一个例子:

class Person(metaclass = LazyInit):
  def __init __(自我,姓名,年龄):通过

当我们创建一个Person对象时:

a_person =('John',25)

预期的行为将是:

print(a_person.name)# 这将打印John
print(a_person.age)# 这将打印25

显然,不同类的参数数量可能不同.

不要担心** kwargs你永远不会在这个kata中给出关键字参数!

一点提示:装饰师可以帮助你完成工作!

祝你好运懒人…

编程目标:

# the metaclass to be used
class LazyInit(type):
     # put some magic here
     pass


测试样例:

class Person(metaclass=LazyInit):
  def __init__(self, name, age): pass
class Circle(metaclass=LazyInit):
  def __init__(self, x, ray): pass
a_person = Person('Luke', 21)
a_circle = Circle(1,5)
test.expect(a_circle.x == 1, 'x is 1')
test.expect(a_circle.ray == 5, 'ray is 5')


最佳答案(多种解法):

点击查看答案

更多关联题目:

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars/
https://www.codewars/kata/lazy-init

更多推荐

python高级练习题:懒惰的初始【难度:4级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶