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()判断,括号中写入两个参数

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

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

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

相关推荐
TF男孩2 小时前
ARQ:一款低成本的消息队列,实现每秒万级吞吐
后端·python·消息队列
该用户已不存在7 小时前
Mojo vs Python vs Rust: 2025年搞AI,该学哪个?
后端·python·rust
站大爷IP9 小时前
Java调用Python的5种实用方案:从简单到进阶的全场景解析
python
用户83562907805114 小时前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
侃侃_天下15 小时前
最终的信号类
开发语言·c++·算法
c8i15 小时前
python中类的基本结构、特殊属性于MRO理解
python
echoarts15 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
liwulin050615 小时前
【ESP32-CAM】HELLO WORLD
python
Aomnitrix15 小时前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
Doris_202315 小时前
Python条件判断语句 if、elif 、else
前端·后端·python