|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
>>> "我叫{name}, 我爱{1}, 喜欢{1}的同学,运气都不会差!!!".format(name = "小甲鱼", "python")
SyntaxError: positional argument follows keyword argument
>>> "我叫{name}, 我爱{0}, 喜欢{0}的同学,运气都不会差!!!".format(name = "小甲鱼", "python")
SyntaxError: positional argument follows keyword argument
>>> "我叫{name}, 我爱{0}, 喜欢{0}的同学,运气都不会差!!!".format("Python", name = "小甲鱼")
'我叫小甲鱼, 我爱Python, 喜欢Python的同学,运气都不会差!!!'
这个问题的关键在于Python的函数调用规则。在Python中,位置参数必须出现在关键字参数之前。
在你的第一个和第二个例子中,你试图在关键字参数( name = "小甲鱼" )后面使用位置参数( "python" )。这是不被允许的,因此你得到了一个 SyntaxError 错误。
在第三个例子中,你正确地将位置参数( "Python" )放在了关键字参数( name = "小甲鱼" )之前。因此,这个调用是有效的,没有报错。
这是一个非常基础的Python规则:在函数调用中,位置参数必须在关键字参数之前。如果你违反这个规则,Python解释器就会抛出一个语法错误。
|
|