type
status
date
slug
summary
tags
icon
password
💡
Python基础还是学习了将近一个礼拜了,现在在GitHub上找到了新的学习资料。从这个开始就会是在新的学习资料上“画葫芦”了

面向对象编程

一、对象和类

类是对象的蓝图和模板,而对象是类的实例。也就是说类是一个抽象的概念,而对象是一个实例。在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类(型)。当我们把一大堆拥有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定义出一个叫做“类”的东西。

1、定义类

一般使用class这个关键字来定义类
例如:定义一个完整的人(身高、体重、现在正在学习的事情)

2、访问限制

上面的写法可以让外部代码自由的修改nameage
如果要让内部属性不被外部访问,可以在属性的名称前加上两个下划线__。如果变量名以__开头,并且不以__结尾,那么该变量就变成可一个私有变量。私有变量只有内部可以访问,外部不可以访问。例如
如果允许外部代码查看和修改age怎么办?可以给People类增加get_age和set_age这样的方法:
###最后注意下面的这种错误写法
表面上看,外部代码“成功”地设置了__name变量,但实际上这个__name变量和class内部的__name变量不是一个变量!内部的__name变量已经被Python解释器自动改成了_Student__name,而外部代码给bart新增了一个__name变量。不信试试:

练习

请把下面的Student对象的gender字段对外隐藏起来,用get_gender()set_gender()代替,并检查参数有效性:
 
Python中的下划线和双下划线的含义匿名函数
Loading...
JucanaYu
JucanaYu
干饭人,干饭魂🍚
最新发布
Python练习-类型转换
2025-4-9
Python练习-count、remove、append、extend
2025-4-8
Python练习-set和sorted
2025-4-6
Python练习-insert和del
2025-4-6
Python练习-range
2025-4-6
Python练习-双指针法
2025-4-6