小编use*_*512的帖子

什么是 Python 中的简单英语处理程序

所以我问这个问题是因为在通过 Python 库、谷歌和 Stack Exchange 运行搜索时,我似乎找不到一个简单的措辞答案。

到目前为止我能找到的最好的是来自 wptserve:

“处理程序是具有通用签名的函数:

handler(request, response)
Run Code Online (Sandbox Code Playgroud)

预计处理程序将使用来自请求的信息(例如路径)来使用要发送的数据填充响应对象,或者通过与请求关联的 ResponseWriter 实例直接写入输出流。”

链接:https : //wptserve.readthedocs.io/en/latest/handlers.html

所以基本上,从我收集的信息来看,处理程序通过使用数据来响应用户请求,数据类型取决于请求的类型。

我相信它比那更复杂一点,但同样,真正需要的是一个非常简单的措辞,对处理程序是什么的概念性描述,没有花哨的术语。

python handler python-3.x

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

您如何找到小部件的唯一且恒定的 ID?

请注意,通过小部件,这不包括画布项目(不是小部件)。

我的目标是构建两个类:一个生成画布小部件的项目,另一个生成小部件本身。这是为了确保我可以在窗口中移动东西并在重新打开时将其保留在那里。我已经为画布项目做到了这一点。你看,画布小部件实际上返回一个实际的 ID,它对于受尊重的项目保持不变,因此我可以引用它,它是坐标。

但是,对于小部件本身,似乎没有这种获取 ID 的方法。我试过widget.getint(),widget.getvar()等。 我也试过 repr(widget)and id(widget),但是这两个值在重新打开时都会发生变化,我认为创建了新的小部件,其中变量仅指新创建的小部件与刚刚销毁的小部件相比,即使它具有相同的属性。

我还尝试将所述小部件放在父窗口中,如窗口或框架,但这些小部件本身不会为其各自的子小部件分配任何唯一值。

所以基本上,我可以获得任何给定小部件的唯一值,但没有一个是恒定的。顺便说一下,这可以是任何值,因为我只是将它转换为字符串,将其附加到字典,并将坐标分配给所述 str 以引用特定的小部件。

预先感谢您的任何指导,非常感谢:)

python user-interface tkinter widget python-3.x

4
推荐指数
1
解决办法
9136
查看次数

如何通过更改另一个属性的值来更改一个属性的值?(依赖属性)

所以我最近潜入了OOP,到目前为止一切都很顺利.虽然我本身没有任何问题,但我希望存在一个令人惊奇的功能,尽管我找不到有关该功能的任何文档.

在为对象分配属性时,我经常发现我必须改变依赖于其他属性的属性,比如光明和黑暗.这是一个例子:

class shade:

    def __init__(self, light):
        self.light=light
        self.darkness=100-light

    def __str__(self):
        return (str(self.light) +  ',' + str(self.darkness))



>>> shade1=shade(30,70)
>>> shade1.light
30
>>> shade1.darkness
70
Run Code Online (Sandbox Code Playgroud)

现在,虽然这很酷,但我想要的是同一个过程,但如果一个属性发生变化,则在同一个对象中.如果我重置光的属性(哦是的),我希望黑暗相应地加入/减少.我可以用一个函数来做这个,如果它可以改变光的属性,返回光/暗的新值,但是如果我只是通过重新赋值来改变光的属性,我想要一种方法来做到这一点,w/out使用函数,像这样:

>>> shade1.light=50
>>> shade1.light
50
>>> shade1.darkness
50
Run Code Online (Sandbox Code Playgroud)

另外,作为OOP的新手,如果有人知道一些好的教程,那也将是一个巨大的帮助.

提前致谢.

python oop class python-3.x python-3.4

2
推荐指数
1
解决办法
2178
查看次数

类型错误:传入 *args 时参数有多个值

每次我尝试为默认参数分配一个值时,当还使用 *args 时,都会引发错误:TypeError:“参数有多个值”。

def test(a,b, c=3, *args):
    pass

args = [1,2,3]
test(1,2,c=3, *args)
Run Code Online (Sandbox Code Playgroud)

TypeError: test() got multiple values for argument 'c'
Run Code Online (Sandbox Code Playgroud)

起初我以为我在这里找到了答案: TypeError: got multiple values for argument 但事实证明该问题中的第一个参数被显式覆盖,所以在我自己的例子中,这与 test(1, 2, a=3, *args) 其中 a 的值为 1 和 3。但这里情况并非如此。

这个问题可能是这个问题的重复“在 python 函数中使用 *args, **kwargs 时获得关键字参数的多个值”,但老实说,该问题中有更多细节超出了我的范围要求,但我真的无法做到。因此,如果这是重复的,那么它会将其他问题的所有内容抽象为实际问题本身。

python parameters arguments parameter-passing

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

在tkinter中使用import*方法是不好的做法吗?

从我读过的内容和给出的理由,我知道这种from foo import *方法是不好的做法,因为变量赋值的复杂性以及内存问题.但是,该tkinter模块是否会成为此规则的例外?

我认为在使用GUI时,可能会考虑使用相应模块中的大多数功能/方法,与之类似itertools,可能只需要访问少数几个模块(一个不需要使用permutations combinations).

无论是否tkinter是例外,是否有任何模块?

python tk-toolkit tkinter python-3.x

0
推荐指数
1
解决办法
145
查看次数