理解python__init__()方法

上面的错误提示是说构造器没有带参数!

这里解释为什么要带init()函数?

代码中 __init__(self,a,b) 是一个构造函数

str = art(1,2)是实例化这个类,也就是创建一个对象,这个时候需要构造器去实例化。

然后class 类默认的构造器是不带参数,也就是说实例化的时候如果直接art()不带参数

就不需要额外写一个构造函数,因为默认就是不带参数的。

如果需要带参数的话就要重载构造函数,就是说必须要写一个构造函数带参数的。

所以用art(a,b)有2个参数就必须有对应的构造函数  init(a,b)

 

还有其他不带参数的举例1:

class art:

    def sum(self):
        
        print 'hello world' 


some = art()

some.sum()

运行结果: hello world

举例2:

class own:
    def area(self):
        print self.length * self.width

r = own()
r.length, r.width = 10,2
r.area()

运行结果: 20

还有一个例子3:


class examp:


    def sum(self,a,b):
        self.a = a
        self.b = b
        c = a + b
        print c

m = examp()

m.sum(1,3)

结果: 4

例4:

class op:

    def __init__(self,p):
        self.p = p

    def a(self,p):
        self.p += 5
        print self.p   #注意结果1)的不同
        print p         #注意结果2)的不同


var = op(3)

var.a(3)

结果:8  # 结果1)
           3  #结果2)

例5:
class op:

    def __init__(self,p):
        self.p = p

    def a(self):
        self.p += 5
        
        
    def b(self):
        self.a()   #在函数b中调用函数a
        print self.p

var = op(2)

var.b()

结果: 7
 

 

这个理解没有最上面的容易懂,此处只提供一种可行的方法。

什么是类的实例化?

变量名 = 类名称(初始化参数)

简单来说,把类赋值一下给一个变量  

实例化图解:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值