首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏自动化、性能测试

    Python - 面向对象编程 - 实战(4

    是枪类的属性,每把枪都有子弹数,所以子弹数也是一个属性 发生子弹是一个行为,所以是一个方法 装填子弹也是一个行为,也是一个方法 许三多是姓名,是士兵类的属性;士兵拥有枪,所以枪也是一个属性,对应的是枪类【一个对象的属性可以是另外一个类创建的对象 】 开火是士兵类的一个行为,所以是一个方法,开火会发射子弹,所以应该调用枪的发射方法 类图 本次实战采用封装思想,将所有属性私有化,并且每个属性都有 setter、getter 方法 代码实现 面向对象编程的第一步 :将属性和方法封装到一个抽象的类中 外接使用类创建对象,然后让对象调用方法 对象方法的细节都被封装在类的内部 先开发枪类还是士兵类? __bullet_count = 0 # 自定义打印对象方法 def __str__(self): return f"枪名:{self. __gun = None # 自定义打印对象方法 def __str__(self): return f"士兵名字:{self.__name} 拿着一把:{self.

    58020发布于 2021-09-08
  • 来自专栏Crossin的编程教室

    Python 第50课】 面向对象4

    上一课举了一个面向对象面向过程相比较的例子之后,有些同学表示,仍然没太看出面向对象的优势。没关系,那是因为我们现在接触的程序还不够复杂,等以后你写的程序越来越大,就能体会到这其中的差别了。 面向过程的方法,你可能需要写两个函数,然后把数据作为参数传递进去,在调用的时候要搞清应该使用哪个函数和哪些数据。有了面向对象,你可以把相关的数据和方法封装在一起,并且可以把不同类中的相同功能整合起来。 这就需要用到面向对象中的另一个重要概念:继承。 我们要使用的方法是,创建一个叫做Vehicle的类,表示某种车,它包含了汽车和自行车所共有的东西:速度,行驶的方法。 最后,我们分别创建一个速度为15的自行车对象,和一个速度为80、耗油量为0.012的汽车,然后让它们去行驶100的距离。 ? 面向零基础初学者的编程课 每天5分钟,轻松学编程 回复『 p 』查看课程目录 回复『 t 』查看习题列表

    62760发布于 2018-04-16
  • 来自专栏Python | Blog

    Python面向对象_

    https://blog.csdn.net/zzw19951261/article/details/80314944 Python 面向对象的总结 1. 在类外部获取 属性 和 实例方法,通过对象名获取。 c. 如果一个类有多个对象,每个对象的属性是各自保存的,都有各自独立的地址; d. 但是实例方法是所有对象共享的,只占用一份内存空间。 类会通过self来判断是哪个对象调用了实例方法。 2. __del__ a. 监听对象是否销毁 b. 人为销毁对象 del 对象 c. 当地址的引用计数为0的时候,才会执行del 3. 两个父类都有init方法,默认会继承第一个也会执行第一个init方法 4. 子类重写父类的同名属性和方法 a.

    56430发布于 2019-07-31
  • 来自专栏小康的自留地

    Python面向对象

    继承 继承分为单继承和多继承 python中类的分类 这里需要补充一下python中类的种类(继承需要): 在python2x版本中存在两种类.: ⼀个叫经典类. 在python2.2之前. 同⼀个对象, 多种形态. 这个在python中其实是很不容易说明⽩的. 因为我们⼀直在⽤. 只是没有具体的说. 比如. 我们创建⼀个变量a = 10 , 我们知道此时a是整数类型. 面向对象中的反射:通过字符串的形式操作对象相关的属性。 python中的一切事物都是对象(都可以使用反射) Python实现自省的函数hasattr、getattr、setattr、delattr 应用于对象的反射 class Foo: f = ' article, 5: comment, } print(''' 欢迎访问博客园系统: 1,登录 2,注册 3,访问日记页面 4,访问文章页面

    74021发布于 2020-04-09
  • 来自专栏Java后端开发博客

    Python 面向对象

    # Python 面向对象 # 编程思想 编程届的两大阵营 面向过程 面向对象 区别 实物比较简单,可以用线性的思想去解决 事物比较复杂,使用简单的线性思维无法解决 共同点 面向过程和面向对象都是解决实际问题的一种思维方式 二者相辅相成,并不是对立的,解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间的复杂的关系。 方便我们分析整个系统,具体到微观操作,任然使用面向过程方式来处理 # 类与对象 类 类别,分门别类,物以类聚,人类,鸟类,动物类,植物类... 类是多个类似事物组成的群体的统称。 在python中没有专门的修饰符用于属性的私有,如果该属性不希望在类对象外部被访问,前面使用两个"_"。 > <__main__.Disk object at 0x000002C049A4EF10>

    52340编辑于 2022-12-25
  • 来自专栏python3

    python - 面向对象

    #python面向对象 - 类定义   注意:特殊方法"__init__"前后分别有两个下划线!!!    1 class sjlx_03: 2 #构造方法 3 def __init__(self,name,sex): 4 self. ------------------------------------------------------------------------------------------------- #python 面向对象 - 继承 1 #python面向对象 - 继承 2 class hellow(sjlx_03): 3 def __init__(self,name): 4 self

    53210发布于 2020-01-15
  • 来自专栏python3

    Python|面向对象

    #一、类、对象定义及使用 #定义类语法:class 类名(父类):代码块注意:()可有可无 #class Student: #class Student(): #创建对象(实例)语法:对象名=类名() 注意:Java语言在实例化对象是,采用new关键字,而Python语言不需要。 #name="张三" #print(name) #(4)私有属性 # 私有属性,不能通过对象调用,也不能通过类名调用,只能在本类中调用, # 类似Java语言中的private,如果想要在外部调用, Student() # student.name='李四' # print(student.name) #李四 # 五、继承 # 继承语法class 子类(父类1,父类2):通过语法格式可以看出Python boy=Boy('小男孩') girl=Girl() eat(student) #李四正在吃饭 eat(boy) #小男孩正在吃饭 eat(girl) #报错 今天学了python

    63520发布于 2020-01-19
  • 来自专栏Django Scrapy

    python面向对象

    面向对象的一般概念: # Class 类 一个抽象 Object 对象 一个实例 封装: 在类中对数据的赋值 内部调用对外部是透明的 继承: 一个类可以派生多个类 子类继承父类 多态: 一个接口多种实现 bought %s" %(self.name,gun_name)) r1 =Role('Alex','police','AK47').got_shot() # 生成一个角色 实例化 想当午造了一个对象 Question: Python有内存回收机制为何还需要析构函数? 自动回收是回收没有变量名的,如果有变量名则不回收 私有属性 类似这样 在属性前加上__,只有类本身可以被调用 self.

    96950发布于 2018-04-11
  • 来自专栏左瞅瞅,右瞅瞅

    Python 面向对象

    面向对象三要素 1、封装 组装:将数据和操作组装在一起 隐藏数据: 对外只暴露一些接口,通过接口访问对象。 2、继承 多复用,继承来的就不用自己写了 多继承少修改,OCP(Open-closed Principle),使用继承来改变,来体现个性 3、多态 面向对象编程最灵活的地方,动态绑定 Python 类的定义 class ClassName: 语句块 1、必须使用class 关键字 2、类名必须使用大驼峰命名 3、类定义完成后,就产生了一个类对象,绑定到了标识符 __name__) 类对象及类属性 类对象,类的定义就会生成一个类对象 类的属性,类定义中的变量和类中定义的方法都是类属性 类变量, 上例中x是类MyClass 的变量 __class__ 对象的类型 __dict__ 对象的属性的字典 __qualname__ 类的限定名 实例属性的查找顺序 指的是实例使用。

    76010发布于 2019-06-25
  • 来自专栏IT 茂茂

    Python面向对象

    前言 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python面向对象编程。 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python面向对象编程。 接下来我们先来简单的了解下面向对象的一些基本特征。 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法。对象可以包含任意数量和类型的数据。 __iter()的返回值是一个迭代器 # 3.for循环的如果是迭代器,直接执行.next方法 # 4.for循环的如果是可迭代对象,先执行对象.

    1.9K30发布于 2020-03-19
  • Python 面向对象

    Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python面向对象编程。 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python面向对象编程。 接下来我们先来简单的了解下面向对象的一些基本特征。 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 对象销毁(垃圾回收) Python 使用了引用计数这一简单技术来跟踪和回收垃圾。 简单的调用方法 : del obj 3 __repr__( self ) 转化为供解释器读取的形式 简单的调用方法 : repr(obj) 4 __str__( self ) 用于将值转化为适于人阅读的形式

    24710编辑于 2025-12-16
  • 来自专栏python3

    python面向对象

    python面向对象 目录: 1.类的定义和使用 2.类的封装 3.类的继承 4.多态 1.类的定义和使用 查、增加、修改、删除、初始化方法、实例化 __init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法 str,fstations[sel].getCn())) break cfz=getstation("出发") ddz=getstation("到达") 3.类的继承 面向对象的编程带来的主要好处之一是代码的重用 父类的属性和方法子类可以使用 #python 类的继承 #面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。 g2=Gd("北京","西安","10:00","18:00","G22",2,3,4) t1=Tkz("北京","西安","12:00","18:00","K112",4,3,4,6) t2=Tkz ("北京","郑州","11:00","18:00","K111",4,3,5,6) g1.insert() g2.insert() 4.多态 多态:同一父类的不同子类可以为同名方法执行不同的操作 #python

    69820发布于 2020-01-17
  • 来自专栏python3

    python 面向对象

    面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。 世界万物,皆可分类,皆为对象。 只要是对象,就肯定属于某种品类,有属性。 在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。 自定义的对象数据类型就是面向对象中的类(Class)的概念。 OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得更简单,并且可以大大提高程序开发效率 ,另外,基于面向对象的程序可以使它人更加容易理解你的代码逻辑 面向对象的几个核心特性如下 Class 类 一个类即是对一类拥有相同属性的对象的抽象、蓝图、原型。

    79520发布于 2018-08-02
  • 来自专栏TestOps云层

    Python面向对象

    面向对象编程是一种程序设计思想,它把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程与面向对象区别: 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。 而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。 Python是一门面向对象的语言,这篇文章芒果将带大家一起来学习Python面向对象。 我们首先要对这以下几个概念进行理解: 类(Class): 用来描述具有相同的属性和方法的对象的集合。 在Python2.7中,我们在创建类时,需要在括号里加上object,即class Girl(object)。 在Python2.7中略有不同,我们使用的是super(BeautyGirl,self)方法。

    50810编辑于 2022-04-07
  • 来自专栏python3

    Python面向对象

    [Python3]Python面向对象的程序设计 一、面向对象的程序设计的由来 1.第一阶段:面向机器,1940年以前 最早的程序设计都是采用机器语言来编写的,直接使用二进制码来表示机器能够识别和执行的指令和数据 4.第四阶段:面向对象程序设计 结构化编程的风靡在一定程度上缓解了软件危机,然而好景不长,随着硬件的快速发展,业务需求越来越复杂,以及编程应用领域越来越广泛,第二次软件危机很快就到来了。 面向对象真正开始流行是在 1980s 年代,主要得益于 C++的功 劳,后来的 Java、C#把面向对象推向了新的高峰。到现在为止,面向对象已经成为了主流的开发思想。 对于一个软件质量来说,面向对象的程序设计只是用来解决扩展性。 三、类和对象 1.定义 python中一切皆为对象,且python3统一了类与类型的概念,类型就是类。 __class__# 实例对应的类(仅新式类中) 4.对象的产生和引用 对象是关于类而实际存在的一个例子,即类的实例化。

    1.6K11发布于 2020-01-06
  • 来自专栏ShanSan的云原生之路

    Python面向对象

    就像C++类使用private、protected一样对类的成员访问进行限制一样 默认情况下,Python中的属性和方法都是公开的,可以在对象外部访问 私有变量 Python并没有真正的私有化支持 在Python定义私有变量只需在变量名或函数名前加上两个下划线__,例如__name。 那种仅限在一个对象内部访问的“私有”变量在Python中并不存在 使用双下划线将方法或属性变为私有时,在内部,Python将以双下划线开头的名字都进行转换,即在开头加上一个下划线和类名。 property装饰器、slots魔法 我们可以使用property装饰器对属性进行封装、通过getter和setter方法进行属性的访问和修改 Python是一门动态语言,可以在程序运行时给对象绑定属性和方法 Python可通过引入ABC模块实现抽象基类,使用@abstractmethod装饰器将方法标记为抽象的。

    1K10发布于 2020-07-07
  • 来自专栏老雷PHP全栈开发

    python面向对象

    今天我们来学习下python面向对象编程 一、面向对象概念 1.概念 面向对象(Object Oriented,OO)其是以对象模型为基础进行的抽象过程,并在应用过程中形成了描述自己的抽象概念定义 ,包括对象、类、封装、继承以及多态等。 2.面向对象的三大特性 1、封装 隐藏对象的属性和实现细节,仅对外提供公共访问方式,提高复用性和安全性。 2、继承 提高代码复用性; 3、多态 父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。 二、类与对象 类通过class声明 对象是类的实例化 class Demo: n=1 def __init__(self,n=1): self.n=n

    59630发布于 2020-07-02
  • 来自专栏韩曙亮的移动开发专栏

    Python面向对象 ① ( Python 面相对象核心概念 | Python 面向对象示例 )

    一、Python 面相对象核心概念 Python 语言是一种面向对象的语言 , 对应的几个 面向对象核心概念 如下 : 类 : 类是一种 Python 数据和行为模板 , 在类中定义了一组属性和方法 , , 如 : 变量 / 函数 / 类 都是对象 ; Python 中的一切都是对象,包括数字、字符串、列表、函数等等 ; 对象是程序的基本元素 , 它们包含了数据和操作 ; Python 对象由如下特点 , 同时可以添加自己的属性和方法 ; 多态 : 多态现象 指的是不同的对象对同一消息做出不同的响应 ; Python 中通过如下手段实现多态 : 方法重载 动态绑定 使用 Python 进行面向对象编程可以让代码更加模块化和可维护 二、Python 面向对象示例 定义 Python 类 : 使用 class 关键字可定义 Python 类 ; # 定义 Python 类 class Student: name = "Tom """ 面向对象 """ # 定义 Python 类 class Student: name = None age = None # 创建对象 s1 = Student() s2

    53520编辑于 2023-10-11
  • 来自专栏编程

    Python面向对象4:属性、成员修饰符

    defallpage(self):#普通方法#10个一分页 a1,a2=divmod(self.totalcnt,10) ifa2==: returna1 else: t=a1+1 returnstr(t) #创建对象并执行 加属性 defallpage(self): a1,a2=divmod(self.totalcnt,10) ifa2==: returna1 else: t=a1+1 returnstr(t) #创建对象并执行 __value)#无法继承foo的私有字段 obj=bar(95)#创建对象 obj.f1()#可以通过方法调用,而不能通过obj.f2()访问 案例3:创建类中的私有静态字段。 可以通过对象的方法访问 classfoo: __coo="gtt"#静态私有字段 def__init__(self,value): self. __coo)#静态私有字段 foo.f2() 案例4:受保护的变量 _xxx,单下划线开头的变量,标明是一个受保护(protected)的变量,原则上不允许直接访问,但外部类还是可以访问到这个变量。

    1K90发布于 2018-01-29
  • 来自专栏Android开发指南

    4面向对象高级

    4,final修饰的变量是一个常量,只能赋值一次。  为什么要用final修饰变量。其实在程序如果一个数据是固定的,  那么直接使用这个数据就可以了,但是这样阅读性差,所以它该数据起个名称。   private 不行 ,private进行了封装  static 不行 ,通过类名.方法调用没有意义  final 不行,final代表最终的,不能被重写 4,抽象类和一般类的异同点。    public abstract   由此得出结论,接口中的成员都是公共的权限. interface Demo{ public static final int NUM = 4; public abstract 格式:new 父类or接口(){子类内容} abstract class Demo{ abstract void show();}class Outer{ int num = 4; /* 正常情况 class +num);   }  }.show(); //可以调用,也可以不调用 }}class InnerClassDemo4{ public static void main(String[] args) {

    883160发布于 2018-05-14
领券