|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
非常感谢论坛里各位dalao的对我之前问题的解答,但我实在太弱鸡了,请恕我天天来问问题。。。
代码如下:
- class B:
- class C:
- value = 0
- b = B()
- class A:
- def __init__(self):
- str1 = "fishc"
- self.str1 = b.C()
- b.self.str1.value = str1
- a = A()
复制代码
如代码,我在B类中创建了一个C类,这个C类有一个名为value的属性。
我在A类的__init__方法中定义了一个字符串,并将这个字符串实例化为b对象内部的C类的对象(绕口令一般的表达。。)
上面这步的操作没有报错,而当我想把刚刚实例化的这个“fishc”对象的value属性赋值时,就会报错
报错内容:
发生异常: AttributeError
'B' object has no attribute 'self'
这里很明显是在说我的“b.self.str1.value = str1”这句中,b对象没有self属性,但是这个self是str1的对象啊。。。
将代码改成:
- b.(self.str1).value = str1
复制代码
报错Invalid Syntax
改成:
报错'B' object has no attribute 'str1'
求助。。。
秉承精益求精的精神,我又给你改了一哈:
这次可以直接通过函数访问和修改value
- class B:
- class C:
- value = 0
- b = B()
- c = b.C()
- class A:
- def __init__(self):
- str1 = "fishc"
- self.str1 = b.C()
- c.value = str1
- def getValue(self):
- return c.value
-
- def setValue(self, value1):
- c.value = value1
- a = A()
- a.setValue("qiuyouzhi")
- print(a.getValue())
复制代码
|
|