python面向对象一

python基础(14)之 类和对象 Python类和对象 一、创建类 二、创建对象 三、init() 函数 四、对象方法 五、自参数 六、对象及其属性更改 七、pass语句 阅读详情

面向对象(opp)

简介

什么是对象?
对象就是内存中存储指定数据的一块区域,实际上对象就是一个容器专门用来存储数据

对象的结构

  1. id(标识)
  • 用来标识对象的唯一性,每个对象都有唯一的id
  • id又解释器生成的,id就是对象的内存地址
  1. type(类型)
  • 类型决定了对象有哪些功能
  • 通过type()查看对象的类型
  1. value(值)
  • 值指的是对象中存储的具体数据
  • 可变对象(list, dict, set)&不可变对象(int, str, str, bool, tuple)

面向对象的举例

所谓面向对象简单理解就是语言中所有的操作都是通过对象来进行的

面向过程–>面向对象
把大象放进冰箱分几步?

  1. 打开冰箱--------对应打开功能
  2. 装大象----------对应存储功能
  3. 关门-------------对应关闭功能

面向对象是一种思考问题的方式,面向对象是一种思想
面向对象将事物变得简单化
大象放进冰箱,我面对的对象是冰箱,我知道对象的功能有打开,存储,关闭,至于冰箱是怎么打开,怎么存储,怎么关闭的不需要我关心,我只要用就可以了。
通过对象,去使用对象所具有的功能
(分装, 多态, 继承)
比如,我去参加面试,面试官是我的对象,他的功能审核,评分
我也是面试官的对象,我的功能,回答,应聘

对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。在面向对象程序设计中,对象所指的是计算机系统中的某一个成分。在面向对象程序设计中,对象包含两个含义,其中一个是数据,另外一个是动作。对象则是数据和动作的结合体。对象不仅能够进行操作,同时还能够及时记录下操作结果

面向过程

  • 面向过程将一个功能分解成一个一个小步骤
  • 但这种编程方式往往只适用于一个功能,我们要实现别的功能的时候,需要重新编程,复用性比较低
  • 比较符合人的思维,编写起来比较容易

类(class)

  • 类简单理解,类就是一张图纸,在程序中需要根据类来创建对象

语法:class 类名([父类]):
代码块

class MyClass():
    pass
a = MyClass() # 用MyClass这个类创建了一个对象mc,mc是MyClass的实例
print(int)
print(MyClass)
print(MyClass())
print(a)
# <class 'int'>
# <class '__main__.MyClass'>
# <__main__.MyClass object at 0x0000017C77DAB588>
# <__main__.MyClass object at 0x0000017C77DAB288>

我们之前学的对象都是python的内置对象,如int,你可以看到int也是一个类,和我们定义的类MyClass(注意用驼峰命名法命名)一样,都是一种类,是一个对象
当我们打印a时返回的是类的内存地址值。

isinstance()

  • 用来检测一个对象是否是一个类的实例
class MyClass():
    pass
a = MyClass()
r = isinstance(a, MyClass)
r1 = isinstance(int, MyClass)
print(r)
print(r1)
# True
# False

对象的创建流程

类是什么?

  • 类也是一个对象(类是一个用来创建对象的对象)
  • 类是一个type类型的对象
  • 可以向对象中添加变量,对象中的变量称之为属性。语法:对象.属性名 = 属性值
class MyClass():
    pass
a = MyClass()
print(id(MyClass), type(MyClass))
b = 10
print(id(b),type(b))
# 2133892710792 <class 'type'>
# 140706426417696 <class 'int'>

类是一种type类的对象

class MyClass():
    pass
a = MyClass()
a.name = 'spider man'
a.power = 'spin'
# spider man spin
print(MyClass().name)
# AttributeError: 'MyClass' object has no attribute 'name'

我们通过’a.name = ‘向MyClass中添加变量,但是我们打印’MyClass().name’,缺发现属性错误,MyClass对象中没有属性name
在内存中

类的定义

  • 类和对象都是对现实生活事务或程序内容的抽象
    实际上所有的事务就是由两部分组成
  1. 数据(属性)
  2. 行为(方法)
    在类的代码中,我们可以定义变量和函数
    类中的变量叫属性
  • 类中的变量可以成为所有实例的公共属性,所有实例可以访问这些变量
    类中的函数叫方法
  • 这些方法都可以通过类的实例调用
  • 如果是函数需要几个参数就传几个参数,不要不定长就传*参数,不定数关键字传参**参数
  • 如果是方法,默认传递一个参数,所以类中方法至少要定义一个参数,这个参数通常是self,这是一种规范,不是规则
class People():
    name = 'Batman'
    age = '30'
    power = 'rich'
    print(name)
p = People()
p.name = 'iron man'
print(People)

self是什么

  • self这个参数就是调用方法的对象本身
  • 规范化我们使用self,也可以是a, chris, balabala,都是可以的
class People():
    name = 'Batman'
    age = '30'
    power = 'rich'
    def SayHi(self):
        print(id(self),self)

p1 = People()
p1.SayHi()
print(id(p1),p1)
# 2698834200392 <__main__.People object at 0x000002745F0DC748>
# 2698834200392 <__main__.People object at 0x000002745F0DC748>

class People():
    name = 'Batman'
    age = '30'
    power = 'rich'
    def SayHi(self):
        print('你好我是{}'.format(self.name))
p1 = People()
p2 = People()
p1.SayHi()
p1.name = 'iron man'
p1.SayHi()
p2.name = 'spider man'
p2.SayHi()
# 你好我是Batman
# 你好我是iron man
# 你好我是spider man

属性和方法

属性和方法的查找流程

  • 当我们去调用一个属性或方法时,解析器会现在当前的对象中寻找是否有该属性或方法,若有,则返回当前对象的值
  • 如果没有,则去当前对象中的类对象中寻找,若有返回类对象中的属性值,若没有,报错

类对象和实例对象都已可以保存属性和方法

  • 若这个属性或方法,是所有类共享的,则应该保存到类对象中
  • 若这个属性或方法,是某个实例独有的,则应该保存到实例对象中
uniapp - [全端兼容] 高性能 tabbar 底部菜单凸起效果,原生系统自定义底部菜单不卡顿、切换页面不闪烁、自动缓存页面(底部菜单中间自定义一个图片并悬浮起来) uniapp如何实现底部凸起按钮,uniapptabbar底部菜单怎么自定义,uniapp怎么让底部菜单中间突出来,uniapp自定义底部tabbar,uniapp高性能好用的底部菜单,uniapp自定义底部导航栏并解决闪烁问题,uniapp怎么设置凸起的底部tabbar,uniapp怎么用系统的底部菜单还想让中间的按钮凸起来,uniapp自定义tabbar性能不好怎么办,uni-app自定义导航栏实现中间凸起效果,uniapp底部导航栏中间圆形按钮凸起效果详细代码,uni-app自定义中间图标突起的 阅读详情

相关推荐

晶圆测试(Wafer Sort)的核心技术与良率提升策略

晶圆测试(Wafer Sort)是芯片制造中的关键“入学考试”,通过探针台与自动测试设备(ATE)对晶圆上的芯片进行功能与参数测试,筛选不合格芯片以控制成本。本文深入解析了其核心技术,包括自动化视觉系统对准、测试流程优化策略,并探讨如何利用测试数据驱动良率提升,展望了DFT与AI智能测试的未来趋势。

e4f5g6h的博客 522

python面向对象

面向对象 理解面向对象 类和对象 添加和获取对象属性 魔方方法 一、理解面向对象 面向对象时一种抽象化得编程思想,很多编程语言中都有得一种思想。 例如:洗衣服 思考:几种途径可以完成洗衣服 手洗和洗衣机 总结:面向对象就是将编程当成一个实物,对外界来说,事物是直接可以使用得,不用管他内部得情况。而编程就是设置事物能够做什么事。 二、类和对象 面向对象编程过程中,有两个重要组成部分:类和对象 2...

拉格朗日的学习笔记 370

傻白入门芯片设计,wafer/die/chip/cell(一)

芯片设计的一些基本概念

qq_46675545的博客 2万+

python学习笔记:类(Class)和实例(Instance)

一、什么是面向对象编程 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 面向对象编程(oop)是一种程序设计思想。oo把对象作为程序的基本单元,一个对象包含数据和操作数据的函数 在python中,所有数据类型都被视为对...

Yuancccc的博客 3073

【HCIE】FRR+BFD+OSPF与BGP联动

FRR+BFD+OSPF与BGP联动

Wenrs的博客 1997

差分分析.

差分分析是一种强大的密码攻击技术,通过研究明文差分与密文差分的关系来破解加密算法。本文系统介绍了差分分析的核心概念和方法: 基础差分分析:通过异或运算抵消密钥影响,利用差分分布表(DDT)寻找高概率差分特征,以FEAL-4为例展示了具体攻击过程。 高级差分技术:包括截断差分分析(关注部分特征)、不可能差分分析(排除概率为0的路径)和飞来去器分析(将算法分段处理)。 自动化搜索方法:介绍了松井算法和MILP(混合整数线性规划)方法,将差分路径搜索转化为数学优化问题。 这些方法展现了差分分析从基础理论到现代应用

weixin_61562383的博客 787

针对Python 实例方法、类方法和静态方法的详解

1. 概览 先定义一个最简单的 Python 3 的类: class MyClass: def method(self): print('我是实例方法', self) @classmethod def classmethod(cls): print('我是类方法', cls) @staticmethod def staticmethod(): print('我是静态方法') 1.1 实例方法 第一个方法 metho

Python热爱者的博客 2969

GBDT算法详解

本文详细介绍了GBDT算法的原理和特点,并展示了其在回归和分类任务中的应用。首先介绍了GBDT算法的基本思想和公式,然后展示了如何在回归数据集使用GBDT进行回归任务,以及如何在分类数据集上使用GBDT进行文本分类任务。

甜盐的博客 2541

Python中类创建和实例化过程

一、 type() 1、创建类的两种方式 方式一 登录后复制 class MyClass(object): def func(self,name): print(name) myc = MyClass() print(MyClass, type(MyClass)) print(myc, typ...

cnzzs的博客 965

第一讲:halcon模板匹配捆绑测量矩形检测芯片针脚

使用halcon模板匹配捆绑测量矩形,检测位置发生变换的芯片针脚缺陷。

uiopmn1的博客 2995

LPDDR6与LPDDR5 State Diagram技术探讨

LPDDR6与LPDDR5 State Diagram技术探讨

zilan23的博客 1178

Python面向对象总结一

本篇博客介绍了python面向对象知识

qq_42681787的博客 1517

搞定最强大模型Gemini学生订阅,白嫖一年,包教包会

白嫖现在最强大模型

BUG猿的博客 2万+

Python 面向对象一

Python 面向对象一1. 面向对象简介2. 类(class)3. 类的定义4. 参数self4.1 属性和方法4.2 self 1. 面向对象简介 • Python是一门面向对象的编程语言 • 所谓面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的 首先我来看面向过程语言 • 面向过程指将我们的程序分解为一个一个步骤,通过对每个步骤的抽象来完成程序 • 这种编写方式往往只适用于一...

a1085217638的博客 410

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python编程-面向对象基础与入门到实践一书的内容拓展

通过编程,模拟现实生活中的事物编程,叫做面向对象编程,此过程也叫做实例化编程。

m0_74220316的博客 1117

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

一、python面向对象基础

本文系统介绍了Python面向对象编程的核心概念和应用。主要内容包括:1.面向对象三大特性(封装、继承、多态)及其优势;2.类与对象的定义与使用,包括self关键字的作用;3.对象属性的添加与获取方法;4.常用魔法方法(init、str、del)的实际应用;5.通过减肥案例和烤地瓜案例展示面向对象编程的综合运用。文章详细阐述了从基础概念到实际开发的完整知识体系,帮助开发者掌握Python面向对象编程的核心技能。

coding 1362

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python-10 面向对象一

目录1. 面向对象简介2. 类(class)4. 参数self4.1 属性和方法4.2 self 1. 面向对象简介 Python是一门面向对象的编程语言 所谓面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的 面向过程 面向过程指将我们的程序分解为一个一个步骤,通过对每个步骤的抽象来完成程序 这种编写方式往往只适用于一个功能,如果要实现别的功能,往往复用性比较低 这种编程方式符号人类的思维,编写起来比较容易 1.妈妈穿衣服穿鞋出门 2.妈妈骑上电动车 3.妈妈到超市门口放好电动车 4.妈妈

风华绝代的博客 222

Python面向对象一

Python面向对象一一、面向对象简介二、类(class)三、类的定义四、参数self1.属性和方法2.self 一、面向对象简介 Python是一门面向对象的编程语言 所谓面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的 面向过程 面向过程指将我们的程序分解为一个一个步骤,通过对每个步骤的抽象来完成程序 这种编写方式往往只使用于一个功能,如果要实现别的功能,往往复用性比较低 这种编程方式符合人类的思维,编起来比较容易 1.妈妈穿衣服穿鞋出门 2.妈妈骑上电动车 3.妈妈到超市门口放好

wangkei_cn的博客 157

python面向对象一 类

1.面向对象 Python是一门面向对象的编程语言 所谓面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的 面向过程: 面向过程指将我们的程序分解为一个一个步骤,通过对每个步骤的抽象进行完成。 这种编写方式只适用于一个功能,如果要实现别的功能,往往复用性比较低 这种编程方式符合人类的思维,编写起来起来比较容易:1.妈妈穿衣服穿鞋出门 2.妈妈骑上电动车 3.妈妈到超市门口...

weixin_45568391的博客 263

Python面向对象专题一

通过python入门面向对象。

qq_40719550的博客 1309

python 面向对象编程一

一、面向对象程序设计方法的由来 1、面向过程的程序设计方法 1.1基本步骤 分析程序从输入到输出的各步骤 按照执行过程从前到后编写程序 将高耦合部分封装成模块或函数 输入参数,按照程序执行过程调试  1.2 面向过程的程序设计特点 过程化程序设计的典型方法是“结构化程序设计”方法,是由荷兰学者Dijkstra在70年代提出的。 程序设计原则:自上而下、逐步求精、模块化编程等。 程序...

lhaniey的博客 462

python——面向对象——知识汇总一

面向对象技术简介 类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 方法:类中定义的函数。 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。 方法重写:如果从父类继承的方法不能满足子类的需求,可以对...

小白龙白龙马的博客 792

python有面向对象吗_python面向对象(一)

面向对象1.初始面向对象面向过程:一切以事务的发展流程为中心.面向对象:一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象打比方:面向过程大象进冰箱步骤: 第一步, 开门, 第二步, 装大象, 第三步, 关门面向对象:大象, 你进冰箱.此时主语是大象. 我操纵的是大象. 此时的大象就是对象2. 类和对象类: 就是图纸. 创建对象的第一步. 先画图纸. 先写类.对象: 对象就是车. 通过图...

weixin_39989222的博客 100

10python之面向对象一

1.面向对象简介 python是一门面向对象的编程语言 所谓面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的 面向过程 。面向过程将我们的程序分解为一个一个步骤,通过对每一个步骤的抽象来完成程序 。这种编写方式往往只适用于一种功能 ,如果要实现别的功能,往往复用性比较低 。这种编程方式符合人类的思维,编写起来比较容易 念想对象的编程语言,关注的是对象,而不注重过程,对于面向对象一切皆为对象 面向对象的编程思想,将所有功能统一保存到对应的对象中,要使用某个功能。直接找到对应的 对象即可 2

hanyidong123的博客 154

python语言是面向对象_Python语言之python 面向对象一 OOP

本文主要向大家介绍了Python语言之python 面向对象一 OOP,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。一、面向对象和面相过程面向对象编程——ObjectOrientedProgramming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序...

weixin_39827728的博客 201
上一篇: python函数三
下一篇: python面向对象二
shell-x
博客等级 码龄7年 16粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值