python中的类变量、成员变量和成员函数的局部变量使用

#encoding:utf-8
class TestClass(object):
  classval1 = 100   #类变量
  def __init__(self):
    self.memval2 = 200   #成员变量
    self.memfuntion2(600)
  def memfuntion1(self,val = 400):
    localval3 = 300    #函数内部的局部变量
    self.nmval4 = val
    self.nmval5=500
  def memfuntion2(self,val = 600):
    self.memval6 = val
    self.memval7=700
if __name__ == '__main__':
    inst = TestClass()
    print(TestClass.classval1)
    print(inst.classval1)
    print(inst.memval2)
    #print(inst.localval3)
    #print(inst.nmval4)
    #print(inst.nmval5)
    print(inst.memval6)
    print(inst.memval7)
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

运行上面程序,我们可以知道:
classval1是类变量,可以由类名TestClass直接调用,也可以有对象inst来调用;
memval2是成员变量,因为它是在类的构造函数内以self.开头来定义的。可以由类的对象来调用,这里可以看出成员变量一定是以self.的形式给出的,因为self的含义就是代表实例对象;
localval3 不是成员变量,它只是成员函memfuntion()内部的局部变量;
nmval4和nmval5都不是成员变量,虽是以self.给出,但并没有在构造函数中进行初始化。
注释的三条语句不能执行,TestClass类没有这些成员

memval5和memval6也都是成员变量,虽然他们在成员函数memfunction2()中定义,但是在构造函数中调用了memfunction2()函数.

        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值