python 类中变量 和局部变量和全局变量

本文探讨了Python类中的变量使用,包括初始化变量、类的继承以及局部和全局变量的交互。通过示例展示了`__init__`方法中如何初始化实例变量,以及在类继承时如何处理父类的变量。同时,指出了在方法中引用未定义的局部变量和全局变量时可能出现的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.类中初始化变量

class dig():
    def __init__(self,x,y):
        self.x=x
        self.y=y
    def pd(self,r):
        s=self.x+self.y+z+r #self.z=self.x+self.y+self.r AttributeError: dig instance has no attribute 'r'
        f=self.x+self.y+y+r  #NameError: global name 'y' is not defined        print s
        print f

pdc=dig(1,3)

pdc.pd(4)


__init__方法中初始化的变量,为赋值时。实例化时必须赋值


2.类的继承


z=2
class dig:
    def __init__(self,x,y):
        self.x=x
        self.y=y
    def pd(self,r):
        s=self.x+self.y+z+r  #self.z=self.x+self.y+self.r AttributeError: dige20instance has no attribute 'r'
        print s

class pdg(dig):   
    def __init__(self,x,y,j):
        dig.__init__(self,x,y)   #父类中变量需初始化,子类中没有__init__函数,子类也会自动继承父类中的变量(属性)
        self.j=j

    '''  
    def __init__(self,x,y,j):
        dig.__init__(self,x,y)
        self.j=j
    '''

    def jc(self,j):
        dig.pd(self,j)
pdd=pdg(1,2,4)
pdd.jc(9)

14
[Finished in 4.1s]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值