Python---类与对象

news2024/10/10 8:27:02

专栏:python
个人主页:HaiFan.
专栏简介:本专栏主要更新一些python的基础知识,也会实现一些小游戏和通讯录,学时管理系统之类的,有兴趣的朋友可以关注一下。

类与对象

  • 前言
  • 定义类
  • 创建对象

前言

面向对象跟函数一样,是比较重要的内容。
那什么是对象呢?
在现实生活中:足球,人,手机,等一切物品都可以看作对象。
把现实生活中的事物,转换成程序的形式,就是程序中的对象。

举个例子:张三的足球,李四的足球。
足球是具体的事物,并且张三和李四都有足球,那么就可以提取足球的共同特征,作为一个类别。

足球能干什么?
踢,扔,打等等,这些都是足球能干的事,在这里,先称之为动作。

足球还有品牌,大小之分,这些都是通过特征去展示的。
可以通过具体的事物,来推出足球所具有的共同特征和动作。

当然,在开发的时候,需求是什么,做什么就行。

在程序中:把特征称为属性,把动作称为方法

在类中的函数就是方法。

定义类

class 类名:(或者这样写:class 类名():)
    属性:特征
    
    方法:动作

以上面的足球为例。

class Soccer:
    #属性
    pass
    #方法

这就定义出了一个类。

注:类名首字母要求大写,如果是多个字母组成的类名,每个单词的首字母都要大写,要牢记

创建对象

class Soccer:
    #属性
    pass
    #方法

print(Soccer)

在这里插入图片描述
这个main先不用管 打印出来的结果是一个 class Soccer
在定义类的时候,系统会自动的分配空间,来存放这个类,所以可以把类当成一个模板。

在使用类创建对象。

class Soccer:
    #属性
    pass
    #方法

a = Soccer()

这个a,就是一个对象。

并且,a是利用Soccer创建出来的对象,具有Soccer的所有方法和属性。

class Soccer:
    brand = 'nb'
    price = 9999999
    
    
a = Soccer()
print(a.brand)
print(a.price)

在这里插入图片描述
在创建一个b对象。
并打印出b对象的牌子和价钱。

class Soccer:
    brand = 'nb'
    price = 9999999


a = Soccer()
print(a.brand)
print(a.price)

print('------------------')

b = Soccer()
print(b.brand)
print(b.price)

在这里插入图片描述
可以看出,a和b的结果是一样的。

当我把a的牌子和价钱修改之后,b的牌子个价钱会被修改吗?

class Soccer:
    brand = 'nb'
    price = 9999999


a = Soccer()
a.brand = 'bunb'
a.price = 111111
print(a.brand)
print(a.price)

print('------------------')

b = Soccer()
print(b.brand)
print(b.price)

在这里插入图片描述
修改a,不会影响b。

在创建a对象的时候会有一块自己的空间,这个空间和模版的空间是不一样的,所以,在a自己的空间对brand进行更改是成立的。同理:b的brand不会随a的brand的更改而更改。

计算机会先在a的空间里去找,有没有对a的brand进行更改,如果有,输出的就是a空间里的那个brand,如果没有就会去模子Phone里进行查找。

赋值操作永远是作用在自己的空间上的

所以一系列的a.操作都是在a自己的空间上进行操作的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/190746.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

河北如何推进农村生活污水处理?

自“十四五”以来,我国各地都针对地方农村人居环境的改善颁布相关方案,力图改善农村生活污水处理这一自本世纪初就始终困扰我国广大农村居民的难题。今天,小编就为大家介绍一下,湖北省针对农村污水处理所采取的最新措施。 河北地…

统计图表有哪几个种类及其特点

关于数据分析中常用统计图表的分类和各种图表的特点,这一张图就能概括! 下面来展开说下,为了直观展示,给大家找了一份可视化统计图表的模板,可直接在线使用,需要的小伙伴自取哈。 点此领取模板>>htt…

端口映射和端口转发

文章目录端口转发定义端口映射的定义端口转发简介常见转发工具LCX1、目标机有公网lP2、端口映射3、目标机无公网IP端口转发和端口映射都是为了解决内网主机的端口无法在外部直接访问而衍生出来的技术,通过中间服务器进行中转,将内部的端口映射到公网IP上…

【AI-NLP】Transformer理论及源码理解

文章目录提出背景总体结构EncoderDecoder细节再探源码阅读主函数部分主模型定义编码器编码层多头自注意力层前馈神经网络层Masked解码器解码层参考资料提出背景 改进了RNN的训练慢的缺点,利用self-attention机制实现并行计算。并且Transformer可以增加到非常深的深…

用css实现简易报警灯

主题 用css来实现一个简易的报警灯效果 实现效果 实现思路 实现的核心是一个灯罩和一个灯芯。灯罩主要是使用了border-radius圆角边框,灯芯主要是radial-gradient径向渐变。再使用动画效果来实现一闪一闪的效果。让我们来一步一步实现效果。 灯罩实现 因为大…

剑指Offer 第18天 I. 二叉树的深度 II. 平衡二叉树

目录 剑指 Offer 55 - I. 二叉树的深度 剑指 Offer 55 - II. 平衡二叉树 剑指 Offer 55 - I. 二叉树的深度 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度…

2025年突破百万套/年,又一个前装赛道成为行业新风口

汽车智能化,不仅仅是增量,还有存量升级。 作为驾驶员观察道路状况的关键车载部件,汽车后视镜(基于凸面镜)最早出现在1906年,随后逐步成为所有车辆的基本标配。不过,由于镜面设计的缺陷&#xf…

【ROS学习】节点运行管理launch文件的基本操作

launch文件的概念和作用 launch 文件是一个 XML 格式的文件,可以启动本地和远程的多个节点,还可以在参数服务器中设置参数。 launch文件的作用是:简化节点的配置与启动,提高ROS程序的启动效率。 使用场景 launch文件在ros中使用还…

mybatis中获取插入数组的主键值(自增主键,非增主键),mp

1.自增主键的第一种写法 <insert id"addKey" ><!--通过mybatis框架提供的selectKey标签获得自增产生的ID值--><selectKey resultType"java.lang.Integer" order"AFTER" keyProperty"id">select LAST_INSERT_ID()<…

【Azure 架构师学习笔记】-Azure Logic Apps(5)- 标准和使用量类型的区别

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Logic Apps】系列。 接上文【Azure 架构师学习笔记】-Azure Logic Apps&#xff08;4&#xff09;-演示2 前言 在做实验的过程中&#xff0c;发现使用“使用量”&#xff08;Consumption)类型会出现很多问题&#xff…

碰到个阿里p8,终于知道了别人为什么这么强,算是见识到了基础的天花板

基础不行一切都是浮云&#xff0c;想要建成高楼大厦&#xff0c;必需基础牢固 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文&#xff0c;为此咱这里也统一做一次大整理和大归类&#xff0c;这也算是划重点了。 俗话说得好&#xff0c;他山之石&#xf…

Pointet++ Tutorial

目录 .0 前言 .1 Contributions .2 Solutions 2.1 Set Abstraction&#xff08;SA&#xff09; .3 Structure of Network 3.1 Sample layer 3.2 group 3.3 PointNet layer 3.4 分类任务在提取特征后是怎么操作的&#xff0c;loss是什么 3.5 分割任务中如何进行上采…

electron+vite+vue3.0+frorge最新打包流程

这里写自定义目录标题简介安装打包更多配置配置vue项目多平台打包mac osforge配置项简介 文章更新与2023年2月1日。 electron官网&#xff1a;https://www.electronjs.org electronforge官网&#xff1a;https://www.electronforge.io 环境要求&#xff1a;git、node14版本以…

Secure Hash Algorithm-3 (SHA-3) family

参考文献&#xff1a; Bertoni G, Daemen J, Peeters M, et al. Keccak[C]//Advances in Cryptology–EUROCRYPT 2013: 32nd Annual International Conference on the Theory and Applications of Cryptographic Techniques, Athens, Greece, May 26-30, 2013. Proceedings 32…

1分钟快速解读什么是实时渲染

古语云&#xff1a;工欲善其事必先利其器&#xff0c;在现代化的行业细分更加精确&#xff0c;不同行业为了实现更高的效率&#xff0c;也都有自己的专用软件工具或者设备。在数字孪生、虚拟仿真、设计类等行业也是如此&#xff0c;在创建3D模型时也是需要用到Unreal\Unity\May…

iptables 在 Android 抓包中的妙用

本文介绍一种在 Andorid 中实现单应用、全局、优雅的抓包方法。 此文于去年端午节编写&#xff0c;由于种种原因&#xff0c;当时藏拙并未发布。现删除一些敏感信息后分享出来&#xff0c;希望对各位有所启发。 背景 昨天在测试一个 Android APK 的时候发现使用 WiFi 的 HTTP …

软考高级系统架构师背诵要点---质量属性与架构评估

质量属性与架构评估 质量属性&#xff1a; 1.性能&#xff1a;指系统的响应能力&#xff0c;即要经过多长时间才能对某个事件做出响应&#xff0c;或者在某段时间内系统所能处理的事件个数 代表参数&#xff1a;响应时间、吞吐量 设计策略&#xff1a;优先级调度、资源调度…

【MyBatis】| MyBatis查询语句专题(核心知识)

目录 一&#xff1a;MyBatis查询语句专题 1. 返回Car对象 2. 返回List<Car> 3. 返回Map 4. 返回List<Map> 5. 返回Map<String,Map> 6. resultMap结果映射 7. 返回总记录条数 一&#xff1a;MyBatis查询语句专题 前期准备&#xff1a; 模块名&#xf…

为什么计算机需要操作系统?

当计算机只运行一个程序时&#xff0c;只需将所有的资源(CPU、内存、磁盘等)分配给这一个程序就行&#xff1b;当计算机同时运行2个或以上程序时&#xff0c;操作系统就需要充当一下角色&#xff1a; 资源分配器资源隔离与秩序维护者细节屏蔽者 一. 资源分配器 计算机的硬件…

Springboot整合第三方技术及整合案例

Springboot整合第三方技术一、Springboot整合Junit1、步骤2、classes属性二、整合Mybatis1、步骤2、常见问题三、整合Mybatis-plus1、步骤2、常见配置四、整合Druid1、步骤五、整合案例-数据层&#xff08;基础的CRUD&#xff09;1、创建springboot项目手工导入starter坐标2、配…