Python面向对象之入门类和对象

 更新时间:2021年12月16日 15:24:52   作者:雷学委  
这篇文章主要为大家介绍了Python入门类和对象,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

什么是面向对象编程?

我们是不是听过面向过程,拿来放在一起对比就比较好理解了。

简单来理解,面向过程就是一切用函数解决一切文件,简单粗暴!

面向对象是面向过程编程之后才出现了,没有面向对象编程很多程序还不是照样开发。

面向对象,也使用函数,但是多了一个网,这个网把一个或者多个函数,和数据关联在一起,然后称为一类事物,也就是程序中的‘类'(class)

定义类,从具体代码来感受吧!

面向对象编程,首先提出的第一个概念就是‘class',类:

#这就是一个class的定义代码:
class hello_class():
    pass

然后通过class_name() 这样调用来生产对象。

代码稍微升级一下,我们看看:

class hello_class():
    pass
#输出类信息
print(hello_class)
print(type(hello_class))
#创建类的实例对象
print(hello_class())
print(type(hello_class()))

稍微补充一下:

print函数输出类对象的结果:通常是<'class全名‘ object at id序列号>

下面是运行结果:

这里我们加入新知识点:类实例对象 , 通常直接说,实例。

实例是class产生的对象,所有某个hello_class对象的类型(通过type函数获取)都必定是hello_class。

多个类和对象的观察

看完一个类,我们再看看两个类的对比,结果也是一致的。

下面是两个类的定义和生成对象的代码展示:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/15 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : __init__.py.py
# @Project : hello
class student(object):
    “”“学委补充一下:__init___ 函数为类的初始化函数,在创建类对象实例的时候这个函数会被调用。”“”
    def __init__(self):
        print("hello, I am student")
class programmer(object):
    def __init__(self):
        print("hello, I am programmer")
class student(object):
    def __init__(self):
        print("hello, I am student")
class programmer(object):
    def __init__(self):
        print("hello, I am programmer")
s1 = student
print(s1)
p1 = programmer
print(p1)
s11 = student
print(s11)
p11 = programmer
print(p11)
print("*" * 16)
# 创建对象
s2 = student()
print(s2)
p2 = programmer()
print(p2)
# 创建对象
s3 = student()
print(s3)
p3 = programmer()
print(p3)

稍微解释一下:

  • s1 和 p1 这两个变量打印输出结果是‘class'类型的。
  • s11 和 p11 这两个变量打印输出结果是‘class'类型的,但是s1跟s11,p1跟p11 是不变的。
  • s2 和 p2 这两个变量打印输出结果是'object'类型的。
  • s3 和 p3 这两个变量打印输出结果是'object'类型的。

下面是运行结果:

初始化函数被调用了打印了对象信息。

到这里,大家应该都能知道class和object区别了吧

类: 描述了函数和属性的固定关系

(类实例)对象: 基于这种固定关系的一个活生生的个体,它的id是变化的。

补充一下类的属性(数据部分)

学委定义了一个student类,并创建了两个学生对象。

直接复制运行下面的代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/15 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : __init__.py.py
# @Project : hello
class student(object):
    def __init__(self, name):
        self.name = name
    def get_name(self):
        return self.name
    def set_name(self, name):
        self.name = name
    def study(self):
        print(f"{self.name} : 好好学习,天天向上!")
s1= student("小白")
print(s1)
print(s1.get_name())
print(s1.study())
s2 = student("学委的学生粉丝:哈哈哈")
print(s2)
print(s2.get_name())
print(s2.study())

我们看到他们的id总是不同的(运行几次看看)。

然后每个学生都有一个name属性(携带姓名数据),和三个函数属性(分别用来获取姓名,改名,学习)。

然后我们调用了每个学生的study函数,输出了各自的学习状态。

总结

Python语言的简约设计,使得面向对象编程非常简单,轻松就定义和和获取对象了。

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 三大Python翻译神器再也不用担心学不好英语

    三大Python翻译神器再也不用担心学不好英语

    本文介绍了用python做一款属于自己的翻译词典软件,从此告别网页搜索,文中有非常详细的代码示例,小伙伴们快快行动吧,需要的朋友可以参考下
    2021-09-09
  • Python 多进程原理及实现

    Python 多进程原理及实现

    这篇文章主要介绍了Python 多进程原理及实现,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • Python Pandas读取Excel日期数据的异常处理方法

    Python Pandas读取Excel日期数据的异常处理方法

    Excel文件是传统的数据格式,但面对海量数据时,用编程的方法来处理数据更有优势,下面这篇文章主要给大家介绍了关于Python Pandas读取Excel日期数据的异常处理方法,需要的朋友可以参考下
    2022-02-02
  • python调用c++返回带成员指针的类指针实例

    python调用c++返回带成员指针的类指针实例

    今天小编就为大家分享一篇python调用c++返回带成员指针的类指针实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 解析目标检测之IoU

    解析目标检测之IoU

    Intersection over Union(IoU)是一种测量在特定数据集中检测相应物体准确度的一个标准。IoU是一个简单的测量标准,只要是在输出中得出一个预测范围(bounding boxes)的任务都可以用IoU来进行测量
    2021-06-06
  • Python的Flask框架中集成CKeditor富文本编辑器的教程

    Python的Flask框架中集成CKeditor富文本编辑器的教程

    在用Flask搭建网站时的后台文章编辑器可以使用CKeditor,CKeditor所支持的文本样式较多且开源,这里我们就来看一下Python的Flask框架中集成CKeditor富文本编辑器的教程
    2016-06-06
  • 对Python 字典元素进行删除的方法

    对Python 字典元素进行删除的方法

    这篇文章主要介绍了对Python 字典元素进行删除的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • windows上安装python3教程以及环境变量配置详解

    windows上安装python3教程以及环境变量配置详解

    这篇文章主要介绍了windows上安装python3教程以及环境变量配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python几种绘制时间线图的方法

    Python几种绘制时间线图的方法

    这篇文章主要介绍了Python几种绘制时间线图的方法,Matplotlib 作为 Python 家族最为重要的可视化工具,其基本的 API 以及绘制流程还是需要掌握的
    2022-08-08
  • python HTTP协议相关库requests urllib基础学习

    python HTTP协议相关库requests urllib基础学习

    这篇文章主要介绍了python HTTP协议相关库requests urllib基础学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06

最新评论