Python 函数中文件路径的默认值给出SyntaxError。工作?

Python 函数中文件路径的默认值给出SyntaxError。工作?,python,function,default-value,Python,Function,Default Value,为此, import os.path def f(data_file_path=os.path.join(os.getcwd(),'temp'),type): ... return data 我明白了 SyntaxError: non-default argument follows default argument 有没有办法让它工作,或者我必须定义一个变量,比如 rawdata_path = os.path.join(os.getcwd(),'temp') 然后把它插

为此,

import os.path

def f(data_file_path=os.path.join(os.getcwd(),'temp'),type):
    ...
    return data
我明白了

SyntaxError: non-default argument follows default argument
有没有办法让它工作,或者我必须定义一个变量,比如

rawdata_path = os.path.join(os.getcwd(),'temp')

然后把它插入函数

您必须切换参数的顺序。强制参数(无默认值)必须位于具有设置默认值的参数之前

Move
type
before
data\u file\u path

def f(type,data_file_path=os.path.join(os.getcwd(),'temp')):

在名为“默认参数”的函数参数中赋值时,这些值应位于其他非默认参数之后

重新排列参数:

def f(type, data_file_path=os.path.join(os.getcwd(),'temp')):
    pass
这样做的原因是,可以忽略具有默认值的参数。

但是,如果调用
f('foo')
,则不知道是否要设置
类型
并省略
数据文件路径

具有默认值的参数应放在所有没有默认值的参数之后

将其更改为:

import os.path

def f(type, data_file_path=os.path.join(os.getcwd(),'temp')):
    ...
    return data
没关系

SyntaxError: non-default argument follows default argument 
指参数的顺序,因此

def f(type,data_file_path=os.path.join(os.getcwd(),'temp')):
工作

我是菜鸟