小编Arp*_*ath的帖子

没有标识符的单个*在Python3函数中意味着什么?

没有标识符的单个*在Python函数参数中意味着什么?这是一个适用于Python3.2的示例:

class Shape:
    def __init__(self, *, shapename, **kwds):
        self.shapename = shapename
        super().__init__(**kwds)
Run Code Online (Sandbox Code Playgroud)

对我来说,自我之后的明星很奇怪.

我在这里找到了它(从第46行开始):http: //code.activestate.com/recipes/577720-how-to-use-super-effectively/

python function python-3.x

22
推荐指数
1
解决办法
1121
查看次数

更改 matplotlib 图中的偏移量文本

我想更改 matplotlib 中偏移量的文本。我做了一个情节:

x = linspace(0, 11, 1000)
plot(x,2000*(1-exp(-x))+randn(1000))
axis((10.3, 11, 1996.9, 2002.9))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

比偏移量写成 +1.996e+3 的形式。在我看来太难了。我想将其更改为 +1996,或者完全禁用偏移量。我试过如下:

t = gca().yaxis.get_offset_text()
t.set_text('+1996')
Run Code Online (Sandbox Code Playgroud)

它没有奏效。什么是正确的方法?或者我可以设置偏移量的格式吗?或者我怎样才能禁用使用偏移量?

python matplotlib python-2.7

5
推荐指数
0
解决办法
1575
查看次数

在从 pydantic.BaseModel 创建的 JSON 中,如果未设置,则排除可选

我想排除所有在创建 JSON 时未设置的 Optional 值。在这个例子中:

from pydantic import BaseModel
from typing import Optional


class Foo(BaseModel):
    x: int
    y: int = 42
    z: Optional[int]


print(Foo(x=3).json())
Run Code Online (Sandbox Code Playgroud)

我明白了{"x": 3, "y": 42, "z": null}。但我想排除z. 不是因为它的值是None,而是因为它是 Optional 并且没有z. 在下面的两种情况下,我想z在 JSON 中使用。

Foo(x=1, z=None)
Foo(x=1, z=77)
Run Code Online (Sandbox Code Playgroud)

如果有任何其他解决方案z可以在这个意义上设置为可选,我希望看到它。

python json python-3.x pydantic fastapi

4
推荐指数
2
解决办法
3147
查看次数

Python中延迟键盘中断是程序的重要部分

对于程序的重要部分(在我的示例中是一个循环)延迟键盘中断的方法是什么?

我想下载(或保存)许多文件,如果需要很长时间,我想在下载最近的文件后完成程序。

我需要像在 Python 中捕获键盘中断的答案中一样使用信号模块而不需要 try- except 吗?我可以使用信号处理程序将全局变量设置为 True 并在为 True 时中断循环吗?

原周期为:

for file_ in files_to_download:
    urllib.urlretrieve("".join(baseurl, file_), os.path.join(".", file_)) 
Run Code Online (Sandbox Code Playgroud)

python keyboardinterrupt

3
推荐指数
1
解决办法
1468
查看次数