iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 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://www.lsjlt.com/news/182638.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 类与对象
    目录 类与对象 现实世界中定义类和对象 定义对象 定义对象 程序中定义类和对象 ...
    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++类与对象实例分析
    这篇“C++类与对象实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++类与对象实例分析”文章吧。运算符重载C++语...
    99+
    2023-06-30
  • java类与对象如何运行
    Java类与对象的运行是通过创建对象实例来实现的。具体步骤如下:1. 定义类:首先需要定义一个类,类是一种数据类型,用于描述对象的属...
    99+
    2023-09-16
    java
  • 课时38:类与对象:继承
    目录:  一、继承   二、调用未绑定的父类方法   三、使用super函数   四、多重继承   五、课时38课后习题及答案   现在需要扩展游戏,对鱼类进行细分,有金鱼(Goldfish)、三文鱼(Salmon)、鲤鱼(Carp),还...
    99+
    2023-01-30
    课时 对象
  • C++全面精通类与对象
    目录运算符重载运算符复用前置后置运算符constC++ 的IO流初始化列表explicit 关键字运算符重载 C++语法设计很巧妙,比如运算符重载一个 > bool opera...
    99+
    2024-04-02
  • 课时39:类与对象:拾遗
    目录:   一、组合   二、类、类对象和实例对象   三、到底什么是绑定   四、课时39课后习题及答案   *********** 一、组合 ***********  现在要求定义一个类,叫水池,水池里要有乌龟和鱼。 在Python里...
    99+
    2023-01-30
    课时 对象
  • 类与对象的绑定方法
    目录 类与对象的绑定方法 类的绑定对象 对象的绑定方法 class OldboyStudent: school ...
    99+
    2023-01-31
    绑定 对象 方法
  • 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 设计
  • python 面向对象、类、对象
    class 类 object 对象 object-oriented programming 面向对象,简称OOP attribute 属性 method 方法 inheritance 继承 python中通过类和对象来实现 ...
    99+
    2023-01-31
    面向对象 对象 python
  • 将Object类对象转为对应实体类对象
    问题出现的原因:         由于Object类是Java中的“总父类”,所以在转换成其他类时会出现类型转换异常。 方式一         利用 com.fasterxml.jackson.databind.ObjectMapper 包...
    99+
    2023-09-21
    json java
  • 带你入门Java的类与对象
    目录类和对象类的属性成员方法形参和实参局部变量可变参数构造方法this关键字this.属性名this.方法名this( )访问构造方法static关键字静态变量1)静态变量2)实例变...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作