返回顶部
首页 > 资讯 > 后端开发 > Python >类与对象
  • 519
分享到

类与对象

对象 2023-01-31 00:01:19 519人浏览 独家记忆

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

摘要

目录 类与对象 现实世界中定义类和对象 定义对象 定义对象 程序中定义类和对象

目录

  • 类与对象
  • 现实世界中定义类和对象
    • 定义对象
    • 定义对象
  • 程序中定义类和对象
    • 定义类
    • 定义对象
  • 类的意思:种类、分类、类别

对象是特征与技能的结合体,我可能有身高体重、而你也有身高体重,所以你会说你像我,但是你一定不会说你像阿猫阿狗。并且我和你其实就可以说成是一类,而你和选课系统不能说是一类,因此给出类的定义:类就是一系列对象相似的特征与技能的结合体。

83-类与对象-阿猫阿狗.jpg

在现实世界中:先有一个个具体存在的对象,然后随着人类文明的发展才了分类的概念,既然现实世界中有类这个概念,python程序中也一定有类这个概念,但是在Python程序中:必须先定义类,然后调用类来产生对象。

定义对象

83-类与对象-选课系统.jpg

就拿未来我们的选课系统来讲,我们先总结一套现实世界中的学生对象:

  • 对象1:
    • 特征:
      • 学校='oldboy'
      • 姓名='耗哥'
      • 年龄=18
      • 性别='male'
    • 技能:
      • 选课
  • 对象2:
    • 特征:
      • 学校='oldboy'
      • 姓名='猪哥'
      • 年龄=17
      • 性别='male'
    • 技能:
      • 选课
  • 对象3:
    • 特征:
      • 学校='oldboy'
      • 姓名='帅翔'
      • 年龄=19
      • 性别='female'
    • 技能:
      • 选课

定义对象

站在未来选课系统的角度,我们还可以总结现实世界中的学生类:

  • 老男孩学生类:
    • 相似的特征:
      • 学校='oldboy'
    • 相似的技能
      • 选课

定义类

# 注意类中定义变量使用驼峰体
class OldboyStudent():
    school = 'oldboy'

    def choose_course(self):
        print('is choosing course')
  • 曾经定义函数,函数只检测语法,不执行代码,但是定义类的时候,类体代码会在类定义阶段就立刻执行,并且会产生一个类的名称空间,也就是说类的本身其实就是一个容器/名称空间,是用来存放名字的,这是类的用途之一

83-类与对象-名称空间.jpg

print(OldboyStudent.__dict__)
{'__module__': '__main__', 'school': 'oldboy', 'choose_course': <function OldboyStudent.choose_course at 0x10d653ae8>, '__dict__': <attribute '__dict__' of 'OldboyStudent' objects>, '__weakref__': <attribute '__weakref__' of 'OldboyStudent' objects>, '__doc__': None}
print(OldboyStudent.__dict__['school'])
oldboy
print(OldboyStudent.__dict__['choose_course'])
<function OldboyStudent.choose_course at 0x10d653ae8>
try:
    OldboyStudent.__dict__['choose_course']()
except Exception as e:
    print('error:', e)
error: choose_course() missing 1 required positional argument: 'self'
print(OldboyStudent.school)
oldboy
OldboyStudent.choose_course(111)
is choosing course
print(OldboyStudent.choose_course)
<function OldboyStudent.choose_course at 0x10d653ae8>
OldboyStudent.__dict__['choose_course']
<function __main__.OldboyStudent.choose_course(self)>
OldboyStudent.country='China'
OldboyStudent.__dict__['country']
'China'
OldboyStudent.country='CHINA'
OldboyStudent.__dict__['country']
'CHINA'
del OldboyStudent.school
print(OldboyStudent.__dict__)
{'__module__': '__main__', 'school': 'oldboy', 'choose_course': <function OldboyStudent.choose_course at 0x10d653ae8>, '__dict__': <attribute '__dict__' of 'OldboyStudent' objects>, '__weakref__': <attribute '__weakref__' of 'OldboyStudent' objects>, '__doc__': None, 'country': 'CHINA'}

定义对象

  • 调用类即可产生对象,调用类的过程,又称为类的实例化,实例化的结果称为类的对象/实例

83-类与对象-实例化.jpg

stu1=OldboyStudent() # 调用类会得到一个返回值,该返回值就是类的一个具体存在的对象/实例
print(stu1.school)
oldboy
stu2=OldboyStudent() # 调用类会得到一个返回值,该返回值就是类的一个具体存在的对象/实例
print(stu2.school)
oldboy
stu3=OldboyStudent() # 调用类会得到一个返回值,该返回值就是类的一个具体存在的对象/实例
stu3.choose_course()
is choosing course

--结束END--

本文标题: 类与对象

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

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

猜你喜欢
  • 类与对象
    目录 类与对象 现实世界中定义类和对象 定义对象 定义对象 程序中定义类和对象 ...
    99+
    2023-01-31
    对象
  • 类与对象2
    1. 重写类方法 第一步:在类的外部写一个函数; 第二步:把这个新函数的名字赋值给类.原始函数 (注意:这里的赋值是在替换方法,并不是调用函数,所以【不要加上括号】—— 写成类.原始函数() = 新函数()是错误的。) 语法格式如下: ...
    99+
    2023-01-31
    对象
  • 3.类与对象
            Java 系统提供的类库也称为Java API,它是系统提供的已实现的标准类的集合。在J2SE中我们可以将Java API的包主要分为3部分:“java.*”包,“javax.*”包,“org.*”包。         其中...
    99+
    2023-01-31
    对象
  • Java 类与对象详细
    目录1.类2.对象3.练习 4.练习答案 前言: 早期的Java语言,是面对过程的语言(面向过程指把一个场景分割成一个个的步骤研究),如今的Java已经是面对对象的语言(面向对象指把...
    99+
    2024-04-02
  • 课时37:类与对象:面向对象编程
    目录:   一、self是什么   二、Python的魔法方法   三、公有和私有   四、课时37课后习题及答案   ***************** 一、self是什么 ***************** 对象的方法都有一个self...
    99+
    2023-01-30
    课时 面向对象 对象
  • python中面向对象_类_对象的概念与
    1. 面向对象的概念,面向对象是一种编程思想。 是对现实世界中一类事物的抽象,在编程中可以理解为是一种建立现实世界事物的模型     2.  面向对象和面向过程的区别: 面向过程关注的是完成工作的步骤。 面向对象关注的是谁能完成工作。 面...
    99+
    2023-01-30
    面向对象 对象 概念
  • Java类与对象详解(2)
      this引用 为什么要有this引用 先来看一个日期类的例子: ​public class Date { public int year; public int month; public int day; /...
    99+
    2023-09-01
    java 开发语言
  • Java类与对象详解(3)
    目录 封装 封装的概念 访问限定符 封装扩展之包 包的概念 导入包中的类 自定义包 基本规则 包的访问权限控制举例 常见的包 static 成员 static 修饰成员变量 static修饰成员方法  static 成员变量的初始化 代码...
    99+
    2023-08-31
    java 开发语言
  • 课时36:类与对象:给大家介绍对象
    目录:   一、对象=属性+方法   二、课时36课后习题及答案   大家之前已经听说过封装的概念,把乱七八糟的数据扔进列表里面,这是一种封装,是数据层面的封装;把常用的代码段打包成一个函数,这也是一种封装,是语句层面的封装;本章学习的对...
    99+
    2023-01-30
    对象 给大家 课时
  • C++全面精通类与对象
    目录运算符重载运算符复用前置后置运算符constC++ 的IO流初始化列表explicit 关键字运算符重载 C++语法设计很巧妙,比如运算符重载一个 > bool opera...
    99+
    2024-04-02
  • java类与对象如何运行
    Java类与对象的运行是通过创建对象实例来实现的。具体步骤如下:1. 定义类:首先需要定义一个类,类是一种数据类型,用于描述对象的属...
    99+
    2023-09-16
    java
  • 课时39:类与对象:拾遗
    目录:   一、组合   二、类、类对象和实例对象   三、到底什么是绑定   四、课时39课后习题及答案   *********** 一、组合 ***********  现在要求定义一个类,叫水池,水池里要有乌龟和鱼。 在Python里...
    99+
    2023-01-30
    课时 对象
  • 课时38:类与对象:继承
    目录:  一、继承   二、调用未绑定的父类方法   三、使用super函数   四、多重继承   五、课时38课后习题及答案   现在需要扩展游戏,对鱼类进行细分,有金鱼(Goldfish)、三文鱼(Salmon)、鲤鱼(Carp),还...
    99+
    2023-01-30
    课时 对象
  • 类与对象的绑定方法
    目录 类与对象的绑定方法 类的绑定对象 对象的绑定方法 class OldboyStudent: school ...
    99+
    2023-01-31
    绑定 对象 方法
  • C++类与对象实例分析
    这篇“C++类与对象实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++类与对象实例分析”文章吧。运算符重载C++语...
    99+
    2023-06-30
  • python 面向对象、类、对象
    class 类 object 对象 object-oriented programming 面向对象,简称OOP attribute 属性 method 方法 inheritance 继承 python中通过类和对象来实现 ...
    99+
    2023-01-31
    面向对象 对象 python
  • C++类与对象之日期类的实现
    目录1. 实现前的铺垫2. 日期类的实现2.1 日期+=天数2.2 日期-=天数2.3 日期-天数2.4 日期+天数2.5 前置++2.6 后置++2.7 前置–2.8 后置–2.9...
    99+
    2024-04-02
  • 掌握 Java 类与对象:面向对象设计的秘诀
    前言 面向对象编程 (OOP) 是一种强大的编程范例,它通过将程序组织为对象来解决复杂问题。在 Java 中,类和对象是 OOP 的核心概念。类充当蓝图,用于创建特定类型的数据和行为的对象。 Java 类 Java 类是一组相关数据的集合...
    99+
    2024-03-09
    Java 类、Java 对象、面向对象编程、OOP 设计
  • 将Object类对象转为对应实体类对象
    问题出现的原因:         由于Object类是Java中的“总父类”,所以在转换成其他类时会出现类型转换异常。 方式一         利用 com.fasterxml.jackson.databind.ObjectMapper 包...
    99+
    2023-09-21
    json java
  • Numpy对象与类型怎么应用
    这篇文章主要讲解了“Numpy对象与类型怎么应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Numpy对象与类型怎么应用”吧!一、Numpy 对象:nda...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作