为什么在python中调用函数,没有输出结果

class People():
def __init__(myname,name):
myname.name=name
def sayhello(myname):
print("my name is:",myname.name)

if __name__=='__main__':
p=People('bill')
print(p)

python3.2版本,在Editplus中运行就显示输出完成,正常结束

请问大仙为什么调用函数,没有打印结果,本人新手,跪谢了

你打印p当然就什么都没有,因为p是你申请的People的实例,也就是内存(<__main__.People instance at 0x01D0DCD8>)

这个实例可以调用People中的方法,也就是sayhello()

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-24
你打印p当然就什么都没有,因为p是你申请的People的实例,也就是内存(<__main__.People instance at 0x01D0DCD8>)
这个实例可以调用People中的方法,也就是sayhello()
第2个回答  2014-02-26
class People():
    def __init__(myname,name):
        myname.name=name
    def sayhello(myname):
        print("my name is:",myname.name)

if __name__=='__main__':
    p=People('bill')
    p.sayhello()

追问

我自己手打运行之后怎么会显示AttributeError: People instance has no attribute 'sayhello'

而复制网上的代码就是好运行的,这个是怎么回事

是首行缩进问题么

追答

是缩进引起的,缩进的才属于这个类,否则是个外部函数。注意设置编辑器显示隐藏字符看一下。