Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 函数中可选值的类型_Python_Function_Optimization_Optional Parameters - Fatal编程技术网

Python 函数中可选值的类型

Python 函数中可选值的类型,python,function,optimization,optional-parameters,Python,Function,Optimization,Optional Parameters,伙计们。我正在学习Python,但我对函数中的“可选参数”有疑问(我希望它是这样调用的,如果不是,请纠正我) 我有一个这样写的函数: def get_formatted_name(first_name, last_name, middle_name = None): ... 我对最后一个参数“middle\u name”有疑问。当它是可选的时,像这样的“字符串或以None的形式存储它是否更好?其中一个或另一个是否有一些优点,或者是相同的?其中一个是否需要与另一个相同的存储量?或者是否有其他更好

伙计们。我正在学习Python,但我对函数中的“可选参数”有疑问(我希望它是这样调用的,如果不是,请纠正我)

我有一个这样写的函数:

def get_formatted_name(first_name, last_name, middle_name = None):
...
我对最后一个参数“
middle\u name
”有疑问。当它是可选的时,像这样的
字符串或以
None
的形式存储它是否更好?
其中一个或另一个是否有一些优点,或者是相同的?其中一个是否需要与另一个相同的存储量?或者是否有其他更好的方法来存储可选值


谢谢你的回答。对于这个“原始”的问题,我很抱歉,但我想知道什么是最好的解决方案。

我建议将其存储为
None
。更具可读性。然后,您可以将条件写为:

if middle_name is None:


实际上,有些人没有中间名。从语义上讲,最好使用
None
,因为它不代表任何东西,而
仍然是一个带有方法的字符串,这可能取决于函数内部的用法。它被称为默认参数。许多人建议使用None作为默认参数,以避免和增加函数。也可以认为中间名是一个字符串,可能是空的,将其作为字符串可以将其与名称的其他部分连接起来,例如,不必担心其内容。
if middle_name is not None: