python--类和对象

【Python入门】一篇就能让你完全掌握Python中的类和对象 本篇博客超级详细,阅读时请尽量使用电脑端结合目录。在编程中,类和对象是面向对象编程(OOP)的核心概念。Python 是一门支持面向对象编程的语言,这意味着你可以使用类和对象来组织代码,使其更加模块化、可维护和可扩展。 阅读详情

类 : 具有相同的属性和方法的对象的集合 .它定义了该集合中每个对象所共有的属性和方法。

对象: 万物皆对象.

类和对象的关系 : 类是对象的模板; 对象是类的实例.

语法:

  class   类名:    里面包含    属性   和   方法

class Preson:      #     Preson  是类名  可以随意定义
    def eat(self):
        # " def "为定义方法
        # " eat "函数名-->方法名  可以随意定义
        # " (   ) "形参列表  形参: 形式列表
        # " self "  第一个参数  默认是当前对象的引用 = 地址指向  可以随意修改
        print('人在吃饭...')
    def sleep(self):
        print('睡觉就行时...')
if '__main__'.__eq__(__name__):      #代表程序主入口  是从这里进去的(不写也可以)
    zhangshan=Preson()   #创建对象(直接用这个)
    zhangshan.eat()    #调用对象
    zhangshan.sleep()   #调用对象
 #打印结果为:  人在吃饭...
 #             睡觉就行时...

很多类都倾向于将对象创建为有初始状态的。

      因此类可能会定义一个名为   __init__( )   特殊方法(构造

方法) 

 先生成对象,调用此方法,再将对象赋值给引用名

#    __init__() 无参   的方法
class Preson:
    def __init__(self):
        self.name='无名氏'    #这的进行赋值   可生成多个
    def eat(self):
        print(self.name+'人在吃饭...')
    def sleep(self):
        print(self.name+'睡觉就行时...')
Pre=Preson()     #必需先实例化类   然后进行调用
Pre.eat()
Pre.sleep()
#打印为: 无名氏人在吃饭...
#        无名氏睡觉就行时...
Pre=Preson()  
Pre.name='张珊'   #也可以在和进行赋值  如果同时赋值  这里具有优先权 执行这
Pre.eat()
Pre.sleep()
# 打印为:    张珊人在吃饭...
#            张珊睡觉就行时...

建议使用下面这种方法(只是建议,因人而异,不强制)

#    __init__() 有参   的方法
class Preson:
    def __init__(self,name,age):
        # self.name 创建一个属性叫name 并且把形参name 赋值给了name
        self.name=name
        self.age=age
    def eat(self):
        print(self.name+'人在吃饭...')
    def Hello(self):
        print('大家好,我叫'+self.name,'今年',self.age,'岁')
Pre=Preson('张三',18)    #直接在这进行赋值
Pre.eat()
Pre.Hello()
#打印为   张三人在吃饭...
#         大家好,我叫张三 今年 18 岁

重写的方法:  __str__()

class Preson:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def eat(self):
        print(self.name+'人在吃饭...')
    def Hello(self):
        print('大家好,我叫'+self.name,'今年',self.age,'岁')
    def __str__(self):    #如果在输入这行代码 返回的就 不在是 地址和引用
        # object  所有数据类型的基类  父类
        return 'name:' + self.name + 'age :' + str(self.age)    #返回的是这个
Pre=Preson('张三',18)   
#  如果不输入所述 代码  则打印   地址和对象的引用
print(Pre)
print(str(Pre))
print(Pre.__str__())
#打印都为  <__main__.Preson object at 0x054D0750>
#  如输入上面所述代码   返回的皆是 name:张三age :18

解释型语言,不需要预定义,在使用前直接声明就可以(随时创建,随时使用):

class Preson:
    def eat(self):
        print(self.name+'人在吃饭...')
    def Hello(self):
        print('大家好,我叫'+self.name,'今年',self.age,'岁')
Pre = Preson()
Pre.name='李四'    #注意代码是从头开始执行 所以需要写前面
Pre.age=19
Pre.eat()
Pre.Hello()
#打印为:   李四人在吃饭...
#          大家好,我叫李四 今年 19 岁

python的语法特点,没有绝对,一切靠自觉,见名知意

公有方法 :允许外部调用的方法

私有方法  : 不允许外部调用的方法  只能在当前类中使用 ,以__开头__结尾    想调也可以调到

自动销毁方法: __del__( )   

       当对象没有引用的时候,或程序结束的时候,程序自动调用__del__().

class Preson:
    def eat(self):
        print(self.name+'人在吃饭...')
    def Hello(self):
        print('大家好,我叫'+self.name,'今年',self.age,'岁')
    def __del__(self):   #这是一种办法  在这输入代码
        print('对象被删除...')
Pre = Preson()
Pre.name='李四'
Pre.age=19
Pre.eat()
Pre.Hello()
del Pre  #也可以直接在末尾写
#最后打印出来   李四人在吃饭...
#              大家好,我叫李四 今年 19 岁
#              对象被删除...

可以测试一个对象有多少个引用: 在顶部写import sys     末尾写sys.getrefcount(    )    返回 从 2 开始

import sys   #在顶部写import 后面接 sys
class Preson:
    def eat(self):
        print(self.name+'人在吃饭...')
    def Hello(self):
        print('大家好,我叫'+self.name,'今年',self.age,'岁')
Pre = Preson()
Pre.name='李四'
Pre.age=19
Pre.eat()
Pre.Hello()
lisi=Pre
print(sys.getrefcount(Pre))     #打印为3   要是没有引用则默认是2

python:命名规则:

变量命名:数字 、字母  "   _  "(下划线)

注  :首字母不能是数字

非硬性要求:(规范)   建议

1.习惯性:    下划线加    _name 

2.驼峰式写法 :    例:  MyClass

3.第一个单词首字母小写其余的单词首字母大写

不要去用关键字









python中的类和对象 面向对象和面向过程二者相辅相成,并不是独立的,解决复杂问题,通过面向对象便于我们从宏观上把握事物之间复杂关系,方便我们分析整个系统;具体到微观操作,仍然使用面向过程来处理 阅读详情

相关推荐

【AI编程】用AI开发STM32软件(1):环境配置+AI编写LED闪烁

现在AI编程这么火,不拿来开发嵌软也太可惜了。笔者最近刚好有个2学分的实践课,要自己做项目,这不,机会就来了。笔者特意记录下来其过程,以供大家学习和参考。使用:VSCode+Copilot+EIDE+STM32CubeMX,单片机用最经典的stm32f103c8t6+STLink。

qq_23220445的博客 4573

Python基础学习笔记

python基础语法学习

gyfghh的博客 370

PVE(Proxmox VE)添加VMware Esxi并迁移虚拟机

跨平台迁移虚拟机:从VMware虚拟化平台迁移虚拟机到PVE平台。

VEGETA的博客 7719

Python类和对象

类:具有相同的属性和方法的对象的集合对象:万物皆对象语法:class 类名:属性class Person: def eat(self): print('人在吃饭..') def sleep(self): passdef是声明方法的标识eat是函数名 方法名()中的是形参列表 形参:形式列表self 是第一个参数 默认是当前对象的引用即为地址指向obj...

你偷笑时好美 226

AI Agent辅助企业财务分析与预测

企业财务分析与预测是企业管理中至关重要的环节,准确的财务分析与预测能够帮助企业管理者做出明智的决策,合理规划资源,降低风险。然而,传统的财务分析与预测方法往往依赖于人工经验和简单的统计模型,存在效率低、准确性差等问题。随着人工智能技术的飞速发展,AI Agent作为一种智能的软件实体,能够自主地感知环境、做出决策并采取行动,为企业财务分析与预测带来了新的解决方案。

AI天才研究院 922

光学系统仿真软件:Finesse_(6).噪声分析与优化

在Finesse中,噪声源的定义可以通过在光学元件的参数中添加噪声项来实现。以下是一个简单的示例,展示了如何在激光器和反射镜中定义噪声源。# 定义噪声传递函数# 绘制噪声传递函数plot NTF1在这个例子中,定义了一个噪声传递函数NTF1,描述了激光器L1到反射镜M1的噪声传递过程。plot NTF1命令绘制了噪声传递函数的频谱图。# 定义耦合路径# 绘制耦合噪声频谱图plot C1在这个例子中,定义了一个耦合路径C1,描述了激光器L1和反射镜M1之间的噪声耦合关系。plot C1。

kkchenjj的博客 874

python常用函数

列表-移除元素

weixin_46058415的博客 508

windows下宝塔安装教程

windows下宝塔安装教程 目录宝塔是什么?宝塔安装流程1.下载2.配置3.登录4.安装的环境套件小结 宝塔是什么? 宝塔是管理服务器的免费的软件,宝塔上面可以进行对你的服务器批量进行管理,对于运维人员来说还是必不可少的一个软件,值得使用。 宝塔安装流程 1.下载 链接: https://download.bt.cn/win/panel/BtSoft.zip 下载后安装买最好自定义目录,方便找 2.配置 下载完成后会出现这个页面,对着页面进行配置 点击默认密码复制进来,这里注意一点就是一定要查看

你在看屏幕的同时,屏幕也在注视着你 4424

每日作业 - JavaSE第1天

每日作业 - JavaSE第1天 题目1(训练) 请编写程序,将如下语句输出到屏幕上: java是一门跨平台的计算机语言 被称为一次编写,处处运行 训练目标 java语言HelloWorld案例的语法格式和编译运行。 训练提示 1、创建java文件。 2、编写类,用于完成该程序。 3、程序的运行需要主方法,编写主方法。 4、该使用什么语句将题目中的文本输出? 5、该怎样编译和运行java文件? ...

FreeSpider 2089

openCv +3.4.0 车牌定位(C++版本)

#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc.hpp> #include "opencv2/shape.hpp" using namespace ...

Bamboo265925的博客 2338

【Charge】仿真目录

Author: JiJi\textrm{Author: JiJi}Author: JiJi Created Time: 2026.01.20\textrm{Created Time: 2026.01.20}Created Time: 2026.01.20 Modified Time: 2026.01.20\textrm{Modified Time: 2026.01.20}Modified Time: 2026.01.20工作流程材料模型[Charge] 电荷分布与折射率变化理论 [Charge] FDTD

u011699626的博客 318

类的定义方式、成员变量和成员方法的使用以及对象的实例化和整个初始化过程

1. 类与对象的初步认知 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。 面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来 面向过程: 1.把冰箱打开 2. 把大象放入 3. 冰箱关起来 面向对象: 打开冰箱,储存,关闭都是对冰箱的操作,是冰箱的行为。冰箱就是一个对象,所以只要操作冰箱

橘生淮南 3140

Cesium 相机操作

Cesium 提供了三种方式对相机的位置进行摆放。

虎康的博客 2594

【Python学习教程】Python类和对象

转载于http://c.biancheng.net/python/ Python 语言在设计之初,就定位为一门面向对象的编程语言,“Python 中一切皆对象”就是对 Python 这门编程语言的完美诠释。 类和对象是 Python 的重要特征,相比其它面向对象语言,Python 很容易就可以创建出一个类和对象。同时,Python 也支持面向对象的三大特征:封装、继承和多态。 本章不仅会教你掌握 Python 类和对象的基本语法,还可以带你深入底层,了解 Python 面向对象的实现原理。 什么是面向对象,

qq_41854911的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【Python入门】类和对象

Python 是一种面向对象的编程语言,这意味着它允许你通过类和对象来组织代码。本篇博客将会介绍Python中如何创建和使用类和对象。

KevinRay_0854的博客 1043

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【Python篇】Python 类和对象:详细讲解(上篇)

类是一个蓝图或模板,用来描述某一类对象的共同特征和行为。它定义了对象应该具有什么属性(变量)和行为(方法)。举个例子,如果你要创建一个汽车管理系统,你可能会定义一个Car类,其中包括汽车的品牌、颜色、速度等属性,以及启动、停止、加速等行为。在 Python 中,类使用class关键字来定义。class Car : # 类的属性和方法定义在这里 pass是类的定义,其中Car是类的名称。pass是一个占位符,表示目前类中没有任何内容,但这是一个合法的类定义。对象是根据类创建的具体实例。

半截诗的博客~ 3111

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Python篇】Python 类和对象:详细讲解(中篇)

在编程中,类和对象是面向对象编程(OOP)的核心概念。Python 是一门支持面向对象编程的语言,这意味着你可以使用类和对象来组织代码,使其更加模块化、可维护和可扩展。类的组合通过在一个类中包含另一个类的实例,来实现功能模块化。这种方法使得类的职责更加明确,也让代码更加易于维护。方法重写:通过在子类中定义与父类同名的方法,你可以重写父类的方法,从而定制子类的行为。重写方法时,子类的方法会覆盖父类的同名方法,这是实现多态性的重要方式。多继承:Python 支持一个类同时继承多个父类的属性和方法。

半截诗的博客~ 2065

Python 的对象和类

在现实世界中,具体的实体被称为对象,观察这些对象的属性和行为,发现可以使用相同的特征去描述一类对象。对象属性和行为美国总统特朗普姓名、年龄、工作中国明星成龙姓名、年龄、工作上海中心大厦高度、业主、维护北京中信大厦高度、业主、维护可以使用 “姓名、年龄、工作” 等特征去描述特朗普和成龙这一类对象,使用 “高度、业主、维护” 等特征去描述上海中心大厦、北京中信大厦这一类对象。在编程领域,类是对一组具有相同属性和行为的对象的抽象。

1533

python类和对象

类是一种抽象概念,它是用来创建对象的蓝图。它定义了对象拥有的属性和方法。对象是类的实例,它是类的具体实现。定义类类定义语法:class 类名:类变量方法定义。

m53421的博客 904

python学习之【类和对象】

python学习——类和对象的介绍(详细)

沃和莱特的博客 1520

Python的类和对象

面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。理解面向对象编程有助于你像程序员那样看世界,还可以帮助你真正明白自己编写的代码:不仅是各行代码的作用,还有代码背后更宏大的概念。 作为一名Python初学者,再加上之前没有任何编程语言的学习经验,在学习到Python的类和对象的时候,被各种概念折磨的死去活来。但是「世上无难事只...

python学习者的博客 2499

Python入门手册:类和对象

本文介绍了Python面向对象编程的核心概念,重点讲解了类和对象的定义与使用。主要内容包括:1)类作为对象模板的概念和对象的实例化过程;2)通过Car类示例展示属性和方法的使用;3)继承和多态的实现方式;4)封装和访问控制机制(公有、受保护、私有)。文章以通俗易懂的方式呈现了OOP的基本特性,包括代码复用、灵活性和数据保护等优势,为读者理解Python面向对象编程提供了清晰指引。

佩奇的技术笔记 1173

Python基础——类和对象

在 Python 中,类(Class)和对象(Object)是面向对象编程的核心概念。通过类和对象,可以组织和管理代码,使得代码更加模块化、可重用和易于维护。下面详细介绍类和对象的概念、定义方法和使用方法。

十二测试录 2844

【Python】类和对象的深入解析

Python 是一种面向对象的编程语言,它允许程序员通过类和对象来组织和管理代码。面向对象编程(OOP)是一种编程范式,它使用"对象"来设计软件,对象可以包含数据和代码,即属性和方法。本文将详细介绍 Python 中的类和对象,包括它们的定义、使用和一些高级特性。在 Python 中,类是创建对象的蓝图或模板。它定义了一组属性和方法,这些属性和方法可以被类的对象所共享。类本身不包含数据,它只是一个构造函数,用于创建具有初始状态的对象。在 Python 中,使用class。

m0_73596070的博客 1837
上一篇: python--集合
下一篇: python--继承
Hao_python
博客等级 码龄9年 5粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值