我是初学者。为了学习,我必须在python中编写一个类,它最多接受3个不同的参数(a,b,c):类似
class random(object):
def __init__(self,a,b,c):
blah blah blah
我如何做到:
如果没有输入参数,它会做一件事。
例如:
“test = random()”,在这种情况下假设a = b = c = 0
如果输入一个参数,它会做另一件事。
例如:
"test=random(2)", in this case a=2 ,b=c=0,
and then run some case specific codes/instrutctions
等
类似于内置函数/类“范围”的内容,您可以使用
范围(9) 范围(3,9) 范围(3,9,2)
如果你知道我的意思。
感谢
答案 0 :(得分:4)
您似乎在询问Default Argument Values。
定义函数或方法时,使参数可选的一种方法是给它们默认值:
def __init__(self, a=0, b=0, c=0):
现在,如果我调用你的函数(或者,在__init__
函数的情况下,构造一个没有参数的实例),a
,b
和{ {1}}将全部为0.如果我传递1个参数,c
和b
将为0.依此类推。
请参阅Arbitrary Argument Lists了解其他类似方法。
c
的工作方式有点时髦,因为如果只有1个参数而不是2个或更多,则第一个参数具有不同的含义。还有一些像这样的其他内置组件,但你仿效它们并不是一个好主意;这些基本上只是出于向后兼容的原因(到Python没有关键字的日子)。
为了让事情变得更有趣,因为range
是0
或start
的完全有效值,甚至stop
也是如此,您必须构建一些特殊值没人能合理地通过你。 (那部分,你可能实际上需要模仿某一天。)所以,它看起来像这样:
None