返回顶部
首页 > 资讯 > 后端开发 > Python >Python类和对象怎么用
  • 382
分享到

Python类和对象怎么用

2023-06-04 14:06:00 382人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下python类和对象怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!类  说是要“找对象”,我们第一个看的却是个叫作“类”的语法结构。这里的

小编给大家分享一下python类和对象怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

  说是要“找对象”,我们第一个看的却是个叫作“类”的语法结构。这里的类其实和我们日常生活中的“类”的概念差不多。日常生活中,我们把相近的东西归为一类,而且给这个类起一个名字。比如说,鸟类的共同属性是有羽毛,通过产卵生育后代。任何一只特别的鸟都是建立在鸟类的原型基础上的。 
  下面我们用Python 语言来记录上面的想法,描述鸟类:

class Bird(object): feather = True reproduction = "egg"

  在这里,我们用关键字class 来定义一个类。类的名字就是鸟(Bird)。括号里有一个关键词object,也就是“东西”的意思,即某一个个体。在计算机语言中,我们把个体称为对象。一个类别下,可以有多个个体。鸟类就可以包括邻居老王养的金丝雀、天边正飞过的那只乌鸦,以及家里养的一只小黄鸡。 
  冒号和缩进说明了属于这个类的代码。在隶属于这个类别的程序块中,我们定义了两个量,一个用于说明鸟类有羽毛(feather),另一个用于说明鸟类的繁殖方式(reproduction),这两个量称为类的属性(attribute)。我们定义鸟类的方法很粗糙,鸟类只不过是“有毛能产蛋”的东西。要是生物学家看到了大概会暗自摇头,但我们毕竟迈出了模拟世界的第一步。 
  我们除了用数据性的属性来分辨类别外,有时也会根据这类东西能做什么事情来区分。比如说,鸟会移动。这样,鸟就和房屋的类别就区分开了。这些动作会带来一定的结果,比如移动导致位置的变化。这样的一些“行为”属性称为方法(method)。Python 中,一般通过在类的内部定义函数来说明方法。

class Bird(object): feather = True reproduction = "egg" def chirp(self, sound): print(sound)

  我们给鸟类新增一个方法属性,就是表示鸟叫的方法chirp()。方法chirp()看起来很像一个函数。它的第一个参数是self,是为了在方法内部引用对象自身,我将在后面详细解释。需要强调的是,无论该参数是否用到,方法的第一个参数必须是用于指代对象自身的self。剩下的参数sound 是为了满足我们的需求设计的,它代表了鸟叫的内容。方法chirp()会把sound 打印出来。

对象

  我们定义了类,但和函数定义一样,这还只是打造兵器的过程。为了使用这个利器,我们需要深入到对象的层面。通过调用类,我们可以创造出这个类下面的一个对象。比如说,我养了一只小鸡,叫summer。它是个对象,且属于鸟类。我们使用前面已经定义好的鸟类,产生这个对象:

summer = Bird()

  通过这一句创建对象,并说明summer 是属于鸟类的一个对象。现在,我们就可以使用鸟类中已经写好的代码了。作为对象的summer 将拥有鸟类的属性和方法。对属性的引用是通过对象.属性(object.attribute)的形式实现的。比如说:

print(summer.reproduction) # 打印'egg'

  用上面的方式,我们得到summer 所属类的繁殖方式。 
  此外,我们还可以调用方法,让summer 执行鸟类允许的动作。比如:

summer.chirp("jijiji") # 打印'jijiji'

  在调用方法时,我们只传递了一个参数,也就是字符串”jijiji”。这正是方法与函数有所区别的地方。尽管在定义类的方法时,我们必须加上这个self 参数,但self 只用能在类定义的内部,所以在调用方法时不需要对self 传入数据。通过调用chirp()方法,我的summer 就可以叫了。 
  到现在为止,描述对象的数据都存储于类的属性中。类属性描述了一个类的共性,比如鸟类都有羽毛。所有属于该类的对象会共享这些属性。比如说,summer 是鸟类的一个对象,因此summer 也有羽毛。当然,我们可以通过某个对象来引用某个类属性。 
  对于一个类下的全部个体来说,某些属性可能存在个体差异。比如说,我的summer 是黄色的,但并非所有的鸟儿都是黄色的。再比如说人这个类。性别是某个人的一个性质,不是所有的人类都是男,或者都是女。这个性质的值随着对象的不同而不同。李雷是人类的一个对象,性别是男。韩美美也是人类的一个对象,性别是女。 
  因此,为了完整描述个体,除了共性的类属性外,我们还需要用于说明个性的对象属性。在类中,我们可以通过self 来操作对象的属性。现在我们拓展Bird 类:

class Bird(object): def chirp(self, sound): print(sound) def set_color(self, color): self.color = colorsummer = Bird()summer.set_color("yellow")print(summer.color) # 打印'yellow'

  在方法set_color()中,我们通过self 参数设定了对象的属性color。和类属性一样,我们能通过对象.属性的方式来操作对象属性。由于对象属性依赖于self,所以我们必须在某个方法内部才能操作类属性。因此,对象属性没办法像类属性一样,在类下方直接赋初值。 
  但Python 还是提供了初始化对象属性的办法。Python 定义了一系列特殊方法。特殊方法又被称为魔法方法(Magic Method)。特殊方法的方法名很特别,前后有两个下画线,比如init()、add()、dict()等。程序员可以在类定义中设定特殊方法。Python 会以特定的方式来处理各个特殊方法。对于类的init()方法,Python 会在每次创建对象时自动调用。因此,我们可以在init()方法内部来初始化对象属性:

class Bird(object): def __init__(self, sound): self.sound = soundprint("my sound is:", sound) def chirp(self): print(self.sound)summer = Bird("ji")summer.chirp() # 打印'ji'

  在上面的类定义中,我们通过init()方法说明了这个类的初始化方式。每当对象建立时,比如创建summer 对象时,init()方法就会被调用。它会设定sound 这个对象属性。在后面的chirp()方法中,就可以通过self 调用这一对象属性。除了设定对象属性外,我们还可以在init()中加入其他指令。这些指令会在创建对象时执行。在调用类时,类的后面可以跟一个参数列表。这里放入的数据将传给init()的参数。通过init()方法,我们可以在创建对象时就初始化对象属性。 
  除了操作对象属性外,self 参数还有另外一个功能,就是能让我们在一个方法内部调用同一类的其他方法,比如:

class Bird(object): def chirp(self, sound): print(sound) def chirp_repeat(self, sound, n): for i in range(n):self.chirp(sound)summer = Bird()summer.chirp_repeat("ji", 10) # 重复打印'ji'10 次

  在方法chirp_repeat()中,我们通过self 调用了类中的另一个方法chirp()。

以上是“Python类和对象怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

--结束END--

本文标题: Python类和对象怎么用

本文链接: https://lsjlt.com/news/238214.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python类和对象怎么用
    小编给大家分享一下Python类和对象怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!类  说是要“找对象”,我们第一个看的却是个叫作“类”的语法结构。这里的...
    99+
    2023-06-04
  • Python类和对象怎么应用
    对象 = 属性 + 方法我们前面其实已经接触过封装的概念,把乱七八糟的数据扔进列表里面,这是一种封装,是数据层面的封装;把常用的代码段打包成一个函数,这也是一种封装,是语句层面的封装;现在我们要学习的对象,也是一种封装的思想, 对象的来源是...
    99+
    2023-05-14
    Python
  • Python面向对象的类和对象怎么使用
    这篇文章主要介绍“Python面向对象的类和对象怎么使用”,在日常操作中,相信很多人在Python面向对象的类和对象怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python面向对象的类和对象怎么使用...
    99+
    2023-06-22
  • python怎么定义类和对象
    这篇“python怎么定义类和对象”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python怎么定义类和对象”文章吧。定义简...
    99+
    2023-06-29
  • python 类和对象
    一.编程范式1.面向对象编程;2.面向过程编程;3.函数式编程二.面向对象设计面向对象设计:将一类具体事物的数据和动作整个到一起;1.我们都学过函数,那么使用函数该怎么实现面向对象设计呢?如下图所示:代码部分:#面向对象设计:就是将同一类具...
    99+
    2023-01-31
    对象 python
  • python对象和类
    #coding:utf-8 #1、对象是一个有着相应行为的数据的集合 #2、在面向对象建模中,用于各种描述对象的属于叫做类 #3、类和对象的区别:类描述了对象,是创建对象的模板 #4、关联是把两个类联系起来最基本的方式 #5、一个类可以通...
    99+
    2023-01-31
    对象 python
  • python面相对象之类和对象
      类和对象是python面相对象中两个重要的概念,类是客观世界中事物的抽象,而对象是类实例后的变量,比如汽车模型可以造出各种各样的汽车,汽车模型就是类,汽车就是汽车模型抽象出来的实例,这里有必要还有说一下方法,函数在类中叫方法,比如汽车...
    99+
    2023-01-31
    对象 面相 python
  • Python面向对象之类和对象
    目录类定义类定义类和属性类中方法对象方法(普通方法)类方法静态方法魔术方法对象创建对象对象属性总结 类 定义类 所有类名首字母要求大写,多个单词时遵循驼峰命名法 所...
    99+
    2024-04-02
  • Python类和对象如何应用
    这篇文章主要介绍了Python类和对象如何应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python类和对象如何应用文章都会有所收获,下面我们一起来看看吧。对象 = 属性 + 方法我们前面其实已经接触过封装...
    99+
    2023-07-06
  • 使用python怎么检查类和对象的成员
    这期内容当中小编将会给大家带来有关使用python怎么检查类和对象的成员,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,P...
    99+
    2023-06-14
  • Python面向对象之入门类和对象
    目录什么是面向对象编程?定义类,从具体代码来感受吧!多个类和对象的观察补充一下类的属性(数据部分)总结什么是面向对象编程? 我们是不是听过面向过程,拿来放在一起对比就比较好理解了。 ...
    99+
    2024-04-02
  • python中的类型和对象
    type 类继承object类,由type自己实例化而来object由type类实例化而来,object没有基类list类有type类实例化来,继承自object类mylist由list类实例化而来,不继承任何类type(list)查看li...
    99+
    2023-01-31
    对象 类型 python
  • Python类对象
    python类对象 python类对象支持两种操作:属性引用和实例化。 属性引用 使用 Python 中所有属性引用所使用的标准语法: obj.name。 有效的属性名称是类对象被创建时存在于类命名空间中的所有名称。 因此,如果类定义...
    99+
    2023-01-31
    对象 Python
  • python 面向对象、类、对象
    class 类 object 对象 object-oriented programming 面向对象,简称OOP attribute 属性 method 方法 inheritance 继承 python中通过类和对象来实现 ...
    99+
    2023-01-31
    面向对象 对象 python
  • python类怎么实例化对象
    这篇文章将为大家详细讲解有关python类怎么实例化对象,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站...
    99+
    2023-06-14
  • JavaScript怎么创建类和对象
    这篇文章主要介绍了JavaScript怎么创建类和对象的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript怎么创建类和对象文章都会有所收获,下面我们一起来看看吧。...
    99+
    2024-04-02
  • python scrapy框架中Request对象和Response对象怎么用
    本篇内容介绍了“python scrapy框架中Request对象和Response对象怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2023-06-29
  • python对象和类的关系是什么
    在Python中,类是对象的蓝图或模板。对象是类的实例化,即通过类创建的具体实体。类定义了对象的属性(变量)和行为(方法)。它可以看...
    99+
    2023-08-14
    python
  • 详解Python类和对象内容
    目录一、什么是Python类?二、Python类中的方法和属性2.1、Python类中的方法2.2、Python类中的属性三、面向对象的概念3.1、Python类:继承3.2、Python类:多态性3.3、Pytho...
    99+
    2022-06-02
    Python Python 对象
  • Python 类和对象详细介绍
    目录对象 = 属性 + 方法self是什么公有和私有继承调用未绑定的父类方法使用super函数多重继承组合构造和析构_ _init_ _(self[, …])构造方法_...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作