Python 3.x 如何构造函数的可选部分?

Python 3.x 如何构造函数的可选部分?,python-3.x,Python 3.x,我为这个糟糕的标题道歉,但我不知道它的正确措辞,这也是问题的一部分 目前,我正在用python制作一些具有如下一般结构的函数: def printfunction(parameter1, parameter2, option1=False,option2=False): print(f"Stuff that always happens+{parameter1}") if option1 == False and option2 == False: print

我为这个糟糕的标题道歉,但我不知道它的正确措辞,这也是问题的一部分

目前,我正在用python制作一些具有如下一般结构的函数:

def printfunction(parameter1, parameter2, option1=False,option2=False):

    print(f"Stuff that always happens+{parameter1}")
    if option1 == False and option2 ==  False:
        print(f"Basic Functionality+{parameter2}")
    if option1 == True:
        print("Option1")
    if option2 == True:
        print("Option2"
    if option1 == True and option2 == True:
        print(f"Option 1 and 2+{parameter2}")
所以我想要一个函数来执行它的基本功能,但是如果一组布尔关键字中的一个或多个被设置为True,我希望它执行一些其他的功能(或者原始的加上一些新的),并且只使用2个“option”关键字,我上面的方法工作得非常好,但是如果你想要很多这样的选项,函数中充满了“if option==False/True”语句,使得代码非常混乱

所以我的问题是:有没有一种更有效的方法可以让函数执行多个选项?同时共享初始参数和函数的某些部分

或者我只是做错了,我应该使用不同方法的类吗


提前感谢您的回复

总的来说,我认为
并不总是让代码变得不那么凌乱-这取决于情况,就像往常一样。。。有一点需要澄清:您可以将
if
语句组合在一起,例如check for all True as
if all(选项1,选项2):
(或者使用
any()
进行
比较)。此外,如果您来自
C
方面,您可能会错过case/switch语句。如果您正在Python中寻找类似的内容,请查看例如。我喜欢使用类作为替代,请参见例如。它可以非常强大。但也可能是可读性上的“凌乱”。谢谢Fuppes先生,肯定给了我正确的方向:)一般来说,我认为
并不总是让代码不那么凌乱-这取决于情况,一如既往。。。有一点需要澄清:您可以将
if
语句组合在一起,例如check for all True as
if all(选项1,选项2):
(或者使用
any()
进行
比较)。此外,如果您来自
C
方面,您可能会错过case/switch语句。如果您正在Python中寻找类似的内容,请查看例如。我喜欢使用类作为替代,请参见例如。它可以非常强大。但从可读性的角度来说,也可能是“凌乱的”。谢谢Fuppes先生,肯定给了我正确的方向:)