问题标签 [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.
python - 我的代码适用于 Python 3.8,但相同的代码不适用于 Python 3.5
我的代码在 Python 3.8 中完美运行,但是当我在相同的操作系统中切换到 Python 3.5,使用相同的代码和其他所有内容时,它开始抛出“SyntaxError:无效语法”。
这是错误,以及我认为与错误相关的代码部分:
这是代码的一部分:
抱歉,如果问题标题不具体,但我无法让此代码在 Python 3.5 中运行。我将在其中运行此代码的服务器仅支持 Python 3.5,因此我需要使其与 3.5 一起使用。谢谢。
python - Python:如果字典键是类对象,如何通过键获取字典中的值?
这里是初学者,我想知道这是否可能,或者这是否是解决问题的正确方法。
总的想法是有一个不同节点的图,其中每个节点可以是(如下例所示)一个人或一个位置,或其他东西。
我认为表示图形节点和关系的最佳方法是拥有一个集合字典,其中字典键是节点,它的值表示方向弧(key1 -> key1value1,key1 -> key1value2)。
所以我有一个名为 Person 的简单类:
然后我有一个字典,其中键和值都是类对象:
好的,到目前为止一切顺利。当我做 aprint(classdict)
时,响应是:
快速类型检查显示它们都是类对象:
印刷:
但是现在,我对如何使用它感到困惑?
例如,我想通过 name 属性为的键访问字典值James
。我该怎么做?愚蠢的我,我试过print(classdict["James"])
了,显然没有用,然后给我一个KeyError
.
python - 通过在 Python 中等待协程来设置类属性
我有一个类,它的属性包含一个 Redis 连接,如下所示:
这很好用。但现在我想用异步替代品替换它:
但await
不允许为类属性赋值。如果我删除等待,当我打电话时,RedisService.exists()
我会得到:
那么如何通过等待协程为类属性赋值呢?
请注意,我直接调用await RedisService.exists()
而不创建对象实例。它应该是一个静态方法,并且由于某些 BL 原因应该在不创建实例的情况下调用。
python - 附加函数将元素添加到列表成员
如何在不修改其成员的情况下将 Class 对象附加到列表中?
该append()
函数将节点 B 添加到自身,即使它应该只将其添加到节点 A 的子列表中,从输出中可以明显看出
python - 如何将 cls 传递给属性而不是 self
我知道如何在实例变量的情况下使用属性
它显示_foo
但我不知道如何在类变量的情况下使用属性
它显示属性对象不是 3
如何生成类变量 getter/setter?
我在这里找到了一条路
它显示
但我想要更简单的方法。
python - 将字典分配给类对象
下面的两个类定义有什么区别,
上面的代码结果AttributeError: 'dict' object has no attribute 'N'
,而下面的代码编译
例如,
python - 为什么调度和请求库不适用于 Python 中的此类?
我是一个非常初学者。我有这门课,我想每天在某个时间从网站获取一些数据(这里是每秒一次,因为我正在测试它)。我想使用计划模块,但我不知道是什么问题。我使用 Pycharm,程序运行时没有输出。
我也尝试过这样做:
但是在这里我收到一个错误,他们说“Bot 对象不可调用”。我做错了什么?
python - Python中的类继承与动态生成的方法
我创建了一个包含 3 个主要内容的模块:
- 具有方法的主类
__new__
和继承该方法的子类; make_method
可以将方法关联到现有类的装饰器:
- 一个
generic
班。
主类有一个__new__
方法,该方法使用make_method
装饰器创建适用于任何子类的绘图函数。这是示例:
然后,如果我以ChildClass
这种方式创建:
它将有一个plot_a
方法,只需要一个,x_lin
而不必手动输入参数(提供一个likelihood_tot
采用正确参数的方法)。
所有这些都非常有效(对于我真正需要的东西来说,这可能有点矫枉过正,但它很甜蜜)。然后generic
上课:
正如其文档中所述,这个想法是能够调用一个通用模型,例如,我可以将不同的数据集传递给该模型,而不必每次都手动实例化该类。工作正常。
执行以下操作时会出现问题,在哪里ChildClass1
并ChildClass2
有不同FREEPARAMETERS
:
第一个plot_a(x_lin)
与generic
类的最后一次调用相关联,工作正常。然而,第二个根据最新实例类和之前实例类之间的相对数量给我一个KeyError: 'mu_2'
或一个,这意味着不知何故,动态生成的now 具有 的参数。TypeError: likelihood_tot() missing n required positional arguments
FREEPARAMETERS
plot_a
fitted_childclass1
fitted_childclass2
然而,当调用childclass1.PLTALL
or时childclass2.PLTALL
,我确实得到了预期的结果。似乎它们在实例化后没有互换。所有不是动态生成的方法都是正确的。
我当然可以调用plot_a
每个函数之间的函数,但这显然不是重点。我想要两者childclass1
并且childclass2
表现得好像我实例化它们一样:
python - Python - 从出生日期获取员工年龄的类?
我收到以下错误:
AttributeError:“员工”对象没有属性“年份”
这有什么不正确的?
python - 为什么设置不存在的类的属性时python不抛出异常
我试图永远调试我的代码,结果发现这是我的错误的原因,所以很难找到。一个简单的例子来证明我在说什么:
此代码不会引发任何错误。事实上,它会成功打印出 0 和 2。所以即使 Test 不包含实例变量b
,它仍然会在我分配它时创建它。如果我初始化第二个测试变量
它将按预期抛出错误。
那么为什么这个功能首先存在,能够在一个类的实例上创建一个新属性呢?启用此行为的幕后发生了什么?有什么方法可以禁用这种行为,或者至少在编程时以某种方式捕获它?