![](https://img-blog.csdnimg.cn/20201117232126781.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
python面向对象
一起学全栈
晴朗_不积跬步无以至千里
坚持不懈
展开
-
Python面向对象之十二:代码测试
Python面向对象之十二:代码测试编写函数或类时,还可为其编写测试。通过测试,可确定代码面对各种输入都能够按要求的那样工作。测试让你信心满满,深信即便有更多的人使用你的程序,它也能正确地工作。在程序中添加新代码时,你也可以对其进行测试,确认它们不会破坏程序既有的行为。程序员都会犯错,因此每个程序员都必须经常测试其代码,在用户发现问题前找出它们。...原创 2020-12-10 23:52:45 · 239 阅读 · 0 评论 -
Python面向对象之十一:异常处理
Python面向对象之十一:异常处理异常是指程序在运行过程中出现了意外,导致程序不能正常执行。异常处理机制是指当程序出现错误后的处理方式,如果程序出错后进行异常处理,程序会继续执行后面的代码。一、错误和异常1、语法错误Python 的语法错误或者称之为解析错,#语法错误:print的'p'是小写Print('112233')#语法错误:括号不全print('112233'pycharm编辑器会抛出错误,并且在最先找到的错误的位置标记了一个小小的箭头。2、异常即便程序的语法是正确原创 2020-12-09 12:46:54 · 376 阅读 · 0 评论 -
Python面向对象之十:函数和方法及双下方法
Python面向对象之十:函数和方法及双下方法一、函数与方法1 、定义1、函数:函数是封装了一些独立的功能,可以直接调用,能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。可以直接在模块中进行定义使用。所有传递给函数的数据都是显式传递的。与类和实例无绑定关系的function都属于函数(function)。2、方法:方法和函数类似,同样封装了独立的功能,但是方法是只能依靠类或者对象来调用的,表示针对性的操作。方法中的数据self和cls是隐式传递的,即方法的调用者;原创 2020-12-07 19:13:30 · 177 阅读 · 0 评论 -
Python面向对象之九:反射
Python面向对象之九:反射反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。一、什么是反射python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射)。二、对象的反射1、getattr 获取指定字符串名称的对象属性class Foo:原创 2020-12-06 23:44:27 · 287 阅读 · 2 评论 -
Python面向对象之八:元类
Python面向对象之八:元类一、按区域划分原创 2020-12-06 19:05:09 · 150 阅读 · 0 评论 -
Python面向对象之七:类成员
Python面向对象之七:类成员一、按区域划分按照类成员的区域划分,分为静态属性(变量)和动态属性(方法):1、静态属性(变量)静态属性是指定义在类中的变量,用了表示类自身的属性1、公有静态属性class Person: name = '晴朗' #公有静态属性 def sleep(self): print(Person.name)class Mother(Person): def temp(self): print(Perso原创 2020-12-02 22:16:13 · 322 阅读 · 0 评论 -
Python面向对象之六:类的约束和super函数
Python面向对象之六:类的约束和super函数一、类的约束类的约束就是对父类对子类的属性和方法进行一定的约束控制。1、对子类属性的约束(slots)class A: __slots__ = ['a', 'b'] passclass B(A): passa1 = A()a1.a = 10print(a1.a)a1.c = 1000#AttributeError:'A' object has no attribute 'c'b = B()b.c = 100原创 2020-11-29 23:59:56 · 235 阅读 · 1 评论 -
Python面向对象之五:封装和多态
Python面向对象之五:封装和多态python面向对象的三大特性:继承(已学习),封装,多态。一、封装封装是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。1、简单理解封装顾名思义,封装属性就是把已有的属性封装到一个类里面去:class Person(): def __init__(self, n原创 2020-11-29 17:16:51 · 306 阅读 · 2 评论 -
Python面向对象之四:类的继承及C3算法
Python面向对象之四:类的继承一、概述1、什么是面向对象的继承继承是面向对象三大特征之一。(三大特征:继承、封装、多态)如果一个类A继承自另一个类B,就把类A称为B的子类,而把B称为A的父类,也可以称B是A的超类。继承可以使子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。为子类别追加新的属性和方法也是常见的做法。一般静态的面向对象编程语言,继承属于静态原创 2020-11-28 17:42:34 · 366 阅读 · 0 评论 -
Python面向对象之三:类空间与对象空间及类间关系
Python面向对象之三:类空间与对象空间及类间关系一、类空间与对象空间1、相关定义1、类空间:创建一个类就会创建一个类的名称空间,用来存储类中定义的所有类变量,这些类变量称为类的属性2、类的属性:分为静态属性和动态属性,静态属性是直接在类中定义的变量,动态属性是类中定义的方法3、对象空间:创建(实例化)一个对象就会创建一个对象的名称空间,以对象名创建的变量,称为对象的属性。2、类和对象的添加属性及查询顺序1、类的查询顺序class Person(): animal = '高级动物原创 2020-11-26 23:43:04 · 686 阅读 · 0 评论 -
Python面向对象之二:面向对象基础
Python面向对象之二:面向对象基础一、面向对象介绍通过一个例子引入对面向对象思想的理解:假设自己是如来佛祖,想找四个人去西天取经,于是便找了四个人,但是这四个人没有明显的长相特点,于是就给一个人加了猪鼻子、猪耳朵,一个人加了毛脸、雷公嘴,一个人加了大胡子、浓眉,这样每个人就有了各自的特点。1、面向过程编程通过面向过程的思想来实现以上例子:#唐僧name = '唐僧'style = '无'#没有特殊的特征arm = '无'print(f'姓名:{name},特征:{style},武器:原创 2020-11-25 22:13:28 · 192 阅读 · 0 评论 -
Python面向对象之一:编程语言的发展
Python面向对象之一:编程语言的发展一、基础概念1、面向机器1、机器语言机器语言是机器能直接识别的程序语言或指令代码,无需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直接理解和接受的程序语言或指令代码。机器语言是最早的编程语言,其特点是由机器直接执行,运行速度快,但是编写非常困难,而且只要出错,很难修改,造成程序设计效率低下。不同的计算机都有各自的机器语言,即指令系统。从使用的角度看,机器语言是最低级的语言。2、汇编语言汇编语言是任何一种用于电子计算机转载 2020-11-18 18:27:40 · 376 阅读 · 0 评论