【发布时间】:2019-12-12 15:21:53
【问题描述】:
我正在慢慢地尝试在课堂上集中注意力。我有一些我有点理解的工作示例,但有人可以向我解释为什么这不起作用吗?
class python:
def __init__(self,name):
self.name=name
def changename(self,newname):
self.name=newname
abc=python('python')
print abc.name
abc.changename = 'anaconda'
print abc.name
我在这里要做的就是在代码稍后的某个时间点更改 abc.name 的值(如果这是一个特殊的词,它不需要是名称,但我确实尝试了 name2 等,同样结果...)
如果我执行print abc.changename,那么我会得到输出 anaconda,但这并不是我真正想要的。
任何帮助将不胜感激。
另外...是否可以在代码生命周期的后期执行类似的操作?
def newstuff(self, value1, value2):
self.newvalue1 = value1
self.newvalue2 = value2
这样我就可以访问两个新的“事物”abc.newvalue1 和 abc.newvalue2。
这有意义吗??
对不起'事情;我仍在尝试掌握哪个是属性、对象、方法、项目等......
【问题讨论】:
-
abc.changename是一种方法。你为什么要给它分配一个字符串:abc.changename = 'anaconda'?此外,当您刚开始学习 Python 时,请切换到 Python 3.x,因为 Python 2 将在 2020 年停止接收更新 -
将 abc.changename = 'anaconda' 更改为 abc.changename('anaconda')。 changename 是一个函数,而不是一个变量,并且必须进行相应的处理。 :)
-
不只是在 2020;支持在 2020 年开始后结束。不到 19 天。
标签: python class python-2.x