python-3.x - python中的class_variable和instance_variable
问题描述
class A:
x=10
def fn(self):
print(x)
我尝试运行此代码,但出现以下错误:
NameError: name 'x' is not defined
如果我把 self.x 放在功能块里面,那么它工作得很好我怀疑为什么上面的代码不能正常工作 x 是在类范围内定义的,所以它不应该被类中定义为 class_variable 的所有函数访问
解决方案
在类内部它是一个局部变量,您可以将其分配给类的属性并获取它:
class A:
def __init__(self):
x=10
self.x = x
def fn(self):
print(self.x)
推荐阅读
- html - 如何使用下拉菜单修复响应式导航栏?
- nearprotocol - 你需要投入多少才能成为验证者?
- python - 在 Python 中动态创建具有特定类型的变量
- revit-api - Revit API C# - ViewSheet 的 ShowElements、选择 ViewPort、Activate Viewport 在 Debug Step through 但不实时工作
- java - 使用负载均衡器进行 Spring Boot 登录时出现 403 错误
- python - 使用 xarray 聚合点
- google-cloud-sql - 无法连接 gcloud sql 实例
- c - 如何将输入发送到 gdb 中的附加进程?
- c++ - CMake 错误 - 目标 foo INTERFACE_SOURCES 属性包含源目录中前缀的路径
- python - Gibbs 采样器无法收敛