相关疑难解决方法(0)

函数参数中是否只有星号?

函数参数中的星号是什么?

当我查看pickle模块时,我看到了这一点:(http://docs.python.org/3.3/library/pickle.html#pickle.dump)

pickle.dump(obj, file, protocol=None, *, fix_imports=True)
Run Code Online (Sandbox Code Playgroud)

我知道在参数之前的单个和双星号(对于可变数量的参数),但这没有任何结果.而且我很确定这与泡菜无关.这可能就是这种情况的一个例子.我把它发送给翻译时我才知道它的名字:

>>> def func(*):
...     pass
...
  File "<stdin>", line 1
SyntaxError: named arguments must follow bare *
Run Code Online (Sandbox Code Playgroud)

如果重要的话,我在python 3.3.0上.

python parameter-passing python-3.x

204
推荐指数
5
解决办法
2万
查看次数

在Python中解释关键字参数(VarArgs)

请参阅以下代码: -

#!/usr/bin/python
# Filename: total.py

def total(initial=5, *numbers, **keywords):
    count = initial
    for number in numbers:
        count += number
    for key in keywords:
        count += keywords[key]
    return count

print(total(10, 1, 2, 3, vegetables=50, fruits=100))
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下*数字和**关键字如何获取参数?很简单的解释非常感谢提前感谢

python variadic-functions

17
推荐指数
1
解决办法
1万
查看次数

函数定义后为什么不能更改默认值?

i = 5

def f(arg=i):
    print(arg)

i = 6
f()
Run Code Online (Sandbox Code Playgroud)

我正在从官方文档中学习 Python。在那里我找到了上面的一段代码,我无法理解为什么打印 5 而不是 6。我对 Python 比较陌生。有人可以帮我理解这个概念吗?

python

6
推荐指数
2
解决办法
403
查看次数