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

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

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

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

相关推荐
柯南二号10 分钟前
【Java后端】MyBatis-Plus 原理解析
java·开发语言·mybatis
0wioiw028 分钟前
Python基础(Flask①)
后端·python·flask
我是哈哈hh30 分钟前
【Node.js】ECMAScript标准 以及 npm安装
开发语言·前端·javascript·node.js
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】食品分类与实例分割系统源码和数据集:改进yolo11-AggregatedAttention
python·yolo·计算机视觉·数据集·yolo11·食品分类与实例分割
OperateCode1 小时前
AutoVideoMerge:让二刷更沉浸的自动化视频处理脚本工具
python·opencv·ffmpeg
蔡俊锋1 小时前
Javar如何用RabbitMQ订单超时处理
java·python·rabbitmq·ruby
跟橙姐学代码1 小时前
学Python别死记硬背,这份“编程生活化笔记”让你少走三年弯路
前端·python
Sammyyyyy2 小时前
2025年,Javascript后端应该用 Bun、Node.js 还是 Deno?
开发语言·javascript·node.js
站大爷IP2 小时前
Python与MySQL:从基础操作到实战技巧的完整指南
python
老歌老听老掉牙2 小时前
SymPy 矩阵到 NumPy 数组的全面转换指南
python·线性代数·矩阵·numpy·sympy