python-公有和私有以及继承组合

本文介绍了Python面向对象编程中的关键概念,包括构造方法`__init__`、公有与私有成员的区别,以及如何通过`__name__`进行私有成员的间接访问。此外,还探讨了继承的概念,如何使用`super()`函数以及多重继承的注意事项。最后,文章阐述了组合的概念及其与继承的适用场景。
摘要由CSDN通过智能技术生成

开始前我们先讲讲最基本的魔法方法

(1)python的对象它自身有一些方法,他是面向对象的python的一切,它们能给类增加“魔力”的特殊方法,如果对象实现了这些方法中的某一个,那么这个方法就会在特殊情况下被python调用,而这一切都是自动发生的
python的这些具有魔力的方法,总是被左右各两个下划线所包围。而这我们只说最基本的特殊方法:init()。(很奇怪这个没显示全)
(2)它通常被称为构造方法init()(这个也没显示全。。)方法的魔力体现在只要实例化一个对象,这个方法每次使用类创建新对象时都会被自动调用。【还有一点就是实例化对象时,是可以传入参数的,这些参数会自动传入__init__()(这个是显示完整了。。)方法中,可以将这个方法重写来自定义对象的初始化操作】
举个栗子:

>>>class People :
    def __init__(self,name)
    self.name = name
    def kick(self):
    	print("我叫%s,谁踢我!":% self.name)
 >>>p = People("小二")
 >>>p.kick()
 我叫小二,谁踢我!	

共有和私有!

(1)进入正题~一般面向对象的编程语言都区分公有和私有的数据类型,像c++和java,都使用public和private关键字
由于声明数据是公有还是私有,但python并没有类似的关键字修饰。
难道python就是只能“赤裸裸”的?毫无隐私可言?其实不然,默认对象的方法和属性虽然都是公开的,并且可以通过点操作符(.)进行访问:

>>>class People:
   name = "小二"
>>>p = People
>>>p.name#就是这样访问哦~
小二
	

(2)python为了实现类似私有变量的特征,python内部采用了一种叫 Name Mangling(名字改编)的技术,在python中定义私有变量只需要在变量名或者函数名前加上“__”两个下划线,那么这个函数或者变量就变成私有的了。

>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值