首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python提升篇(六)---面向对象

python提升篇(六)---面向对象

作者头像
用户5410712
发布于 2022-06-01 10:36:02
发布于 2022-06-01 10:36:02
23800
代码可运行
举报
文章被收录于专栏:居士说AI居士说AI
运行总次数:0
代码可运行

动能:物体由于运动而具有的能量,称为物体的动能。它的大小定义为物体质量与速度平方乘积的二分之一。

结论:因此,质量相同的物体,运动速度越大,它的动能越大;运动速度相同的物体,质量越大,具有的动能就越大。

前言

从今天开始,我们将继续回到python提升篇了,一直跟进的粉丝朋友们都知道,我们的python系列文章分别是基础篇,提升篇,实战篇,基础篇系列只在引导大家入门学习,了解python的基础知识,提升篇则是对python的更进一步学习,包括具体的实例,具体的包的运用,实战篇将会实现具体的项目。可大可小,因此,实战篇文章是不定期更新,而且尽可能不设置结局,只要是涉及到python的实战文章,有可能的话,我们都将一直分享,无终止分享,毕竟学习一门语言不是全部,实战和运用才是最终目的。一起来看看今天的内容吧!

一、python面向对象

python在最开始设计的时候既是一门脚本语言,也是一门面向对象的语言,与C++/JAVA等面向对象语言类似,他们的面向对象机制都是类似的,换句话说,他们包含的内容,使用方式都是差不多的,几乎一模一样,他们都有着,类,数据成员,方法,重写。实例化等等。

开讲之前,我们先来分析一下类出现的背景,换句话说为什么要有类,它的好处是什么?还记得我们之前分享的python文章吗?当中函数 def()这东西用的最多,当然,他很好用也没得说,但是,如果到了一个项目的时候,我们函数用单独函数的思想去考虑问题,就会造成维护的困难和分散困难,你想想,你的函数这一个,那一个,明明相同属性的函数可以放在一起管理等等问题,因为函数我们都是不太严格的去定义后使用,后期出现问题是要去仔细查找才行,也就是没有一个统一的管理机制,造成了我们的业务困难和维护不便,考虑到除此以外和各种其他不利于项目顺利开展等问题,面向对象和类也就诞生了!

1.1 类的创建

python创建类的结构体:

class ClassName:

类实体(包含类的数据,方法等等)

1.2 实例创建

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding:utf-8 -*-

class Student:
   #创建一个学生类,下面的都是类的实体(身体)
   #该类一共包含了两个方法成员,一个初始化函数(构造函数)
 
   def __init__(self, name, number):
      self.name = name
      self.number = number

   def get_data(self):
      print("姓名:{} 学号:{}".format(self.name,self.number))
   def welcome(self):
     print("IT进阶之旅,伴您随行!")

# 类的实例化(可以理解类的调用),此处实例化后
# Stu就代表了Student类的全部内容,可以调用方法或者数据
# 这里传入了两个参数,也就是name, number
Stu = Student('世外居士','IT_001')
# 此处是调用类的一个方法(函数)
Stu.get_data()
Stu.welcome()

1.3 代码解读

从以上代码我们可以看到,一个类里面可以包含很多变量和函数,因此一个类就可以将多个分散的函数和变量囊括在一起进行统一的管理和后期维护,而且使用也很方便,另外一点,我们的代码上档次,变得"有气质了"(笑哭,不存在的,哈哈),不再像从前那样散兵游将了,而是有了自己的组织,举个例子,我们代码实例是创建了一个学生类,学生类就会包含,姓名,学号,性别,成绩,考核等等,按照以前的思路都是分散写函数,现在都写到一块了,以后那个模块出现问题,我们就能很快分析出是学生类出了问题,而不是其他类出问题了,你们说是吧。

具体到我们定义的学生类,和写单独的函数一样,包括了输入参数(形参),如果你注意看到,我们有一个 def __init__()函数,它里面总的来说就是两个参数,一个是self,自带类本身,必须加,但是外部实例化的时候不用作为输入参数输入,第二个为类本身需要的参数,当然,这个参数就可能是多个了,我们这里是name, number,def __init__()是面向对象函数里面的构造函数(初始化参数),有何用意?1.类参数的初始化,简单点就是给类里面的变量实现赋予一个数,防止后期无参数报错的情况等等,2.作为外部输入参数的统一接口,也就是说外部输入的参数都会存放在这里,然后供给类里面的各种方法(函数)使用,但是为什么出现了self.name = name 这一句呢,不是参数传进来就可以使用了吗?(单独函数的思想),正是因为类的特别,外边传进来的参数都必须用self.xxx接收,简单的说,虽然你外部是传进来参数了,但是我不知道咋个接收,于是,类就说,你们必须先传给我们自己的变量,才能用,因此name的值首先赋给self.name,类本身的name变量才可以使用,因此后面的函数使用传入参数时,都是self.xx(我们这里是self.name,self.number), 类中定义函数的时候,输入参数也必须加上self。

在类得到调用也很简单,这里调用官方话叫实例化,就是将类用一个实例具体化的意思,比如:代码中的Stu = Student('世外居士','IT_001'),这里已经将类中需要的参数进行了传入,因此Stu就代表了类的全部,通过的可以访问类的全部内容,于是我们可以用一个点(.)来访问类的方法(函数),例如代码中的:Stu.get_data()就调用了原始类中的get_data函数,非常简单。

END

结语

今天的分享到此结束了,主要讲解了类的定义和使用,特别仔细的分析了类的由来和使用细则,包括类的使用注意事项等等,我们都进行了一定的讲解,期待大家熟练今天的内容,面向对象其实比较抽象,大家可以暂时理解性记忆,到后面才会更加开阔,跟着我们的教程走就对了,我们尽量用通读的话语阐述python面向对象的前世今生,感谢支持,一起加油!

编辑:玥怡居士|审核:小圈圈居士

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT进阶之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python学习笔记(11)python面向对象(二)面向对象的三大特点:封装,继承,多态
例子1: 1.TOM体重76.0公斤 2.TOM每次跑步会减肥0.5公斤 3.TOM每次吃东西会增重1攻击
大数据小禅
2021/08/16
5340
Python入门12 面向对象编程
Python的面向对象编程是一种编程范式,它使用“对象”来设计应用程序和系统的结构。在面向对象编程中,程序被组织成对象的集合,这些对象通过发送消息来彼此通信。Python是一种完全支持面向对象编程的语言,我们来看两个面向对象编程的核心概念:
用户11104668
2024/05/10
1610
面向对象详解,面向对象的三大特征:封装、继承、多态
面向对象编程(Object-Oriented Programming,简称OOP)和面向过程编程(Procedural Programming,简称PP)是两种不同的编程范式。
爱喝兽奶的熊孩子
2024/04/10
7.3K1
面向对象详解,面向对象的三大特征:封装、继承、多态
Python面向对象编程
而解决这一问题的比较有效的方法之一就是数据隐藏,即编码过程中尽可能的隐藏内部的实现细节。
讲编程的高老师
2020/08/14
5420
Python面向对象编程
总第104篇 前言 应后台读者要求,所以有了这篇文章。 图注:后台读者留言 在开始介绍具体的面向对象编程以前,先介绍一下另一个概念:[面向过程编程]。 面向过程编程,重点在于过程(可以理解成how),即以过程为核心,计算机/写代码的人会把精力聚焦在具体的实现过程上,这个过程第一步干什么,第二步干什么,直到最后完成了你的目标。 面向对象编程,重点在于对象(可以理解成who),即以对象为核心,这个对象有什么技能(不止一个技能的),这个对象所拥有的哪些技能够帮你实现你的目标。 前者比较关注怎么做,后者比较关注谁来
张俊红
2018/06/11
7360
python之面向对象程序设计基础
  Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python的面向对象程序设计基础。
jiankang666
2022/12/05
2600
python之面向对象程序设计基础
【python入门到精通】python面向对象三大特点:封装,继承,多态
例子1: 1.TOM体重76.0公斤 2.TOM每次跑步会减肥0.5公斤 3.TOM每次吃东西会增重1攻击
大数据小禅
2021/12/21
3560
Python 面向对象编程
二类:由抽象信息或者动作组成的集合,代表一类事物,抽象名词实例(对象):具象的,是一类事物中某一个具体的事物
用户7886150
2020/12/19
4810
Python基础17-面向对象
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
5420
Python基础17-面向对象
Python 面向对象学习整理 (看这一篇就足够了)
学完了 Python 基础之后,当我想要把自己的一些小项目通过 Python OOP 的方式来编写的时候,却发现很难很难,于是这次重新回过头来重新学习 Python 中面向对象的思想
Gorit
2021/12/08
9.5K2
Python 面向对象学习整理 (看这一篇就足够了)
Python: 面向对象编程(类和对象)
文章背景: 最近在学习课程Python-Core-50-Courses,其中有个章节是面向对象编程,涉及的内容是类(class)和对象。下面对所学的内容进行相应的整理。
Exploring
2022/09/20
6110
Python的面向对象
面向对象 目的: 写出有意义的面向对象的代码,其作用就是封装代码 定义时注意: 命名规范 Student、StudentPages 类体不能什么都不写,要写pass 定义示例: class Student(): # 开始类体的编写 name = '' age = 0 def print_file(): print('age = '+str(age)) stu = Stud
ZONGLYN
2019/08/08
5510
Python面向对象的实际例子(一)
class语句定义了名为Person的类,然后在构造函数(__init__)中给self赋值。构造函数在实例化的时候会自动调用并自动将实例传入第一个参数self中,然后通过给self赋值,实例就拥有了name,job,age属性。
zy010101
2022/01/10
9720
python面向对象(一)
                def __init__(self, 参数)  参数一般作为属性设置给对象. 对象就是self, 对属性的封装.
py3study
2020/01/20
5370
一文理清面向对象(封装、继承、多态)+ 实战案例
面向过程其实就是把过程当做设计核心,根据问题的发展顺序,依次解决问题,尽可能的把过程中涉及到的问题完善解决。他有他的优点,当拿到一个问题时,可以方便的按执行的步骤写代码,但是当逻辑关系变得复杂时,有一个地方出现差错就会导致整个程序无从下手。
程序员小猿
2021/01/19
5870
一文理清面向对象(封装、继承、多态)+ 实战案例
python-面向过程、面向对象、类
前言:编程不就编程吗?怎么还有这么多的洋气词后缀??今天主要介绍一下面向过程和面向对象是什么。
HammerZe
2022/03/25
5060
python 面向对象之继承实例讲解
        --- info of Student:ChenRonghua ---
py3study
2018/08/02
7130
Python 面向对象
# Python 面向对象 # 编程思想 编程届的两大阵营 面向过程 面向对象 区别 实物比较简单,可以用线性的思想去解决 事物比较复杂,使用简单的线性思维无法解决 共同点 面向过程和面向对象都是解决实际问题的一种思维方式 二者相辅相成,并不是对立的,解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间的复杂的关系。方便我们分析整个系统,具体到微观操作,任然使用面向过程方式来处理 # 类与对象 类 类别,分门别类,物以类聚,人类,鸟类,动物类,植物类... 类是多个类似事物组成的群体的
用户9615083
2022/12/25
3880
Python 面向对象
面向对象基础
面向过程编程的核心是‘’过程‘’,过程指的是做事情的步骤,也就是先做什么后做什么,基于该编程思想编写程序,如同工厂的流水线。
GH
2022/05/10
3180
面向对象基础
Python面向对象编程-完整版
面向对象是一种编程范式。范式是指一组方法论。编程范式是一组如何组织代码的方法论。编程范式指的是软件工程中的一种方法学。
1846122963
2018/07/26
1.4K0
相关推荐
python学习笔记(11)python面向对象(二)面向对象的三大特点:封装,继承,多态
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档