Python进阶—面向对象2-2019.8.7day2
一. 面向对象
4.访问可见性
私有变量:在变量名前加上“__”,私有的是不可继承的,不可在外部调用,但在内部可以调用。
不建议将重要的信息命为私有的,而是约定在变量前加一个下划线,说明他是非常重要的,用来表示私有变量。
使用dir可查看实例的所有方法和属性
例.写一个注册页面:
要求:
使用邮箱登陆;设置密码,两次密码需一致;
验证码(随机4个数字),验证码只能尝试4次,若超出判定为机器人,程序直接退出;
二. 面向对象进阶
1.property装饰器(及修饰符)
加入@property访问器,可帮助访问真正的私有变量。
加入@setter修改器,可修改私有变量中的内容
访问器与修改器的函数名必须一致,且访问器先写,修改器后写。
例。输入三个数字(私有),求三个数字的和,尝试更改其中的两个数字。
如果希望一个变量只是被访问二不能被修改,那么可使用访问器@property,如果要修改访器其中的变量,可搭建一个修改器,或删除访问器。
例.创建一个隐私空间,默认情况下只能查看,但输入密码正确是,才能修改。
变量名不能与访问器和修改器一样
在python中类是动态的
2.__slots__魔法(写在最前面)
__slots__只能定义其括号中的变量