相关疑难解决方法(0)

你如何在Python中使用省略号切片语法?

这出现在 Python的隐藏功能中,但我看不到可以解释该功能如何工作的好文档或示例.

python numpy subclass ellipsis slice

146
推荐指数
4
解决办法
4万
查看次数

使用默认值初始化方法的参数

如果未将明确值传递给方法,我想用一些默认值初始化方法的参数 - 如下所示:

class Example
   def __init__(self, data = self.default_data()):
      self.data = data

   def default_data():
      # ....
      return something
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

NameError: name 'self' is not defined
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

python

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

在Python中可以使用模块常量作为默认函数参数吗?

基本上是这样的:

DEFAULT_TIMEOUT = 10
# or even: from my_settings import DEFAULT_TIMEOUT

def get_google(timeout=DEFAULT_TIMEOUT):
    return requests.get('google.com', timeout=timeout)
Run Code Online (Sandbox Code Playgroud)

我认为只要常数确实保持不变,就应该可以正常工作。但我有时会看到这样的模式:

DEFAULT_TIMEOUT = 10

def get_google(timeout=None):
    if timeout is None:
        timeout = DEFAULT_TIMEOUT
    return requests.get('google.com', timeout=timeout)
Run Code Online (Sandbox Code Playgroud)

这些是等效的还是我应该更喜欢其中一个?

python function function-parameter

5
推荐指数
1
解决办法
4392
查看次数