Python类与对象详解

这篇具有很好参考价值的文章主要介绍了Python类与对象详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、类和对象

类的意思:种类、分类、类别

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

  • 在现实世界中:先有一个个具体存在的对象,然后随着人类文明的发展才了分类的概念

  • 既然现实世界中有类这个概念,Python程序中也一定有类这个概念,但是在Python程序中:必须先定义类,然后调用类来产生对象。

  • 类:一切具有相同属性和方法的对象组成的

二、现实世界中定义类和对象

1定义对象

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

对象1:
    特征:
        学校 = ’xiwangzhongxue‘
        姓名 = ’小明‘
        年龄 = 18
        性别 = ’male‘
    技能:
        选课
        学习
对象2:
    特征:
        学校 = ’xiwangzhongxue‘
        姓名 = ’小红‘
        年龄 = 18
        性别 = ’male‘
    技能:
        选课
        学习
2定义类

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

希望中学学生类:
    相似的特征:
        学校='xiwangzhongxue'
    相似的技能
        选课
        学习

三、程序中定义类和对象

1定义类

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

定义类名时我们推荐使用驼峰体

关键字class 类名:

class Students:
    # 定义对象相同的属性
    shool = 'xiwangzhongxue'
    
    # 定义对象想的方法
    def choice(self):
        print('选课。。。。')
        
    def study(self):
        print('学习。。。。')

使用类

  • 类名()
  • Student()
2定义对象

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

对象名 = 类名()

stu1 = Student() # 这个时候只是生成了一个对象stu1,对象本身没有任何属性
print(stu1) # 打印的只是stu1对象在定义的时候生成的内存地址

<main.Student object at 0x000001EE24F2C198>

四、类和对象的使用

1获取类的属性和方法
  • __dict__方法

  • 返回的时一个字典(文件执行的模式、属性,方法(函数)的地址)

print(Student.__dict__)

{'module': 'main', 'school': 'oldboy', 'func1': <function Student.func1 at 0x000001EE25195620>, 'func2': <function Student.func2 at 0x000001EE2C0C59D8>, 'dict': <attribute 'dict' of 'Student' objects>, 'weakref': <attribute 'weakref' of 'Student' objects>, 'doc': None}
2获取对象的属性和方法
  • __dict__方法
  • 返回是个字典
print(stu1.__dict__) # 返回的是一个空的字典,因为我们在定义这个stu1对象的时候,没有给它定义其他的属性

{}
3类使用方法和对象使用类的方法的区别

类使用方法

  • 其实就是在调用函数
  • 类使用方法时,调用类的方法的时候必须向函数方法传进对应的参数
Student.choice(stu1) # 函数的第一个参数则是定义的对象名

选课。。。。

对象使用类的方法

  • 调用类里的方法
  • 对象使用方法时,调用类不需要向方法传第一个参数
stu1.choice():

选课。。。。

五、对象的属性赋值

1通过对象自身来赋值属性
stu1.name = '小明'
print(stu1.__dict__)# 返回一个字典,字典包含的是对象自己的属性集合
print(stu1.name) # 返回对象自己name的属性

{'name''小明'}

小明
2通过类中的__init__的方法
# 定义一个学生类
class Student:
    # 定义类的相同属性
    school = '希望中学'

    # 定义类的相同方法
    # 定义类的属性方法
    def __init__(self,name):
        self.name = name

    def choice(self):
        print('选课...')

    def study(self):
        print('学习....')
        
 
# 实例化一个对象
stu1 = Student('小明')# ()括号里传的是对象stu2的name属性值为'小明'
print(stu1.__dict__)# 打印对象stu1的属性集合
print(stu1.name)# 打印stu1的name的属性值

废了嘛?文章来源地址https://www.toymoban.com/news/detail-447139.html

到了这里,关于Python类与对象详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python的类与对象、构造方法、类与对象三大特性封装、继承和多态、类型注解

      使用对象组织数据 在程序中是可以做到和生活中那样,设计表格、生产表格、填写表格的组织形式的。 在程序中设计表格,我们称之为: 设计类(class) class Student: name None #记录学生姓名 在程序中打印生产表格,我们称之为: 创建对象 #基于类创建对象 stu_1 Student() stu_2 St

    2024年02月02日
    浏览(44)
  • Python学习——类与对象

    一、编程的两大思想 (1)面向过程 事物比较简单,用简单的线性思维即可解决 (2)面向对象 事物比较复杂,用简单的线性思维无法解决 (3)两者之间的关系 在面对复杂的问题时,宏观上是使用面向对象,但具体到微观操作,还是要用面向过程的方式来进行解决。 二、类

    2024年02月11日
    浏览(23)
  • Python类与对象

    1.1 面向对象 面向对象是一种抽象,是一种用分类的方式看待问题的方法,用 Java 的编程思想来说就是:万物皆对象;面向对象有三大特性:封装、继承、多态。 1.2 类 上面说了面向对象是一种用分类的方式看待问题的方法,一个分类就是一个类,可以把类看作是一个抽象的

    2024年02月03日
    浏览(25)
  • 【python】类与对象

    类:对一系列变量与方法的封装 创建一个类需要使用 class,例如创建一个学生类,其中要包含学生的姓名、学号、性别、年龄四个信息: 创建一个类对象也就是对类实现实例化: 在类内部定义的变量成为类的成员变量,类内定义的函数方法称为类的成员方法 我们可以

    2024年02月12日
    浏览(24)
  • 深入篇【C++】类与对象:运算符重载详解 -上

    内置类型(int /double…… )是可以之间进行运算符之间的比较的,因为编译器知道它们之间的比较规则,可以之间转化为指令。 那如果自定义类型能否之间进行运算符之间的比较呢?当然不能了,因为编译器是不知道这个自定义类型的规则是什么,不知道如何进行比较。 1.内置

    2024年02月03日
    浏览(40)
  • 【Java】类和对象详解

    面向对象(Object-oriented)是一种程序设计的方法和编程范式,它以对象作为程序的基本单位,通过封装、继承、多态等概念来组织和实现程序逻辑。面向对象的编程思想强调将问题分解为对象的集合,每个对象具有自己的状态(属性)和行为(方法),并通过相互之间的消息

    2024年02月06日
    浏览(33)
  • C++类和对象——多态详解

    目录 1.多态的基本语法 2.多态的原理剖析 示例:计算机类  3.纯虚函数和抽象类 示例:制作饮品 4.虚析构和纯虚析构  示例:电脑组装 代码示例:   空类的大小为1  加了virtual后会变为4或8个字节,这恰好是一个指针的大小   vfptr是一个虚函数(表)指针 当子类重写父类的

    2024年02月22日
    浏览(31)
  • 【JavaSE】类和对象详解(下)

    面向对象程序的三大特性:封装、继承、多态~ 书接上回 类和对象(上)~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 前言 封装 private public 快速生成可访问封装的方法 包 导包 通过import导包 模糊导入* 特殊举例 建包 static 静态成员变量 ​

    2024年04月09日
    浏览(32)
  • 详解C++类和对象(下篇)

    目录 一,再谈构造函数  1.1 构造函数体赋值  1. 2 初始化列表  1.21 自定义类型成员  1.22  const 成员变量 1.23 引用成员变量   1. 24 初始化列表的“坑” 1. 3 explicit   二,static 成员 2.1 概念  2.2 特性  三, 友元 3. 1 友元函数 3. 2 友元类  特点:  3. 3 内部类(了解)

    2024年02月04日
    浏览(40)
  • Python-基础篇-类与对象/面向对象程序设计

    “类”是物以类聚的 “类” 类 和 对象 是 面向对象编程的 两个 核心概念 类 是对一群具有 相同 特征 或者 行为 的事物的一个统称,是抽象的, 不能直接使用 特征 被称为 属性 行为 被称为 方法 类 就相当于制造飞机时的 图纸 ,是一个 模板 ,是 负责创建对象的 定义类📚

    2024年01月19日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包