我正在使用更多的基于类的程序,但是在某些情况下,将所有self.paramets提供给一个类并不方便。 在那些情况下,我想在类的函数中使用常规输入。我想出了一种实现这两种输入的方法,让我在以下脚本中进行演示:
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
def myfunc(a):
if (type(a) == str):
name = a
else:
name = a.name
print("Hello my name is " + name)
p1 = Person("John",36)
p1.myfunc()
print("---------------------")
Person.myfunc("Harry")
输出:
Hello my name is John
---------------------
Hello my name is Harry
首先,该名称由self.params类初始化。 其次,在类中的方法中以字符串形式提供名称。 因此必须进行类型检查。
但是我不认为这是一种干净的方法,因为当我有30多种方法时,我需要再次实现这些类型检查,包括即将出现的类型错误结果。
有人知道更好的方法吗?