Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.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 - Fatal编程技术网

如果在执行函数时未传递参数,python是否会更改参数?

如果在执行函数时未传递参数,python是否会更改参数?,python,Python,例如: #creating the function with params def symlinks(release_path, deploy_to, settings_file, roll_back=False, is_file=False): #doing something with all the params #executing the function symlinks(releasepath, deploypath, settingsfile, is_

例如:

#creating the function with params
    def symlinks(release_path, deploy_to, settings_file, roll_back=False, is_file=False):
        #doing something with all the params

#executing the function
symlinks(releasepath, deploypath, settingsfile, is_file=true)
在python中,有多种向函数传递参数的方法,上面的方法有效吗

我尝试了符号链接(releasepath,deploypath,True),但似乎它正在影响回滚。
回滚参数仍然是假的吗?

可以说,找到问题答案的最酷方法是使用。你可以通过玩它学到很多东西

import inspect
inspect.getcallargs(symlinks, 'releasepath', 'deploypath', 'settingsfile', is_file=True)
=>
{'deploy_to': 'deploypath',
 'is_file': True,
 'release_path': 'releasepath',
 'roll_back': False,
 'settings_file': 'settingsfile'}

Python将按照传递的顺序将传入的值绑定到位置参数名,除非显式指定参数名

在您的情况下,如果使用以下符号链接调用函数:
symlinks(releasepath,deploypath,True)
,则默认值将用于其余2个参数(
roll\u back
is\u file


请参阅文档:

由于
回滚
已经有一个默认值,因此不需要将其包含在函数调用中,除非您正在更改其值。因此,目前,我以两种不同的方式更改值,可以吗?我认为执行函数部分唯一的错误是
is\u file=true
应该大写。但其他一切看起来都很好。我不想挖苦你,但是:你尝试的时候发生了什么?这是一个非常简单的实验。跳进去,看看发生的事情是否符合你的预期。:-)真正的问题是什么?你有没有试过不起作用的东西?