Python3 抽象基类
摘要: 抽象基类 抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化。 抽象类与普通类的不同之处在于:抽象类中要有抽象方法(没有实现功能),该类不能被实例化,只能被继承,且子类必须实现抽象方法。 疑问: 已经有了鸭子类型 和多态 ,为什么还要用这个呢?答: 为了 解决两个事情 抽象基类文档 使用
381
0
0
Python3 魔法方法详解
摘要: 魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动触发的。它们经常是两个下划线包围来命名的(比如 __init__,__lt__),Python的魔法方法是非常强
267
0
0
Python对象自省——运行时判断对象的类型
摘要: 简介 自省(introspection)指在运行时判断一个对象的类型 Python中一切都是对象,自省是Python的强项 通过自省可以知道一个对象的能力、状态 type() type()返回对象类型 a = list() print(type(a)) # <class 'list'> dir()
315
0
0
Python3 描述符 (__get__/__set__/__delete__/__getattr__/__getattribute__/__setattr__/__delattr__)
摘要: 描述符 Python 中,通过使用描述符,可以让程序员在引用一个对象属性时自定义要完成的工作。本质上看,描述符就是一个类,只不过它定义了另一个类中属性的访问方式。换句话说,一个类可以将属性管理全权委托给描述符类。 描述符是 Python 中复杂属性访问的基础,它在内部被用于实现 property、方
396
0
0
Python3 多进程和多线程
摘要: 多进程 multiprocessing模块就是跨平台版本的多进程模块。提供了一个Process类来代表一个进程对象。 from multiprocessing import Process import os # 子进程要执行的代码 def run_proc(name): print('Run ch
294
0
0
Python3 反射
摘要: 1.反射是什么? python是动态语言,而反射(reflection)机制被视为动态语言的关键。 反射机制指的是在程序的运行状态中 对于任意一个类,都可以知道这个类的所有属性和方法; 对于任意一个对象,都能够调用他的任意方法和属性。 这种动态获取程序信息以及动态调用对象的功能称为反射机制。 2.如
167
0
0
Python3 迭代器迭代对象疑问的总结
摘要: 1.可迭代对象Iterable和迭代器Iterator的区别 Iterable中实现__iter__方法,__iter__方法会返回一个Iterator。注意,这里返回的是一个迭代器。自定义可迭代类的时候,要返回一个迭代器,不能return self,自己不是一个迭代器。 迭代器继承自Iterabl
164
0
0
Python3 内置方法
摘要: 一. 简介 python内置了一系列的常用函数,以便于我们使用,python英文官方文档详细说明:点击查看, 为了方便查看,将内置函数的总结记录下来。 二. 使用说明 以下是Python3版本所有的内置函数: 内置函数 abs() dict() help() min() setattr() all(
149
0
0
Python3 socket网络编程(三)-socketserver
摘要: socketserver 基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环 socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题) server类: request类: 继承关系: 基于tcp的socketserver我们自己定义的类
884
0
0
Python3 socket网络编程(二)-粘包-struct模块
摘要: 1.TCP粘包问题 2.struct模块使用 1.TCP粘包问题 什么是粘包 TCP协议是面向对象的,面向流的,提高可靠性服务。使用了优化算法,Nagle算法。将多次间隔较少且数据量小的数据,合并成一个大的数据块,然后进行封包。这样接收端就很难分辨出来。TCP协议数据是可靠的,但是会粘包。 问题的关
302
0
0
Python3 装饰器无参有参 Egon老师视频
摘要: # 一:储备知识#1、 *args, **kwargs# def index(x,y):# print(x,y)### def wrapper(*args,**kwargs):# index(*args,**kwargs) ## # index(y=222,x=111)# wrapper(y=222
340
0
0
python魔法方法、构造函数、序列与映射、迭代器、生成器---python基础教程
摘要: https://www.bbsmax.com/A/D854Lrq35E/ 表 1:Python 3 中常用的魔术方法 魔术方法描述 __new__ 创建类并返回这个类的实例 __init__ 可理解为“构造函数”,在对象初始化的时候调用,使用传入的参数初始化该实例 __del__ 可理解为“析构函数
197
0
0
Python面向对象之私有属性和方法(转载)
摘要: Python面向对象之私有属性和方法 私有属性与私有方法 应用场景 在实际开发中,对象的某些属性或者方法 可能只希望在对象的内部被使用,而不希望在外部被访问到; 私有属性 就是对象不希望公开的属性; 私有方法 就是对象不希望公开的方法; 定义方式 在定义属性或者方法时,在属性名或者方法名前面增加两个
334
0
0
python3 isinstance
摘要: python3 isinstance
256
0
0
生成器 讲得不错的帖子
摘要: https://www.zhihu.com/question/20829330这篇讲得还不错,
115
0
0
Python3 pickle模块
摘要: 用于序列化的两个模块 json:用于字符串和Python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 json提供四个功能:dumps,dump,loads,load pickle提供四个功能:dumps,dump,loads,load pickl
618
0
0
Python3 os模块及操作文件和目录
摘要: 1. os模块相关操作: os模块主要处理操作系统的相关的功能 os.name 获取操作系统平台 os.getcwd() 获取现在的工作目录 os.listdir() 获取某个目录下的所有文件名 os.system() 用来运行shell命令 os.remove() 删除某个文件 os.path.e
782
0
0
Python3 StringIO和BytesIO
摘要: StringIO的一些接口和文件操作是一致的。StringIO的行为与file对象非常像,但它不是磁盘上文件,而是一个内存里的“文件”。StringIO操作的只能是str import io #1、生成一个StringIO对象: s = io.StringIO() #2、write()从读写位置将参
1100
0
0
Python中with用法详解
摘要: 阅读目录(Content) 一 、with语句的原理 二、自定义上下文管理器 三、总结 一 、with语句的原理 上下文管理协议(Context Management Protocol):包含方法 __enter__()和__exit__(),支持该协议的对象要实现这两个方法。 上下文管理器(Con
2160
0
0
Python3 错误、调试和测试
摘要: 1.错误处理 try: print('try...') r = 10 / int('2') print('result:', r) except ValueError as e: print('ValueError:', e) except ZeroDivisionError: ##最后一个exce
582
0
0
Python3 枚举类
摘要: 枚举(Enum)跟整型一样,是一种数据类型。它是一系列常量的集合,通常用于表示某些特定的有限集合,如月份、星期、状态、性别(男、女、不男不女)等,当一个变量有几种可能取值的时候,定义为枚举类型。 枚举是不可变类型,一旦定义创建,其成员的值不可改变,名称不可重复 枚举成员的值支持多种数据类型,如字符串
867
0
0
python3 定制类
摘要: 定制类 一个类可以通过定义具有特殊名称的方法来实现由特殊语法所引发的特定操作。 python的特殊方法: 特殊方法定义在class中 不需要直接调用 Python的某些函数或者操作符会调用对应的特殊方法 正确实现特殊方法: 只需要编写用到的特殊方法 有关联性的特殊方法必须实现 class Custo
241
0
0
Python3 面向对象
摘要: 1.面向对象 把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。 class Student(object): def __in
258
0
0
python3 模块
摘要: 在Python中,一个.py文件就称之为一个模块(Module),包含所有你定义的函数和变量的文件。 好处:最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。模块可以被其他地方引用。使用模块还可以避免函数名和变量名冲突。 自己创建模块时要注意命名,不能和Python自带的模块名称冲突
161
0
0
Python3中的命名规范大全---基于PEP8标准
摘要: 请参考:https://blog.csdn.net/weixin_39723544/article/details/82144280 包的命名和模块一样,不能字母开头。
413
0
0
点击右上角即可分享
微信分享提示
深色
回顶
展开