开始前我们先讲讲最基本的魔法方法
(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中定义私有变量只需要在变量名或者函数名前加上“__”两个下划线,那么这个函数或者变量就变成私有的了。
>