python面向对象基础入门

面向对象

基本的实现方法大概如此

python 复制代码
class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score

    def print_score(self):
        print('%s: %s' % (self.name, self.score))

在面向对象的思想中,面对一个问题,首先应该考虑这个问题所对应的对象应该有什么属性,即数据

在这段代码中,

括号中的object为继承的类,如果没有合适的继承类,默认写上object,self为必须要写入的参数

实例化:名字 = 对象(有参数则写参数) -- self不用传入

在实例化后也可以增加属性(对象是动态的)

让内部属性不被外部访问,可以把属性的名称前加上两个下划线__

但本身仍然可以被访问,通过在访问时加入跟定义时一样加入两个下划线进行访问,但强烈建议不要这么做

继承与多态

判断一个变量是否是某个类型可以用isinstance()判断,括号中写入两个参数

继承和多态的应用主要通过外部函数调用中不同的对象参数,可以呈现出不同的方法调用

核心:参数为父类,而接收的类型既可以是父类,也可以是继承该父类的子类

当然,只要对象中有同样的方法,可以不严格参照继承的体系

相关推荐
YUJIANYUE7 分钟前
PHP纹路验证码
开发语言·php
仟濹19 分钟前
【Java基础】多态 | 打卡day2
java·开发语言
孞㐑¥19 分钟前
算法——BFS
开发语言·c++·经验分享·笔记·算法
Re.不晚19 分钟前
JAVA进阶之路——无奖问答挑战2
java·开发语言
八零后琐话22 分钟前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python
3GPP仿真实验室24 分钟前
【MATLAB源码】CORDIC-QR :基于Cordic硬件级矩阵QR分解
开发语言·matlab·矩阵
知南x42 分钟前
【Ascend C系列课程(高级)】(1) 算子调试+调优
c语言·开发语言
忆~遂愿44 分钟前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
Ro Jace1 小时前
计算机专业基础教材
java·开发语言