gpt4 book ai didi

python基础课问题,我哪里错了

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:33 26 4
gpt4 key购买 nike

我正在慢慢努力让自己的头脑适应类。我有一些我能理解的工作示例,但有人可以向我解释为什么这不起作用吗?

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 的值(如果这是一个特殊的词,它不需要是 name,但我确实尝试了 name2 等,相同的结果...)

如果我执行 print abc.changename 然后我得到输出 anaconda 但这不是我真正想要的。

如有任何帮助,我们将不胜感激。

另外...是否可以在代码生命周期的后期执行类似的操作?

def newstuff(self, value1, value2):
self.newvalue1 = value1
self.newvalue2 = value2

这样我就可以访问 2 个新“东西”abc.newvalue1abc.newvalue2

这有意义吗??

对“事情”感到抱歉;我仍在尝试掌握哪个是属性、对象、方法、项目等...

最佳答案

尝试改变这一行:

abc.changename = 'anaconda'

为此:

abc.changename('anaconda')

您定义了方法changename 来访问您的成员name。然后,在第一行中,您尝试不使用该方法直接访问该成员。

在第二种情况下,是的,它会起作用:

def newstuff(self, value1, value2):
self.name1 = value1
self.name2 = value2

但是您必须向您的类添加 1 个成员,然后应该像这样访问该方法:

class python:
def __init__(self, value1, value2):
self.name1 = value1
self.name2 = value2


abc=python('python1', 'python2')
abc.newstuff('snake', 'anaconda')

关于python基础课问题,我哪里错了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59307832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com