Python 面向对象(一)(成员方法、类和对象)

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

初识对象

生活中数据的组织

学校开学,要求学生填写自己的基础信息,一人发一张白纸,让学生自己填

Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

改为登记表,打印出来让学生自行填写:

Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

 程序中数据的组织

在程序中简单使用变量来记录学生信息

Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

 使用变量记录数据太乱了。

  • 如果程序中也和生活中一样 可以设计表格
  • 可以将设计的表格打印出来
  • 可以将打印好的表格供人填写内容

那么数据的组织就非常方便了。

使用对象组织数据

在程序中是可以做到和生活中那样,设计表格、生产表格、填写表格的组织形式的。

  1. 在程序中设计表格,我们称之为:设计类(class)
    class Student:
        name = None  # 记录学生姓名
    
  2. 在程序中打印生产表格,我们称之为:创建对象
    # 基于类创建对象
    stu_1 = Student()
    stu_2 = Student()
  3. 在程序中填写表格,我们称之为:对象属性赋值
    stu_1.name = "周杰伦"      # 为学生1对象赋予名称属性值
    stu_2.name = "张三"        # 为学生2对象赋予名称属性值
    

    总结:

1. 生活中或是程序中,我们都可以使用设计表格、生产表格、填写表格的形式组织数据

2. 进行对比,在程序中:

  • 设计表格,称之为:设计类(class)
  • 打印表格,称之为:创建对象
  • 填写表格,称之为:对象属性赋值

Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

成员方法

类的定义和使用

我们简单了解到可以使用类去封装属性,并基于类创建出一个个的对象来使用。 现在我们来看看类的使用语法:

  • class是关键字,表示要定义类了
  • 类的属性,即定义在类中的变量(成员变量)
  • 类的行为,即定义在类中的函数(成员方法)

创建类对象的语法:对象 = 类名称()

Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

成员变量和成员方法

什么是类的行为(方法)呢?

class Student:
    name = None  # 学生的姓名
    age = None  # 学生的年龄

    def say_hi(self):
        print(f"Hi大家好,我是{self.name}")


stu = Student()
stu.name = "张三"
stu.age = 25
stu.say_hi()        # Hi大家好,我是张三

 可以看出,类中:

  • 不仅可以定义属性用来记录数据
  • 也可以定义函数,用来记录行为

其中:

  • 类中定义的属性(变量),我们称之为:成员变量
  • 类中定义的行为(函数),我们称之为:成员方法

定义在类内部的函数 称之为方法

成员方法的定义语法

在类中定义成员方法和定义函数基本一致,但仍有细微区别:

    def 方法名(self, 形参1, ......, 形参N):
       方法体

可以看到,在方法定义的参数列表中,有一个:self关键字

self关键字是成员方法定义的时候,必须填写的。

  • 它用来表示类对象自身的意思
  • 当我们使用类对象调用方法的是,self会自动被python传入
  • 在方法内部,想要访问类的成员变量,必须使用self
        def say_hi(self):
            print(f"Hi大家好,我是{self.name}")

注意事项

self关键字,尽管在参数列表中,但是传参的时候可以忽略它。 如:

class Student:
    name = None

    def say_hi(self):
        print("Hello 大家好")

    def say_hi2(self, msg):
        print(f"Hello 大家好,{msg}")


stu = Student()
stu.say_hi()  # 调用的时候无需传参
stu.say_hi2("很高兴认识大家")  # 调用的时候,需要传msg参数


结果:
Hello 大家好
Hello 大家好,很高兴认识大家

 可以看到,在传入参数的时候,self是透明的,可以不用理会它。

总结

 类是由哪两部分组成呢?

  • 类的属性,称之为:成员变量
  • 类的行为,称之为:成员方法

注意:函数是写在类外的,定义在类内部,我们都称之为方法哦

Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

类和成员方法的定义语法

  • self的作用 表示类对象本身的意思
  • 只有通过self,成员方法才能访问类的成员变量
  • self出现在形参列表中,但是不占用参数位置,无需理会

类和对象

现实世界的事物和类

Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

 Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

 现实世界的事物也有属性和行为,类也有属性和行为。

使用程序中的类,可以完美的描述现实世界的事物

类和对象  对象名 = 类名称()

基于类创建对象的语法:

为什么非要创建对象才能使用呢?

        类只是一种程序内的“设计图纸”,需要基于图纸生产实体(对象),才能正常工作

                        这种套路,称之为:面向对象编程

使用类和对象描述现实事物

在现实中,生产事物Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

 在程序中通过类来描述

Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

 基于类创建对象

Python 面向对象(一)(成员方法、类和对象),Python,python,开发语言

 

class Clock:
    id = None           # 序列号
    price = None        # 零售价

    def ring(self):
        import winsound
        winsound.Beep(2000, 3000)


clock1 = Clock()            # 基于类创建对象
clock1.id = "003032"
clock1.price = 100
print(f"闹铃ID:{clock1.id},价格:{clock1.price}")
clock1.ring()           # 使用对象的属性和行为clock1 = Clock()

clock2 = Clock()            # 基于类创建对象
clock2.id = "003033"
clock2.price = 152
print(f"闹铃ID:{clock2.id},价格:{clock2.price}")
clock2.ring()           # 使用对象的属性和行为

总结:

 1. 现实世界的事物由什么组成?

  • 属性
  • 行为

类也可以包含属性和行为,所以使用类描述现实世界事物是非常合适的

2. 类和对象的关系是什么?

  • 类是程序中的“设计图纸”
  • 对象是基于图纸生产的具体实体

3. 什么是面向对象编程?

  • 面向对象编程就是,使用对象进行编程。

即,设计类,基于类创建对象,并使用对象来完成具体的工作文章来源地址https://www.toymoban.com/news/detail-605997.html

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

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

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

相关文章

  • 面向对象【成员变量与局部变量、方法声明与作用】

    Java中的成员变量是指 类中声明的变量 ,也称为实例变量或属性。它们与方法一样属于类的成员,不同之处在于,它们存储在对象(堆)中而不是栈中,并且每个对象都有自己的一组值。 成员变量可以用来描述一个对象的状态,例如人的年龄、学生的姓名等。它们可以具有pub

    2024年02月10日
    浏览(59)
  • 【python全栈开发】面向对象进阶

    实例变量:属于对象,每个对象中各自维护自己的数据。 类变量:属于类,可以被所有对象共享,一般用于给对象提供公共数据(类似于全局变量)。 类变量和实例变量的区别示例: 类变量和实例变量+继承问题: 通常来说,调用的变量不是对象变量时,就会去对应的类中

    2024年02月21日
    浏览(82)
  • 【python】面向对象(类型定义&魔法方法)

    目录 一、引言 二、类型定义 1、什么是类型的定义? 2、案例 三、魔法方法 1、什么是魔法方法 2、基础部分 3、比较操作 4、容器类型 5、属性管理 6、封装 7、方法拓展 8、继承 9、多态         Python是一种面向对象的语言,它支持类( class )和对象( object )的概念。面

    2024年02月05日
    浏览(37)
  • Python教程(22)——Python面向对象的属性和方法

    在Python面向对象编程中,属性和方法是类及其对象的重要组成部分。如果说封装、继承和多态是面向对象编程中的思想,那么类的属性和方法就是骨架,因为有属性和方法,面向对象编程才变的有血有肉。 属性是类或对象所拥有的数据,它用于描述对象的特征和状态。属性可

    2024年02月03日
    浏览(33)
  • Python 面向对象编程:类、对象、初始化和方法详解

    Python 是一种面向对象的编程语言。在 Python 中,几乎所有东西都是对象,都具有其属性和方法。 类似于对象构造函数或用于创建对象的“蓝图”的类。 要创建一个类,请使用 class: 示例,创建一个名为 MyClass 的类,其中包含一个名为 x 的属性: 现在,我们可以使用名

    2024年02月08日
    浏览(56)
  • Python面向对象编程,实现模块化开发

    面向对象编程(Object Oriented Programming,OOP)是一种编程范式,它将真实世界中的事物抽象成程序中的对象,并通过对象之间的相互作用来完成程序的逻辑。 封装 (Encapsulation) 封装是指把数据和行为结合成一个相对独立的整体,防止程序中其他部分直接访问或修改这个整体,而

    2024年02月05日
    浏览(140)
  • Python基础-11 面向对象编程_各种方法

    python本身支持类的动态属性 直接使用等号=,给一个属性赋值 如果这个属性存在,则会修改该属性的值 如果这个属性不存在,则会给对象添加一个新的属性及对应的值 如果需要禁止动态添加类的属性,可以使用 __slots__ 属性,如下示例 这个属性直接定义在类中,是一个元组,用来规定

    2023年04月17日
    浏览(43)
  • 🔥🔥Java开发者的Python快速进修指南:面向对象进阶

    在上一期中,我们对Python中的对象声明进行了初步介绍。这一期,我们将深入探讨对象继承、组合以及多态这三个核心概念。不过,这里不打算赘述太多理论,因为我们都知道,Python与Java在这些方面的主要区别主要体现在语法上。例如,Python支持多重继承,这意味着一个类可

    2024年02月05日
    浏览(58)
  • 🔥🔥Java开发者的Python快速进修指南:面向对象基础

    当我深入学习了面向对象编程之后,我首先感受到的是代码编写的自由度大幅提升。不同于Java中严格的结构和约束,Python在面向对象的实现中展现出更加灵活和自由的特性。它使用了一些独特的,如self和cls,这些不仅增强了代码的可读性,还提供了对类和实例的明确

    2024年02月05日
    浏览(64)
  • python 面向对象的概念及使用方法~(基础小知识)

    编程语言中,一般有两种编程思维,面向过程和面向对象。 面向过程,看重的是解决问题的过程。 这好比我们解决日常生活问题差不多,分析解决问题的步骤,然后一步一步的解决。 而面向对象是一种抽象,抽象是指用分类的眼光去看世界的一种方法。 Python 就是一门面向

    2024年02月06日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包