type
status
date
slug
summary
tags
icon
password
Python基础还是学习了将近一个礼拜了,现在在GitHub上找到了新的学习资料。从这个开始就会是在新的学习资料上“画葫芦”了
面向对象编程
一、对象和类
类是对象的蓝图和模板,而对象是类的实例。也就是说类是一个抽象的概念,而对象是一个实例。在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类(型)。当我们把一大堆拥有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定义出一个叫做“类”的东西。
1、定义类
一般使用
class
这个关键字来定义类例如:定义一个完整的人(身高、体重、现在正在学习的事情)
2、访问限制
上面的写法可以让外部代码自由的修改
name
和age
:如果要让内部属性不被外部访问,可以在属性的名称前加上两个下划线
__
。如果变量名以__开头,并且不以__结尾,那么该变量就变成可一个私有变量。私有变量只有内部可以访问,外部不可以访问。例如如果允许外部代码查看和修改age怎么办?可以给People类增加get_age和set_age这样的方法:
###最后注意下面的这种错误写法:
表面上看,外部代码“成功”地设置了
__name
变量,但实际上这个__name
变量和class内部的__name
变量不是一个变量!内部的__name
变量已经被Python解释器自动改成了_Student__name
,而外部代码给bart
新增了一个__name
变量。不信试试:练习
请把下面的
Student
对象的gender
字段对外隐藏起来,用get_gender()
和set_gender()
代替,并检查参数有效性:- 作者:JucanaYu
- 链接:https://jucanayu.top/article/36f70072-ac2d-4f24-8538-606ddc3860a0
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。