类的组合初识
什么是类的组合
将毫无关系的多个类在一个类中执行实例化,让彼此之间产生关联.就是类的组合
为什么要有类的组合
通过类的组合,可以使程序的逻辑更为明确,从而增强了程序的可扩展性。
类的组合使用注意事项
类的组合在设计时对于初学者来说会十分的繁琐。因此一定要注意理...
封装
封装作为面向对象三大特性中最重要的一个,也是所有使用面向对象编程的程序设计者最喜欢的一个特性,
即:将数据和功能整合到一起。
类本身就是属于封装:
定义一个类,该类中的变量以及方法就只有该类或者其实例化才能调用,这就是封装。当然除此之外还有一些其他的内容。...
语言范畴划分
编译型和解释型语言
关于编译性与解释型语言的区别,在 Python学习准备工作 - 编程语言之高级语言 一章中已经有过非常详细的介绍,故这里不做介绍了。
强类型和弱类型语言
强类型语言(python属于强类型)
数据类型不可以被忽略的语言 即变量的数据类型一旦被定义,那就不...
初识双下方法
双下方法的作用
双下方法,也被称为魔法方法。为什么我喜欢叫它双下方法呢?因为本人在读"流程的Python"一书中,作者对其__开头__结尾的方法是叫的双下方法(注意与只有开头双下划线的隐藏属性/方法进行区分),故我也跟着这样叫了。其实个人比较反感叫魔法方法,因为魔法这一词很玄乎,...
描述符
描述符介绍与疑惑
描述符本质就是一个新式类,在这个新式类中,至少实现了__get__,__set__,__delete__中的一个,这也被称为描述符协议。
__get__:调用一个属性时,触发
__set__:为一个属性赋值时,触发
__delete__:采用del删除属性时,触发
描述符的作用是用来代理另外一个类的...
一切皆对象
函数是对象
在Python中,一切皆为对象。我们之前常用的函数,本身也是一个实例化对象。
# ==== 函数也是对象 ====def func(): passprint(func.__class__)# ==== 我们还可以为函数对象进行增加属性的操作:虽然没人这样做 ====func.x = "随便写的: x"func.y = "随便写的: y"print(func....
异常分类
程序中难免出现错误,总共可分为两种。
1.逻辑错误
2.语法错误
对于刚接触编程的人来说,这两个错误都会经常去犯,但是随着经验慢慢的积累,语法错误的情况会越来越少反而逻辑错误的情况会越来越多(因为工程量巨大)。不论多么老道的程序员都不可避免出现这两种错误。
异常...
什么是模块
什么是模块?
常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。
但其实import加载的模块分为四个通用类别:
1 使用python编写的代码(.py文件)
2 已被编译为共享库或DLL的C或C++扩展
3 包好一组模块的包
4 使用C编写并链接到python解释器的内置模块...
阅读目录
一 引子
二 协程介绍
三 Greenlet模块
四 Gevent模块
引子
之前我们学习了线程、进程的概念,了解了在操作系统中 进程是资源分配的最小单位,线程是CPU调度的最小单位。 按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定...
阅读目录
isinstance和issubclass
反射
setattr
delattr
getattr
hasattr
__str__和__repr__
__del__
item系列
__getitem__
__setitem__
__delitem__
__new__
__call__
__len__
__hash__
__eq__
回到顶部
isinstance和issubclass
isinstance(obj,cls)检查是否o...