python面向对象的介绍

2023-10-29

面向对象的概念:

python是一门面向对象的编程语言

面向对象编程中,最常见的表现就是基于类来表现

什么是类(class):

类是用来描述具有相同属性和方法对象的集合

类=属性+行为

属性:特征

方法:行为

什么是对象:
对象是类的实例
世间万物都可以是对象

简单的定义一个类,关键字是class

 属性和方法不要随便定义,要基于类的前提下去定义 

类的实例化:比较重要的东西

举例

 在这里jige就是对象,把类的属性加在鸡哥的身上 

        

 每次调用类的时候,一定要先实例化,赋予个对象,要不不行,一定要有对象!有对象!

构造方法:

类名有一个__init__()的特殊方法(构造方法),该方法在类实例化时会自动调用
当然__init__()方法可以有参数,参数通过__init__()传递到类的实例化上
用于初始化数据时候会使用

举个例子: 

我在执行实例化的时候,他就会自动执行这个方法,而且是最先的调用

接下来我们来简单介绍一下关于类的知识点

类的属性:

类属性:相当于全局变量,实例对象共有的属性

举个例子:比如把人类设定成一个类属性的话,那么所有人类共有的属性就是类属性
    比如:正常人都有五官,都会走路,都需要呼吸等

实例属性:实例对象自己私有,只能通过对象来调用
    
举例:还是用人类来举例,一个人有一个技能,但是这个技能并不是所有人都会的

比如:我家哥哥会打篮球,会唱,会跳,还会rap,这些是他会的技能,但是这些技能并不是所有人都会的
      所以当调用这些的时候,你要先调用哥哥,才能继续调用他技能,也就是实例属性。
 
内置属性:这个简单来了解一下就行
类名__dict__:类的属性(包含一个字典,由类的数据属性构成)
类名—__doc__:类的文档字符串
类名:__name__:类名
类名:__module__:类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__等于mymod)
类名:__bases__:类的所哟父类构成的元素(包含了一个由所有父类组成的元组)

类的方法:

实例方法:

使用def关键字来定义一个方法,与一般的函数定义不同,类方法必须包含参数self,且为第一个参数,

self代表的是类的实例,实例方法只能被实例对象调用

静态方法:

由@staticmethod装饰的方法,没有self这个参数,而将这个方法当成一个普通函数使用,可以被类或类

的实例对象调用

类方法:

由@classmethod装饰的方法,他的第一个参数不是self,而是cls,它代表这个类的本身,可以被类或类

的实例化对象调用
内置方法:指定的额方法名,去执行特定的业务

        命名规则:__init__()这个就是内置方法,以两队下划线开始,以两下划线结束

        __init__(self,...):构造方法,在生成对象时调用,可以用来进行一些初始化数据的操作,

不需要显示去调用,系统会默认执行

        __del__(self):析构方法,在释放对象时调用,支持重载,可以在里面进行一些释放资源的操

作,不需要显示调用     #在整个代码执行完毕会自动调用

        __str__(self,....):自定义实例输出方法,写好该方法后,替换实例默认的输出操作

        __getattribute__(...):获取实例属性的值,可直接结合对象使用

其实类属性和类方法还有一个,叫做私有类属性/方法

私有类属性/方法:
私有属性:必须以双下划线开头,只能类内部才能够访问
私有方法::必须以双下划线开头,只能类内部才能够调用

简单吧,完活。

欢迎各位同学进行交流,栓Q!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python面向对象的介绍 的相关文章

随机推荐

  • idea技巧

    Ctrl P 查看方法参数 Ctrl Q 查看类 方法 属性注释 Alt Enter 提示 ctrol shift 上下键 将本行文字上下移动 ctrl o 重写方法 ctrl i implement 方法实现 Ctrl u 或者b 方法详
  • 最受推荐的10本Python书籍

    Python是一种通用的解释型编程 主要用于Web开发 机器学习和复杂数据分析 Python对初学者来说是一种完美的语言 因为它易于学习和理解 随着这种语言的普及 Python程序员的机会也越来越大 如果你想学习Python编程 市场上就有
  • C++ 单例模式

    原创文章 转载请注明出处 目录 C 单例模式介绍 一 单例是什么 二 C 实现单例 2 1 基础要点 2 2 C 实现单例的几种方式 C 单例模式介绍 单例可能是最简单的一种设计模式 实现方法很多种 同时单例也有其局限性 本文对C 单例的常
  • 项目开发过程文档

    1 项目开发计划 项目开发计划内容覆盖项目整个开发周期内的人员调度 所属阶段 需求 设计 编码 测试 实施 模块划分 开始和结束时间 计划 实际 2 需求规格说明书 需求规格说明书是对客户需求的理解形成的文档 为了确定与客户需求一致 在此基
  • 人物专访

    撰写 亿欧网 木木 大模型的出现 正在开启着国内新一轮AI热潮 某种程度上 当下真正决定AI企业成败的 是能否尽早实现 技术 场景 的双轮驱动 以最近大火的大模型为例 在很多人看来 OpenAI成功的关键因素之一 正是他们在GPT 3 5模
  • java 自定义比较器用法

    什么是比较器 比较器实质就是重载比较运算符 比较器可以很好的应用在特殊标准的排序上 比较器可以很好的应对在根据特殊标准排序的结构上 代码变得异常容易 还用于范型编程 自己定义比较器是自己设置的比较类实现了 Comparator 接口 代码如
  • devc运行窗口不显示_任务栏不显示打开的窗口怎么解决

    任务栏就是指位于桌面最下方的小长条 并且可以按照个人喜好拖动并更改 可以存放大部分正在运行的程序窗口 可是近来却有朋友遇到任务栏不显示打开的窗口了 这是怎么回事呢 有没有解决办法呢 下面小编就介绍一下任务栏不显示窗口的解决方法 大家有没有遇
  • chatgpt赋能python:Python高精度计算:介绍

    Python 高精度计算 介绍 在计算机科学中 高精度计算是指可以处理更高位数的数字和更精确的计算结果 这在很多领域中都是必需的 比如金融 科学计算 密码学等等 Python 是一个支持高精度计算的语言 它的高精度计算库可以轻松地进行各种高
  • idea中@Test不能在控制台输入

    Test不能控制台输入 使用Junit的 Test测试时无法使用控制台输入 解决办法 在idea的Help gt Edit Custom VM Options 中添加如下代码 添加以下内容 不要忘了 重启idea 使用Junit的 Test
  • 11.函数

    函数 接下来开始学习函数 函数这个知识点很重要 需要认真学习 先来了解下什么是函数 函数是组织好的 可重复使用的 用来实现单一或相关功能的代码块 如何使用函数 函数是组织好的 可重复使用的 用来实现单一 或相关联功能的代码段 函数能提高应用
  • 堆与栈的区别详细总结

    1 堆与栈的区别详细总结 Fighting 的博客 CSDN博客 堆和栈的区别 2 堆和栈的区别 江雨牧 博客园 3 堆和栈的区别 内外皆秀的博客 CSDN博客 堆和栈的区别 4 一文读懂堆与栈的区别 恋喵大鲤鱼的博客 CSDN博客 堆和栈
  • FastDFS部署

    概述 FastDFS是一个开源的轻量级分布式文件系统 它对文件进行管理 功能包括 文件存储 文件同步 文件访问 文件上传 文件下载 等 解决了大容量存储和负载均衡的问题 特别适合以文件为载体的在线服务 如相册网站 视频网站等等 FastDF
  • 如何在编译器(vs2010)里设置调用别人写好的lib和dll

    这是网上找的 但是实际使用时 我只添加了红色矩形标注出来的3项就可以用 补充1 2015 9 19 22 35 这里再将自己在别的地方找到的资料补充在这里吧 如何在编译器 vs2013 里设置调用别人写好的lib和dll步骤 1 Tools
  • OpenCV - 灰度直方图绘制

    以下为借鉴的图像直方图的绘制方法 做此纪录 参考 https blog csdn net sinat 36264666 article details 78754897 void calcHist const Mat images int
  • 如何将本地代码提交到git上

    如何将本地代码提交到git上 1 首先在github上新建一个仓库 https gitee com projects new 2 在项目文件夹里右击打开Git Bash Here 设置全局名称和邮件 git config global us
  • 电脑提示vcruntime140.dll如何修复

    在我们打开游戏或者软件的时候 电脑提示vcruntime140 dll丢失该如何修复 vcruntime140 dll是Windows系统中非常重要的组件 丢失会导致很多游戏跟软件无法打开运行 小编今天就把修复的方法分享给大家 修复方法如下
  • 中文大模型评估数据集——C-Eval

    C EVAL A Multi Level Multi Discipline Chinese Evaluation Suite for Foundation Models https arxiv org pdf 2305 08322v1 pd
  • 有500块钱现金,做什么生意能一个月能赚到1万左右?

    只有500块钱的现金 就想一个月赚1万块钱 如果你没有特殊的才能没有特殊的技术 是很难实现的 500块钱说不定连试错的成本都不够 很多生意看起来赚钱很容易 但当你真正自己去体验的时候你才会发现那些表面看起来很容易赚钱的东西 到了你手里说不定
  • 【AI with ML】第 5 章 :自然语言处理简介

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • python面向对象的介绍

    面向对象的概念 python是一门面向对象的编程语言 面向对象编程中 最常见的表现就是基于类来表现 什么是类 class 类是用来描述具有相同属性和方法对象的集合 类 属性 行为 属性 特征 方法 行为 什么是对象 对象是类的实例 世间万物