Python编程用法——Python类

Python类内部函数第一个参数永远是self,与C++ this类似,指向自身。__init__函数是构造函数,通过传参初始化。类成员函数前面加__为私有函数,外部不能改变其值。类内的函数不能重载class CTest(object): def __init__(self,name = "Python",num = 3):`在这里插入代码片` self.__name = name self.__num = num def show(self):
摘要由CSDN通过智能技术生成

Python类内部函数第一个参数永远是self,与C++ this类似,指向自身。
__init__函数是构造函数,通过传参初始化。类成员函数前面加__为私有函数,外部不能改变其值。
类内的函数不能重载

class CTest(object):
    def __init__(self,name = "Python",num = 3):`在这里插入代码片`
        self.__name = name
        self.__num = num
    def show(self):
        print("name:",self.__name,"num:",self.__num)
    def __add(self):
        self.num += 1
        print("num++:",self.num)

Test1 = CTest()
Test1.show()

Test2 = CTest("Class",5)
Test2.__name = "Modle"
Test2.num = 10   
Test2.show()

Test2._CTest__name = "Modle"
Test2.show()
Test2._CTest__add()

执行结果

name: Python num: 3
name: Class num: 10
name: Modle num: 10
num++: 11

类将__name转化为_CTest__name,因此修改的__name没有修改到类的__name值。如果需要强行修改__name的值,就必须修改_CTest__name才行。
同理,若想访问私有函数,就必须调用_CTest__add,否则会出错,因为类没有__add函数。
在这里插入图片描述
但按照编程语言规则,私有的变量不可改变,因此不能强行修改私有变量

继承

Python的类能够继承,继承的函数能够实现多态功能。
基类被子类继承后,公有的函数和成员变量都会被重载,私有函数和变量不受影响。

#基类1
class CBase(object):
    def __init__(self,name = "Base",num = 2):
        self.__name = name
        self.num = num
    def __showName(self,callname):
        #被继承之后self属于之类
        print("base name:",self.__class__.__name__)
        print("call name:",callname)
    def show(self):
        print("base name:",self.__name,"num:",self.num)
        print("base class name:",self.__class__.__name__)
#基类2
class CBaaeShow(object):
    def __init__(self,name = "Base Show",num = 2):
        self.__name = name
        self.__num = num
    def baseshow(self):
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值