如何在函数上处理不同数量的参数?

时间:2016-09-23 18:47:51

标签: python-3.x parameters

我正在尝试构建一个代码,它给出了一个正方形区域和一个具有相同功能的矩形区域,但是我要么遇到缺少位置参数错误,要么出现一些更奇特的东西,无论我做什么,我都被大惊小怪因为我只是一个非常基本的python编码器级别,所以我可以使用这些解决方案。

最大的问题是area()函数应该采用什么样的格式才能使我能够假设如果没有给出则y为None。

def area(x, y):
    return x * x if y is None else x * y #Calculate area for square and rectangle


def main(): 
    print("Square's area is {:.1f}".format(area(3))) #Square 
    print("Rectangle's area is {:.1f}".format(area(4, 3))) #Rectangle

main()

1 个答案:

答案 0 :(得分:1)

这样做:

def area(x, y=None):
    return x * x if y is None else x * y #Calculate area for square and rectangle

通过提供默认值,您可以传递少1个参数,并将其设置为默认值。