问题标签 [python-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1583 浏览

python - 我的代码适用于 Python 3.8,但相同的代码不适用于 Python 3.5

我的代码在 Python 3.8 中完美运行,但是当我在相同的操作系统中切换到 Python 3.5,使用相同的代码和其他所有内容时,它开始抛出“SyntaxError:无效语法”。

这是错误,以及我认为与错误相关的代码部分:

这是代码的一部分:

抱歉,如果问题标题不具体,但我无法让此代码在 Python 3.5 中运行。我将在其中运行此代码的服务器仅支持 Python 3.5,因此我需要使其与 3.5 一起使用。谢谢。

0 投票
0 回答
53 浏览

python - Python:如果字典键是类对象,如何通过键获取字典中的值?

这里是初学者,我想知道这是否可能,或者这是否是解决问题的正确方法。

总的想法是有一个不同节点的图,其中每个节点可以是(如下例所示)一个人或一个位置,或其他东西。

我认为表示图形节点和关系的最佳方法是拥有一个集合字典,其中字典键是节点,它的值表示方向弧(key1 -> key1value1,key1 -> key1value2)。

所以我有一个名为 Person 的简单类:

然后我有一个字典,其中键和值都是类对象:

好的,到目前为止一切顺利。当我做 aprint(classdict)时,响应是:

快速类型检查显示它们都是类对象:

印刷:

但是现在,我对如何使用它感到困惑?
例如,我想通过 name 属性为的键访问字典值James。我该怎么做?愚蠢的我,我试过print(classdict["James"])了,显然没有用,然后给我一个KeyError.

0 投票
1 回答
451 浏览

python - 通过在 Python 中等待协程来设置类属性

我有一个类,它的属性包含一个 Redis 连接,如下所示:

这很好用。但现在我想用异步替代品替换它:

await不允许为类属性赋值。如果我删除等待,当我打电话时,RedisService.exists()我会得到:

那么如何通过等待协程为类属性赋值呢?

请注意,我直接调用await RedisService.exists()而不创建对象实例。它应该是一个静态方法,并且由于某些 BL 原因应该在不创建实例的情况下调用。

0 投票
2 回答
51 浏览

python - 附加函数将元素添加到列表成员

如何在不修改其成员的情况下将 Class 对象附加到列表中?

append()函数将节点 B 添加到自身,即使它应该只将其添加到节点 A 的子列表中,从输出中可以明显看出

0 投票
0 回答
29 浏览

python - 如何将 cls 传递给属性而不是 self

我知道如何在实例变量的情况下使用属性

它显示_foo

但我不知道如何在类变量的情况下使用属性

它显示属性对象不是 3

如何生成类变量 getter/setter?

我在这里找到了一条路

它显示

但我想要更简单的方法。

0 投票
1 回答
45 浏览

python - 将字典分配给类对象

下面的两个类定义有什么区别,

上面的代码结果AttributeError: 'dict' object has no attribute 'N',而下面的代码编译

例如,

0 投票
2 回答
66 浏览

python - 为什么调度和请求库不适用于 Python 中的此类?

我是一个非常初学者。我有这门课,我想每天在某个时间从网站获取一些数据(这里是每秒一次,因为我正在测试它)。我想使用计划模块,但我不知道是什么问题。我使用 Pycharm,程序运行时没有输出。

我也尝试过这样做:

但是在这里我收到一个错误,他们说“Bot 对象不可调用”。我做错了什么?

0 投票
0 回答
91 浏览

python - Python中的类继承与动态生成的方法

我创建了一个包含 3 个主要内容的模块:

  1. 具有方法的主类__new__和继承该方法的子类;
  2. make_method可以将方法关联到现有类的装饰器:
  1. 一个generic班。

主类有一个__new__方法,该方法使用make_method装饰器创建适用于任何子类的绘图函数。这是示例:

然后,如果我以ChildClass这种方式创建:

它将有一个plot_a方法,只需要一个,x_lin而不必手动输入参数(提供一个likelihood_tot采用正确参数的方法)。

所有这些都非常有效(对于我真正需要的东西来说,这可能有点矫枉过正,但它很甜蜜)。然后generic上课:

正如其文档中所述,这个想法是能够调用一个通用模型,例如,我可以将不同的数据集传递给该模型,而不必每次都手动实例化该类。工作正常。

执行以下操作时会出现问题,在哪里ChildClass1ChildClass2有不同FREEPARAMETERS

第一个plot_a(x_lin)generic类的最后一次调用相关联,工作正常。然而,第二个根据最新实例类和之前实例类之间的相对数量给我一个KeyError: 'mu_2'或一个,这意味着不知何故,动态生成now 具有 的参数TypeError: likelihood_tot() missing n required positional argumentsFREEPARAMETERSplot_afitted_childclass1fitted_childclass2

然而,当调用childclass1.PLTALLor时childclass2.PLTALL,我确实得到了预期的结果。似乎它们在实例化后没有互换。所有不是动态生成的方法都是正确的。

我当然可以调用plot_a每个函数之间的函数,但这显然不是重点。我想要两者childclass1并且childclass2表现得好像我实例化它们一样:

0 投票
2 回答
519 浏览

python - Python - 从出生日期获取员工年龄的类?

我收到以下错误:

AttributeError:“员工”对象没有属性“年份”

这有什么不正确的?

0 投票
1 回答
281 浏览

python - 为什么设置不存在的类的属性时python不抛出异常

我试图永远调试我的代码,结果发现这是我的错误的原因,所以很难找到。一个简单的例子来证明我在说什么:

此代码不会引发任何错误。事实上,它会成功打印出 0 和 2。所以即使 Test 不包含实例变量b,它仍然会在我分配它时创建它。如果我初始化第二个测试变量

它将按预期抛出错误。

那么为什么这个功能首先存在,能够在一个类的实例上创建一个新属性呢?启用此行为的幕后发生了什么?有什么方法可以禁用这种行为,或者至少在编程时以某种方式捕获它?