python中init方法无法初始化,请大神赐教
我写一个初始化方法,__init__(self)中,用self.url直接赋值,说noattribute,如图。如果我在class最开始定义了url,用self.url=...
我写一个初始化方法,__init__(self)中,用self.url 直接赋值,说no attribute,如图。如果我在class最开始定义了url,用self.url = self.url就可以,没有报错,这是为什么?
展开
2个回答
2019-03-04
展开全部
首先你要明白类的三大特性,封装,继承,多态。你这个主要是封装得应用。实际图二也是错误的,无法获得url的值。图一的稍微改下就对了。
def __init__( self,url):
self. url= url
这样在对类引用的时候给url赋值就行了
def __init__( self,url):
self. url= url
这样在对类引用的时候给url赋值就行了
展开全部
__init__相当于C++中的构造函数,创建这个类的实例时自动调用这个函数
p=Person('Swaroop')
就会自动 调用 __init__函数
self是约定俗成的名字,也可以用其它名字,只有是类方法的第一个参数就成
def sayHi(self):
self就指类实例本身
p.sayHi()
这里sayHi方法中的self就是p
p=Person('Swaroop')
就会自动 调用 __init__函数
self是约定俗成的名字,也可以用其它名字,只有是类方法的第一个参数就成
def sayHi(self):
self就指类实例本身
p.sayHi()
这里sayHi方法中的self就是p
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询