python语法复习
发条宇
在哪跌倒,在哪站起来
展开
-
python多态
python多态Demo原创 2022-06-06 17:57:22 · 376 阅读 · 1 评论 -
python使用super()自动查找父类
使用super()可以自动查找父类。调用顺序遵循 __mro__类属性的顺序。原创 2022-06-06 15:13:55 · 404 阅读 · 0 评论 -
python线程间通信
python线程间通信原创 2022-06-01 17:09:29 · 441 阅读 · 0 评论 -
python套接字及消息队列
python套接字理解及消息队列原创 2022-06-01 17:06:21 · 228 阅读 · 0 评论 -
python 进程间通信IPC
进程间通信IPC文件通过读写文件来进行变量,数据,信息的传递1)读写冲突两个进程同时进行写,或者一个写一个读,造成了冲突。2)解决读写冲突互斥锁import requestsimport timefrom threading import Threadfrom multiprocessing import Process, Lockdef save_ro_file(index, lock): with lock: with open(r"D:/pyt原创 2022-05-30 22:50:34 · 263 阅读 · 0 评论 -
python解释器锁GIL
计算密集型主要占用CPU资源IO密集型IO就是Input output,需要等待一些任务 网络请求会有网络延迟 和数据库交互需要等待数据库查询事件 读写硬盘多进程在处理计算密集型程序的时候比多线程快 由于全局解释器锁的存在,一个进程下,只允许一个线程执行python程序的字节码(当前代码的二进制表示)。 简单的说,创建的10个线程其实在争夺一个cpu资源,但是遇到IO操作会读CPU资源。如何绕过GIL? 将多线程方法改为多进程 将计算密集型任务转移给C扩展..原创 2022-05-30 15:41:25 · 114 阅读 · 0 评论 -
python装饰器
@decorator在代码的开始添加装饰器有什么作用呢?为什么要是用装饰器,不用行不行?锦上添花,高级操作当我们要为函数拓展新的功能,但是又不想修改函数的内部结构时,那么就可以通过装饰器来完成!开闭原则: 对于扩展是开放的,对于修改是封闭的 !# import time## def decorator(func):# def wrapper():# print(time.time())# func# return wrapper##原创 2022-04-06 11:48:29 · 259 阅读 · 0 评论 -
python @contextmanager
@contextmanager 的作用就是我们可以把一个非自定义类改成一个上下文管理器。这个会经常遇到,所以有必要理解一下。上下文管理器 是有 enter__和__exit ,那么我们可以为需要改写的普通类创建一个子类,在其中添加上__enter__和__exit__方法通过继承父类的方式实现上下文管理器。但是通过contextlib模块下提供的@contextmanager装饰器,我们能够更方便的将一个普通类变成上下文管理器。(那么它有什么好处)@contextmanager@contextman原创 2022-04-01 19:36:51 · 2975 阅读 · 0 评论 -
python中with的用法 上下文管理器
如何理解上下文管理器, 那就是有先 有后, 中间是要处理的东西。举个例子:别墅独立小院, 是不是有个大门。每天进大门然后出大门(有先有后),中间呢 是你在这个小院里操作各种内容,比如打水。上下文管理器指符合上下文协议的一个类,类中实现了__enter__方法 和 exit 方法。 在一段代码执行前, 先执行__enter__中的代码用于预处理,然后执行 with 中间的代码,最后执行完这段代码之后再执行 exit 中的代码进行清理工作。常见的如:文件的操作:打开文件,关闭文件打开数据库,关闭数原创 2022-04-01 18:10:58 · 2153 阅读 · 0 评论 -
python @property的认识
python @property的使用python里面会在方法的上面加上 @property 装饰器来创建只读属性, @property装饰器会将方法转换为同名的只读属性,它可以与所定义的属性配合使用,主要作用是防止属性被修改。class DataSet(object): @property def method_with_property(self): ##含有@property return "hi" def method_without_property(self): ##原创 2022-04-01 17:19:39 · 718 阅读 · 0 评论 -
python 类下面的方法中带参与不带参
1、构造函数带参数,实例化时就需要带参数class Person(): #定义类 def __init__(self,name,leg=8): #构造函数带参数 self.name=name self.leg=leg def run(self):#方法不带参 print("我会跑") print(self.name) print(self.leg) def fly(self): prin转载 2022-03-31 12:27:41 · 1033 阅读 · 0 评论 -
python class中为什么要有初始化init
只有类才可以创建实例,变量是不能在函数之间进行相互传递的,需要给变量绑定上属性,通过变量的属性在各个函数之间相互传递。init 函数里面的self 变量的作用就是为整个类提供一个全局变量,通过self这个全局变量绑定上属性,使得它能够在后面函数中使用。 定义完init()函数后,创建的每个实例都有自己的属性,也方便直接调用类中的函数。加上__init__()方法后,类才可以实例化,不加__init__()方法,类就是个空壳子,相当于一个方法的集合。学习Python的类,一直不太理解为什么一定要定.转载 2022-03-31 12:12:12 · 2783 阅读 · 0 评论 -
python 可变参数
一句话说清楚什么是python的可变参数Python的可变参数有两种,一种是列表类型,一种是字典类型。a接受一个常规参数,*args 接收的是一个tuple,**kwargs 接收一个dict。def ff(a,*b,**c): print(a) print(b) print(c)# ff(1232,4,5,6,7,8,ss="sadf",xx="fff",ww="asdf")if __name__ == '__main__': ff(1232,4,5,6,7,原创 2022-03-30 11:54:20 · 9173 阅读 · 0 评论 -
python异常
1.常见的一些异常:NameError: name 'abc' is not definedZeroDivisionError: division by zeroIndexError: list index out of rangeSyntaxError: Missing parentheses in call to 'print'. Did you mean SyntaxError: invalid character in identifierTypeError: unsupported o原创 2021-08-31 14:58:39 · 242 阅读 · 0 评论 -
python模块
模块比类和函数强大的多,能够封装更多的功能代码。模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便重用。也就是模块可以封装任何数据和代码。每一个后缀名为.py的文件都是模块。模块不仅仅我们自己使用,也可以把它给别人使用,就像传递文件一样那么简单。方式一:使用自己的模块建立模块就是建立.py文件。在其中一个.py文件中引入另一个.py文件。如下图:我们在main.py模块中引入mytest.py模块。import 语句import语句可以导入一个模块,目的不仅仅是打印语句,更主要原创 2021-08-30 14:46:54 · 118 阅读 · 0 评论 -
python编码与解码
编码与解码bit位/比特:最小的存储单位,存放一位二进制数,及0或1byte字节: 最常用的单位,8个二进制位为一个字节(B)编码encode 与 解码decode编码encode就是把人类语言转成计算机语言解码decode就是把计算机语言转成人类语言用法:‘人类语言’.encode(‘你使用的编码表’)‘计算机语言’.decode(‘你使用的编码表’)...原创 2021-08-30 14:40:24 · 89 阅读 · 0 评论 -
python类的继承及类的定制
首先看下语法:X类是Y类的子类,X类就会继承Y类的属性与方法。各级实例和各级类之间的关系:子类创建的实例也属于父类父类创建的实例不属于子类所有类创建的实例都属于根类(Object)类的继承中子类属于父类,子类创建的实例也属于父类继承有多层继承和多重继承多层继承:子类不仅可以继承父类,还可以继承父类的父类,以此类推子类可以调用父类的属性与方法,也可以调用父类的父类的属性与方法。这就是多层继承。#直接运行代码#明星类class Star: glasses = "墨镜"原创 2021-08-30 12:04:24 · 210 阅读 · 0 评论 -
python初始化方法
初始化方法:每个类中都存在一个初始化方法,这个方法不需要调用,在通过类创建实例对象的时候初始化方法会自动执行。定义初始化方法:def init(self): ,init两边是双下划线。初始化方法中,除了可以设置固定值之外,还可以接收其他参数,使得传入的数据灵活多变。面向对象编程 : 特点:以对象为中心 内容: 类的创建和调用 程序组成: 一组对像的集合面向对象的优越性:代码扩展性,可维护性,可以在类中封装一些方法,甚至其他的第三方库class Musician: #创建类 glas原创 2021-08-30 12:01:03 · 1087 阅读 · 0 评论 -
python类及self
类就是统称,一类物品的统称。实例就是一个具体存在特指的一个事物。相似的实例可以归到同一类中。只是完成类的创建,是不会有内容输出的。类的实例化:语法: 实例名 = 类名() 例子: laofan = Musician() 含义:通过Musician这个类创建一个实例叫laofan , laofan 这个实例可以调用 Musician这个类中的属性和方法。调用类属性: 实例名.属性名调用类方法:实例名.方法名类可以创建多个实例。self 的作用: self会在类的实例化中接收传入的数据,在代原创 2021-08-29 23:15:35 · 213 阅读 · 0 评论 -
python函数
函数:函数是组织好的,可以重复使用的,用来实现单一功能的代码。函数的语法:def 函数名(参数):函数体return 语句def fun(x): x 函数参数,输入值y = 6 * x +9 函数执行过程return y 函数返回值解读:第一行 def 的全程define,译为定义; fun 是函数名字,自己起的 ; x 是函数的参数,参数名字也是自己起的;不要忘了最后的冒号第二行 d原创 2021-08-28 23:59:55 · 99 阅读 · 0 评论 -
python循环for&while
循环什么是循环,就是重复和无趣。循环语句,可以让计算机重复和自动的执行代码。for… in …while循环语句示范例子:for i in [1,2,3,4,5,6]:print(str(i)+‘取钱’)解释:for 循环里为什么要用呢 i 呢? 而不用其他字母,是因为在for循环里这个变量的专有名称叫【元素】,英文 item,i是简称。字典里面的循环:city = {‘北京’:‘天安门’,‘上海’:‘东方明珠’,‘广州’:‘珠江’}for i in city:print(i)w原创 2021-08-28 15:30:26 · 255 阅读 · 0 评论 -
python列表和字典
计算机利用数据的三种方式:1.直接使用数据 print()模式2.计算和加工数据 str(), int(), float(),四则运算3.用数据做判断 if…else…列表增加 append删除 del函数 语法: del 列表名[元素的下标]实际例子:什么是列表案例: list = [‘lilei’,’hanmeimei’,’1.8’,’5’]从列表提取单个元素案例: transformers = ['秦天柱’,'大黄蜂’,’救护车’] transformers[1]原创 2021-08-27 20:58:40 · 314 阅读 · 0 评论 -
python数据类型input函数print函数条件判断
print 函数:函数用法:打印输出输出方式:1.字符串 需要 单双引号2.数值,可直接输出3.计算,无需单双引号4.变量,需提前赋值符号输出:反斜杠输出,换行[\n], 单引号[\‘] ,数据类型基本类型: 字符串(str) 整数(int) 浮点数(float)数据拼接: 使用符号 ‘+’相关函数: str() 将其他类型转行称 字符串 ; int() 将其他类型转换成整数 ; float() 将其他类型转换成 浮点数。条件判断:1.三种类型: 单向判断 if , 冒号下 需缩进原创 2021-08-27 16:12:58 · 372 阅读 · 0 评论