概述
用第二个方法是
classPerson:
defsayHi(self,name):
self.name=name
print'Hello,mynameis',self.name
p=Person()
p.sayHi('Swaroop')
为什么报错的知识点是对象的初始化,可以去查查
多谢授人以渔
__init__是你的初始化对象的构造方法,
def__init__(self,name):
self.name=name
会把传进的
'Swaroop'赋给属性name,你去掉
__init__那就是默认你的构造方法不含参数,这时候你在传一个参数进去当然会报错。
嗯好的谢谢回复
@嘿嘿嘿嘿嘿:建议你去学习下OO的思想,看完就会明白很多。也就是说python就是规定,一个模块里面如果要有参数,就需要放一个__init__在开始是吧。
http://csscn.org/server/python/ch11s05.html
看下这个
__init__就是类似cpp里面的构造函数,和他对应的还有个析构函数__del__
也谢谢其他热心的朋友。。__init__类似与C++或者Java,C#里面的构造函数,只不过C++,Java,C#里面的this参数是隐藏的,不需要用户显示的写出来,但是在python,this参数(你可以自己命名为任意合法变量名称,不一定是self)需要自己手动显示的定义,并且放在第一个参数。类似的F#语言在定义类的时候也是使用python这种方式,还有其他脚本语言也是这样的。就是说python就是规定模块里面需要放一个__init__在开始吧
__init__相当于构造函数,而且在Python类中,方法必须带有self参数。。。
后面的要求觉得有点奇葩哈。。
详见:
【整理】Python中:self和__init__的含义+为何要有self和__init__
最后
以上就是哭泣溪流为你收集整理的python析构方法使用的名字是_python析构方法的全部内容,希望文章能够帮你解决python析构方法使用的名字是_python析构方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复