Python 类(Class)零基础入门指南

Python Class 内嵌类 i = 12345... 阅读详情

Python 类(Class)零基础入门指南

类就是把数据和功能打包在一起的“代码图纸”,而对象就是根据图纸造出来的具体“产品”。


一、什么是类?什么是对象?

类(Class) 是创建对象的模板或蓝图,而对象(Object) 是根据类创建出来的具体实例。

用生活中的例子来理解:

概念生活中的类比代码中的例子
类手机的设计图纸class Student:
对象根据图纸造出的具体手机s1 = Student()

类定义了“有什么”和“能做什么”,而对象是实实在在存在的个体。


二、定义一个最简单的类

python

# 定义类(图纸)
class Student:
    pass  # pass 表示空类,什么都不做

# 创建对象(根据图纸造实例)
s1 = Student()
s2 = Student()

print(s1)  # <__main__.Student object at 0x...>
print(s2)  # <__main__.Student object at 0x...>(不同地址)

💡 要点:s1 和 s2 是两个不同的对象,互不影响,就像两台不同手机一样。


三、__init__ 构造方法:给对象初始化数据

__init__ 是类中一个特殊的方法,在创建对象时自动调用,用来给对象设置初始属性。

python

class Student:
    # 构造方法:创建对象时自动执行
    def __init__(self, name, age):
        self.name = name  # 属性:姓名
        self.age = age    # 属性:年龄

# 创建对象时,自动调用 __init__
s1 = Student("张三", 18)
s2 = Student("李四", 20)

print(s1.name)  # 张三
print(s2.age)   # 20

self 是什么?

self 代表当前正在创建的对象自己,在方法定义中必须写在第一个参数位置,调用时不需要传值,Python 会自动处理。

💡 要点:创建对象时,__init__ 里的 self 就是新创建的那个对象。


四、在类里添加方法(对象的行为)

类里的函数叫方法,描述对象能做什么事情。

python

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # 方法1:介绍自己
    def introduce(self):
        print(f"我叫{self.name},今年{self.age}岁")

    # 方法2:学习
    def study(self, subject):
        print(f"{self.name}正在学习{subject}")

# 使用
s = Student("小明", 14)
s.introduce()       # 我叫小明,今年14岁
s.study("数学")     # 小明正在学习数学

💡 要点:每个方法的第一个参数都是 self,代表调用该方法的对象本身。


五、修改、访问对象属性

python

class Student:
    def __init__(self, name):
        self.name = name

s = Student("张三")

# 1. 访问属性
print(s.name)        # 张三

# 2. 修改属性
s.name = "李四"
print(s.name)        # 李四

# 3. 动态添加新属性(Python 非常灵活)
s.score = 90
print(s.score)       # 90

# 4. 判断是否有某个属性
print(hasattr(s, "name"))   # True
print(hasattr(s, "age"))    # False

💡 要点:与 Java 等静态语言不同,Python 允许随时给对象添加新属性。


六、数据封装:把逻辑藏进类里

面向对象的一个重要特点是封装:把数据和操作数据的方法打包在一起,外部不需要知道内部细节。

python

class Student:
    def __init__(self, name, score):
        self.name = name
        self.score = score

    # 封装在类内部的判断逻辑
    def get_grade(self):
        if self.score >= 90:
            return "A"
        elif self.score >= 60:
            return "B"
        else:
            return "C"

# 使用:只需要调用方法,不需要知道内部怎么判断的
s = Student("小明", 85)
print(s.get_grade())  # B

💡 要点:封装让代码使用更简单,修改内部逻辑也不会影响外部调用代码。


七、继承:复用父类代码

继承就是子类可以继承父类的属性和方法,避免重复编写相同代码。

python

# 父类
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say(self):
        print(f"我是{self.name}")

# 子类 Student 继承 Person
class Student(Person):
    def __init__(self, name, age, student_id):
        # 调用父类构造方法,复用父类代码
        super().__init__(name, age)
        self.student_id = student_id  # 子类自己的属性

    def study(self):
        print(f"{self.name}正在学习")

# 使用
s = Student("小明", 15, "S1001")
s.say()    # 我是小明(继承自父类)
s.study()  # 小明正在学习(子类自己的)

💡 要点:super().__init__() 用来调用父类的构造方法,实现代码复用。


八、多态:同一方法不同表现

多态是指同一个方法名,在不同子类中可以有不同实现。

python

class Animal:
    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        print("汪汪汪")

class Cat(Animal):
    def speak(self):
        print("喵喵喵")

# 同一个方法,不同对象表现不同
def make_sound(animal):
    animal.speak()

make_sound(Dog())  # 汪汪汪
make_sound(Cat())  # 喵喵喵

九、常用特殊方法(魔术方法)

以 __xx__ 命名的特殊方法,Python 会在特定场景自动调用。

__str__:打印对象时触发

python

class Student:
    def __init__(self, name):
        self.name = name

    def __str__(self):
        return f"学生:{self.name}"

s = Student("小明")
print(s)   # 学生:小明(不再打印地址)

__len__:让对象支持 len()

python

class Classroom:
    def __init__(self):
        self.students = []

    def add(self, name):
        self.students.append(name)

    def __len__(self):
        return len(self.students)

c = Classroom()
c.add("小明")
c.add("小红")
print(len(c))  # 2

十、快速参考卡片

python

# ===== 定义类 =====
class ClassName:
    # 构造方法
    def __init__(self, 参数):
        self.属性 = 参数

    # 普通方法
    def 方法名(self):
        return self.属性

# ===== 创建对象 =====
obj = ClassName(参数)

# ===== 继承 =====
class 子类(父类):
    def __init__(self, 参数):
        super().__init__(参数)  # 调用父类

# ===== 常用魔术方法 =====
__init__    # 创建对象时调用
__str__     # print(对象) 时调用
__len__     # len(对象) 时调用

💡 一句话总结

类就是数据+功能的打包模板,对象就是根据模板造出来的具体东西。 

持续集成介绍及Jenkins自动化测试部署 学习持续集成及jenkins的自动化测试部署 阅读详情

相关推荐

Silvaco Atlas入门指南——从零开始掌握半导体器件仿真

本文为Silvaco Atlas半导体器件仿真软件的入门指南,详细介绍了从零开始掌握该工具的核心流程。内容涵盖Atlas的基本概念、仿真流程、核心文件(输入、结构、输出文件)、交互式与批处理两种操作模式,并逐步演示了如何从定义网格、划分区域、设置电极到进行掺杂、选择物理模型并求解,最终获取和分析器件特性的完整步骤。旨在帮助微电子相关专业人员和工程师快速上手这一强大的“数字实验室”,提升半导体器件设计与研发效率。

weixin_29306317的博客 402

Python--类(讲解)

创建(定义)类。创建类的实例对象,通过实例对象实现特定的功能。class 类名:多个(≥ 0 )类属性 . . . 多个(≥ 0 )类方法 . . .注意:无论类属性还是类方法,都不是必须的,还有就是类属性和类方法的位置是任意的,没有固定的先后顺序。但一般都是属性在前,方法在后。

生而无畏,战至终章 2万+

避坑指南:群晖DSM 7.X挂载NTFS硬盘,为什么你的SATA口不行?从原理到实战一次讲清

本文深入解析群晖DSM 7.X系统挂载NTFS硬盘的底层原理与实战排查方法,揭示SATA接口权限配置的关键参数(如esataportcfg和internalportcfg),并提供安全修改端口配置的详细步骤。针对不同型号群晖NAS的配置差异,给出替代方案与常见故障排查技巧,帮助用户解决NTFS硬盘挂载问题。

weixin_26757925的博客 257

python类

python基础

qq_44123358的博客 2万+

集成电路模拟版图入门-版图基础学习笔记(四)

第三部分:版图的准备 2. 设计规则 3) Design Rule 2. 设计规则 4) 规则定义 4.1 NW(N WELL) 2. 设计规则 4) 规则定义 4.1 NW(N WELL) 2. 设计规则 4) 规则定义 4.2 PO(Poly) 2. 设计规则 4) 规则定义 4.3 M1(Metal1) 2. 设计规则 4) 规则定义 4.4 VIA 3. DRC文件 3.1 DRC:Design Rule Check,设计规则检查。 3.2 DRC程序了解有关

weixin_52955333的博客 6737

Higress 入门:初探阿里云原生 AI 网关

Higress 是一款由阿里巴巴推出的云原生 API 网关,其内核基于 Istio 和 Envoy。与传统 API 网关不同,它深度聚焦于 AI 场景,支持国内外众多主流模型供应商,如 OpenAI、百度文心一言等,还兼容基于 vllm/ollama 等自建的 DeepSeek 模型,能够满足不同类型企业对 AI 能力集成与管理的需求。Higress 作为一款功能强大的云原生 API 网关,在 AI 时代展现出独特的优势。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1869

【Python零基础】类的概念

【Python零基础】类的概念

卓越之识论道,平常之识论事,狭隘之识论人 1万+

Geogebra中级篇016—矩阵(Matrices)

在GeoGebra中,矩阵是一种强大的工具,广泛应用于线性代数、几何变换和数据处理等领域。通过矩阵,我们可以轻松实现复杂的计算和图形变换,如旋转、平移和缩放等操作。不仅如此,GeoGebra的矩阵功能还支持多种运算,如加法、乘法、求逆等,使得用户能够高效地处理线性方程组和向量空间问题。在本文中,我们将深入探讨GeoGebra中的矩阵功能,详细介绍如何创建矩阵、执行常见的矩阵运算,并通过实例展示这些操作在数学和工程应用中的实际价值。这篇文章将为你提供关于GeoGebra矩阵操作的全面指南。

八荒启-交互动画的博客 2585

python-类

类,基础

changan 1万+

Linux安装MinIO(图文解说详细版)

最近开个新坑,就是在linux环境中操作开发环境,带大家玩转Linux,会整理出一篇Linux的专栏,欢迎大家订阅!! 富贵同学linux环境为CentOS7.8 版本。 上期跟大家说了一下OpenJDK的安装,这次说一下minio的安装 第一步,进入/opt 目录,创建minio文件夹 cd /opt mkdir minio 第二步,wget下载安装包: wget https://dl.minio.io/server/minio/release/linux-amd64/minio 第三步,进入m

编码人生 5万+

069_死区效应对输出电压畸变的补偿思路

死区效应导致逆变器输出电压在过零点出现台阶畸变,引发THD升高。其本质是死区期间续流二极管钳位造成的非线性误差,与电流方向、负载大小、母线电压耦合。补偿需结合前馈(基于电流方向自适应调整偏置)与反馈(抑制残余谐波),关键在于准确判断电流方向(采用滞环滤波避免跳变)、合理设置补偿量(随负载动态调整),并注意补偿位置、极性及限幅防漂移。调试应通过差分探头、FFT频谱等手段验证效果,最终实现全负载范围内的低畸变输出。

2401_88858637的博客 22

Python——类

文章目录前言一、什么是面向对象编程二、面向对象术语简介三、Python类四、类的专业方法五、理解Self的意义六、类和函数的注释规范七、测试用例 前言 在了解什么是Python类之前,先来了解一下什么是面向对象编程: 一、什么是面向对象编程 1、面向对象编程(oop)是一种程序设计思想。oop把对象作为程序的基本单元,一个对象包含数据和操作数据的函数 2、在python中,所有数据类型都被视为对象,也可以自定义对象。自定义对象数据类型就是面向对象中类的概念 二、面向对象术语简介 术语 意义

Algabeno的博客 7787

黑猫带你学eMMC协议第9篇:eMMC初始化过程(initial)

本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 文章所在专栏:《黑猫带你学:eMMC协议详解》 1 什么是emmc的初始化 对于小白来说,可能不太明白什么是emmc初始化。举个栗子:当你拿到一个电脑,接上电源,是不是就立马可以用了呢?并不是吧,你还需要去开机,等待电脑启动,配置完各种参数,等出现了电脑桌面,你才能用。那么同样,对于emmc芯片来说,也不是提供电源就能用了,需要输入各种命令后,让其进入到tran state后,才能正.

黑猫奥利奥的博客 6742

Python class定义类,Python类的定义(入门必读)

在面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念;对象才是一个具体存在的实体。从这个意义上看,日常所说的人,其实都是人的对象,而不是人类。 Python 定义类的简单语法如下: class 类名: 执行语句… 零个到多个类变量… 零个到多个方法… 类...

Python零基础入门学习 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Python类(Class)完全指南】面向对象编程入门

本文通过10+个实战案例,系统讲解Python类的核心概念,涵盖属性、方法、继承、多态等知识点,帮助初学者快速掌握面向对象编程。

赶紧的博客 1616

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Python—类class复习

这样,Python将不会考虑这个父类方法,而只关注你在子类中定义的相应方法。将实例用作属性:可以将类的一部分作为一个独立的类提取出来。可以。

qq_46403759的博客 1028

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

python 函数def 和 类class 基础

函数def ''' python 函数 def 函数名(参数列表): 函数体 如果参数要指定数据类型, 参数名:数据类型 num : int str1 : str list1 : list dict1 : dict set1 : set ''' def addNum(a: int, b: int, c: int): return a + b + c def addNum2(a:...

zZsSzss的博客 2930

Python 类(Class)

介绍类的基础内容,包括类的定义,类对象,实例对象,方法对象,类和实例变量。

"大梦三千秋的博客 1621

python中类class的简单介绍

关于python中的类(CLASS)的简单介绍class和self类的实例化类属性对象方法与类方法类的访问 class和self   最近在学python,看别人的代码中出现了 class Print_num( ): num1 = 1 def num( self ): print( "“123” )   于是便去查了一下,大致的意思是,这里的class表示我要声明一个类,后面会有...

weixin_34132725的博客 835

Python class:定义类(入门必读)

Python class:定义类(入门必读) 前面章节中已经提到,类仅仅充当图纸的作用,本身并不能直接拿来用,而只有根据图纸造出的实际物品(对象)才能直接使用。因此,Python 程序中类的使用顺序是这样的: 创建(定义)类,也就是制作图纸的过程; 创建类的实例对象(根据图纸造出实际的物品),通过实例对象实现特定的功能。 本节先教大家如何创建(定义)一个类,如何使用定义好的类将放到后续章节进行讲解。 Python类的定义 Python 中定义一个类使用 class 关键字实现,其基本语法格式如下: clas

ccc369639963的博客 1713

python类class

class,用于创建和管理新对象,python程序的组成单元,逻辑和数据封装的另一种形式,类似与函数和模块。 类特性:多重实例、通过继承定制、运算符重载。 类对象的特性: 1.class语句创造类并将它赋值给变量名。 2.class语句内的赋值语句创造类的属性,class语句的作用域变成类属性的命名空间,类似与模块的全局作用域。 3.类提供了对象的行为,类属性的行为可被实例对象共享,包括def...

linuxZhuxiao少年如风di博客 1350

Python中的Class全面指南:从入门到精通

Python的类系统提供了强大而灵活的工具来实现面向对象编程。通过掌握类的基本概念、三大特性(封装、继承、多态)以及高级特性,您可以构建出结构良好、易于维护的Python应用程序。记住,面向对象编程的核心是建模现实世界的问题,而不仅仅是使用类和对象。本文将深入探讨Python中的class(类)概念,帮助您掌握面向对象编程的精髓。类(Class)是面向对象编程的基本构建块,它是对现实世界中一组具有相同属性和行为的对象的抽象描述。继承允许我们定义一个类,继承另一个类的属性和方法。类属性:所有实例共享的属性。

Python_trys的博客 2511

python中class什么意思_python中的class是什么意思

python中的class是什么意思发布时间:2020-08-05 17:44:47来源:亿速云阅读:91作者:小新python中的class是什么意思?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!面向对象的设计思想是从自然界中来的,因为在自然界中,类(Class)和实例(Instance)的概念是很自然的。Cla...

weixin_39896839的博客 6988

python class类_python类class基础

44、class类:一、类定义的一般形式:1、简单的形式:实例化对象没有自己独有的数据属性。>>> class fistclass():... data1 = 'hello world' ### ==>这是类的数据属性或类成员属性。... def printdata(self): ###==>这是类的方法,而且这里至少有一个参数self!!!... ...

weixin_39634194的博客 188

class在python中的意思_Python中类的理解,Class

说明Class之前,先写一个Python中Class的代码:为了便于理解,首先定义三个类:OldMan 、 YoungMan 、Lawyer,其中Lawyer“多继承”前两个类。大概就是律师处理爸爸留给儿子的财产。Class中的属性分为:基本属性和私有属性,顾名思义,私有属性只能在当前类被使用,不能被其他类引用。比如OldMan中的名字和年龄__name __age,这是私有的,所以定义为私有属性...

weixin_39846898的博客 1331

class类python_Python 类class简介

与Java、PHP等多数语言一样,Python也是一门面向对象的语言,在Python中同样很容易的创建一个类和对象。本文不介绍面向对象的概念,只介绍Python的面向对象编程。在面向对象编程编程中,落地的方式一般是使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “类” 和 “对象” 的使用。类就是一个模板,模板里可以包含多个函数,函数里实现一些功能。而对象则是根据模板创建的实例,...

weixin_34510298的博客 3275
上一篇: Python函数从入门到进阶
下一篇: 从面向对象到Pygame游戏开发:Python进阶学习实战总结
python666Lc
博客等级 码龄126天 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值