06 2021 档案

摘要:进程之间数据共享 使用Manager() 缺点: 数据不安全(可以加锁解决) 速度慢 代码: from multiprocessing import Process from multiprocessing import Manager from multiprocessing import Loc 阅读全文
posted @ 2021-06-21 23:44 刘家小仙女 阅读(62) 评论(0) 推荐(0)
摘要:异步阻塞 没有按照顺序等待结果,而是所有的任务都在异步执行着,但是我要等结果又不知道谁的结果先来,谁先结束我就先获取谁的结果 import requests from multiprocessing import Process from multiprocessing import Queue u 阅读全文
posted @ 2021-06-21 23:42 刘家小仙女 阅读(247) 评论(0) 推荐(0)
摘要:生产者消费者模型 生产者将要处理的数据放入一个容器中,消费者从容器中取出 生产者:通常在放数据之前需要通过某些代码来获取数据 消费者:通常取到数据之后在进行某些操作 本质: 把原本获取数据处理数据的完整过程进行了解耦(注:紧耦合程序:所有代码写在一起不分函数,类,文件比较乱(不好),松耦合性:拆分的 阅读全文
posted @ 2021-06-21 23:41 刘家小仙女 阅读(149) 评论(0) 推荐(0)
摘要:进程之间通信(IPC) 进程之间是数据隔离的 进程之间通信的方式 基于文件:适用于同一台机器上的多个进程之间通信 Pipe 管道 不加Lock锁,所以数据不安全 Queue 队列(先进先出)队列是基于socket\pikel\Lock实现的,数据是安全的,不需要加锁 基于socket的文件级别的通信 阅读全文
posted @ 2021-06-21 23:38 刘家小仙女 阅读(86) 评论(0) 推荐(0)
摘要:from multiprocessing import Process import time def son1(): while True: time.sleep(0.1) print('in son1') def son2(): for i in range(10): print('in son 阅读全文
posted @ 2021-06-21 23:37 刘家小仙女 阅读(85) 评论(0) 推荐(0)
摘要:进程 进程的三状态图 就绪,运行,阻塞 进程的调度算法 给所有进程分配资源或者CPU分配使用权的一种方法 短作业有限 先来先服务 分时 多级反馈算法(融合了以上三种) 多个任务队列,优先级从高到底 新来的任务总是优先级最高的 每一个新任务几乎会立即获得一个时间片时间 执行完一个时间片之后就会降级到下 阅读全文
posted @ 2021-06-21 23:36 刘家小仙女 阅读(160) 评论(0) 推荐(0)
摘要:进程:进行中的程序就是一个进程(任务管理器中的所有程序都是进程) 进程占用资源,需要操作系统调度 PID:能够唯一标识一个进程,关闭进程则消失,下一次启动进程又会得到一个新的PID 进程是计算机当中最小的资源分配单位 并发:多个程序同时执行本质上还是串行只是交替执行快而已(轮流执行) 多个程序轮流在 阅读全文
posted @ 2021-06-21 23:33 刘家小仙女 阅读(100) 评论(0) 推荐(0)
摘要:操纵系统基础 I/O操作 I:input O: output I/O操作是相对于内存来说的,从内存中读取就是输出,写入内存就是输入 输入:键盘、input、read(从文件输入到内存)、recv(从网络上写入内存中) 输出:显示器、打印机、播放音乐、print、write(从内存中写入文件),sen 阅读全文
posted @ 2021-06-10 19:41 刘家小仙女 阅读(379) 评论(0) 推荐(0)
摘要:hmac 可以代替hashlib进行直接把密钥和字符串进行加密,直接生成bytes格式进行网络传输 使用方法 import hmac import os h=hmac.new(b'qwer',os.urandom(16)) s=h.digest() print(s) 得:b'\xc0\xff\x8d 阅读全文
posted @ 2021-06-10 17:30 刘家小仙女 阅读(139) 评论(0) 推荐(0)
摘要:socketserver 注意:文件不能与socketserver重名 socketserver和server的关系 socket是底层模块 socketserver是基于socket完成的 作用:处理TCP协议中server端并发的客户请求 服务端 # server import socketse 阅读全文
posted @ 2021-06-10 16:27 刘家小仙女 阅读(197) 评论(0) 推荐(0)
摘要:验证客户端的合法性 使用场景:在公司内部,无用户的情况下使用 思路: 客户端和服务端都有一个相同的密钥(密钥不能进行传输,原因:以防非法拦截) 客户端与服务端建立连接后,服务端向客户端发送一个随机字符串os.urandom(16) 服务端与客户端都对随机字符串使用密钥进行加密,将得到一个新的字符串 阅读全文
posted @ 2021-06-09 13:38 刘家小仙女 阅读(198) 评论(0) 推荐(0)
摘要:使用TCP实现大型文件的传输 可能会出现的问题 粘包,数据不完整 解决方法: 使用struct 模块,设置每次收取内容具体字节,从上到下依次取出 在从文件中读取数据进行传输的时候使用while 循环,每次取1024字节, 同样每次也传1024字节(原因:如果传入的文件过大tcp会自动进行拆包导致一些 阅读全文
posted @ 2021-06-09 11:47 刘家小仙女 阅读(436) 评论(0) 推荐(0)
摘要:粘包现象 为什么TCP会粘包UDP不会 UDP传输会有网络最大宽带限制,一般情况不用于传输大文件(除非对限制进行设置)消息之间有边界 TCP传输是通过拆包进行网络传输的,可以传输大文件,但是也导致多条消息之间没有边界发生粘包 为什么会出现粘包现象 粘包现象只发生在TCP协议中,TCP协议多条消息之间 阅读全文
posted @ 2021-06-08 11:15 刘家小仙女 阅读(147) 评论(0) 推荐(0)
摘要:UDP UDP 发短信,广播,在线播放视频,QQ微信 不需要建立连接,就可以通信 不占用连接,不可靠(消息因为网络不稳定丢失)、快 服务端 import socket sk=socket.socket(type=socket.SOCK_DGRAM) sk.bind(('127.0.0.1',1234 阅读全文
posted @ 2021-06-08 11:13 刘家小仙女 阅读(64) 评论(0) 推荐(0)
摘要:IOS五层网络协议 5层:应用层,表示层,会话层 此三层合成了一层简称ios5层协议 python 4层:传输层 port 端口 ucp/udp协议 四层路由器,四层交换机 3层:网络层 ipv4 ipv6 路由器 (路由器带有交换机功能)三层交换机 2层:数据链路层 mac地址 arp协议(地址解 阅读全文
posted @ 2021-06-07 12:39 刘家小仙女 阅读(476) 评论(0) 推荐(0)
摘要:cs和bs框架 Client客户端,Server服务端 C/S架构: 微信,QQ 等需要安装的 Client 客户段 Server 服务端 好处:可以离线使用/功能更完善/安全性更高 B/S架构:百度,博客园 browser 浏览器 server 服务器 好处:不用安装就可以使用 ,统一PC端(电脑 阅读全文
posted @ 2021-06-07 12:38 刘家小仙女 阅读(242) 评论(0) 推荐(0)
摘要:局域网 交换机 知道一台机器的ip地址,然后要给他发消息,这个时候交换机不认识ip地址,于是就先获取到这个机器的mac地址,然后双方就都知道了对方了mac地址,这样用交换机进行数据的传递就非常方便了 获取对方mac地址的时候会进行广播,把自己的mac地址和ip地址,和对方的ip地址传到局域网,进行广 阅读全文
posted @ 2021-06-07 12:35 刘家小仙女 阅读(278) 评论(0) 推荐(0)
摘要:不变的:mac地址 能够唯一标识你这个机器的 (相当于手机号) mac地址是全球唯一的(在网卡上 ) 可以通过arp协议,通过ip地址寻找mac地址 变化的:ip地址 能够更好、更方便的找到你的机器(相当于家庭地址) ipv4地址:四位点分十进制 0.0.0.0-255.255.255.255 (范 阅读全文
posted @ 2021-06-07 12:30 刘家小仙女 阅读(258) 评论(0) 推荐(0)
摘要:TCP :语言聊天,视频聊天,线下缓存视频,远程控制,发邮件 需要先建立连接,然后通信 占用连接、可靠(消息不会丢失)、面向连接实时性高、全双工的通信、慢 注意事项: 端口不能重名 必须先起服务端,在起客户段 建立连接 三次握手 全双工通信 SYN请求建立连接发送信息,ACK确认 思路: 客户段向服 阅读全文
posted @ 2021-06-07 12:28 刘家小仙女 阅读(103) 评论(0) 推荐(0)
摘要:装饰器 装饰器的定义: 完全遵循开放封闭的原则(开放:增加新功能 封闭:不改变原函数代码) 在不改变原函数的代码及调用方式的前提下,为其增加新的功能 装饰器的本质就是一个闭包函数 装饰器必须放在函数的最上面 被装饰函数中不带返回值的装饰器 def times(f): #1 #3 #此处的f是自由变量 阅读全文
posted @ 2021-06-04 19:14 刘家小仙女 阅读(62) 评论(0) 推荐(0)
摘要:json、pickle模块 json是将数据转换成特殊的字符串然后传输,pickle是之间转换成bytle形式进行传输 json转换有限制,pickle没有并且可以直接对函数和类进行转换 json适合多种语言之间传输转换,而pickle只能在python中使用 序列化模块:将一种数据结构(list、 阅读全文
posted @ 2021-06-04 19:11 刘家小仙女 阅读(128) 评论(0) 推荐(0)
摘要:为什么要使用log? log是为了排错 log是用来做数据分析 购物商城: 数据库里 什么时间购买了什么商品 把那些商品加入购物车了 logging用途 用来记录用户的行为(用来做数据分析的内容,一般不放在数据库) 一个用户在什么时间什么地点登录了购物程序 浏览(搜索)了哪些信息,什么时间被展示出来 阅读全文
posted @ 2021-06-04 19:05 刘家小仙女 阅读(932) 评论(0) 推荐(0)
摘要:shutil 主要操作与文件目录相关得 shutil.copy拷贝文件 # 拷贝文件 ret=shutil.copy('原文件','现文件') shutil.copytree拷贝目录 # 拷贝目录 ignore=shutil.ignore_patterns('*.py') 忽略不需要拷贝的文件,此处 阅读全文
posted @ 2021-06-04 19:03 刘家小仙女 阅读(102) 评论(0) 推荐(0)
摘要:hashlib模块(常用于加密) 包含很多的加密算法,MD5,sha系列 用途: 密码加密,不能以明文的形式存储密码,要以密文的形式 文件的校验 用法: 将bytes类型的字节转换成固定长度的16进制数字组成的字符串 不同的bytes类型利用相同的算法(MD5)转化成的结果一定不同 相同的bytes 阅读全文
posted @ 2021-06-04 19:02 刘家小仙女 阅读(128) 评论(0) 推荐(0)
摘要:sys sys是python自带模块,提供了一系列有关python运行环境的变量和函数的模块 当执行import sys 后,python在sys.path变量中所列目录中寻找sys模块文件。然后运行这个模块的主块中的语句进行初始化,然后就可以使用模块了。 使用dir()查看sys模块中可用方法 i 阅读全文
posted @ 2021-06-04 18:59 刘家小仙女 阅读(816) 评论(0) 推荐(0)
摘要:os os模块介绍 和操作系统相关的功能被封装在os模块 os模块不受平台限制,因为Python是平台无关的,而获取当前路径Windows和Linux是不同的,所以Python的os模块作为中间层,在Windows平台通过os导入nt模块(Windows是nt架构),在linux通过os导入posi 阅读全文
posted @ 2021-06-04 18:48 刘家小仙女 阅读(640) 评论(0) 推荐(0)
摘要:time 封装了获取时间戳和字符串形式的时间的一些方法 获取时间戳 import time # 获取时间戳 # 从时间元年(1970年1月1号 00:00:00)到现在经过的秒数 print(time.time()) #1617427436.1847997 获取格式化时间对象 #GMT #当前系统的 阅读全文
posted @ 2021-06-04 18:43 刘家小仙女 阅读(116) 评论(0) 推荐(0)
摘要:random random()此模块提供了随机数获取的相关方法: random.random()只能获取[0.0,1.0)范围内的浮点数 import random print(random.random()) 得:0.15945054961896699 random.randint(a, b) 获 阅读全文
posted @ 2021-06-04 18:39 刘家小仙女 阅读(581) 评论(0) 推荐(0)
摘要:系统导入模块的路径(绝对导入) 内存中:如果之前成功导入过某个模块,直接使用已经存在的模块 如果内存中没有则使用内置中模块(安装路径下Lib文件中) 如果以上两个地方都没有找到则去sys.path中寻找(sys这是用c写的一个模块,且不允许查看源码) sys.path是一个路径列表,在运行的时候可以 阅读全文
posted @ 2021-06-04 18:35 刘家小仙女 阅读(156) 评论(0) 推荐(0)
摘要:模块的定义 模块本质上就是.py文件(脚本就是py.文件,长期保存代码的文件) 模块可以提高开发效率,便于维护管理 模块的两个功能:1.自己用 脚本 2.被别人引用· 模块的分类 内置模块(200种左右):python解释器,自带的模块,time,os,sys...... 第三方模块(6000多种) 阅读全文
posted @ 2021-06-04 18:21 刘家小仙女 阅读(65) 评论(0) 推荐(0)
摘要:包的导入 导入一个文件夹相当于执行了这个包下的__init__方法,并不相当于把这个包下的所有文件都导进来了 数据准备 import os os.makedirs('glance/api') os.makedirs('glance/cmd') os.makedirs('glance/db') l = 阅读全文
posted @ 2021-06-04 18:18 刘家小仙女 阅读(99) 评论(0) 推荐(0)
摘要:数据结构 内置数据结构 字典 结构:key-value通过key找value 列表[] 结构:通过index取值非常快 元组() 集合{1,2,} 字符串 不是python内的数据结构 Queue队列:先进先出 FIFO (FIRST IN FIRST OUT ) Stack 栈:后进先出:LIFO 阅读全文
posted @ 2021-06-03 17:25 刘家小仙女 阅读(71) 评论(0) 推荐(0)
摘要:一、性质不同: 数据结构:是计算机存储、组织数据的方式,简单来说就是数据的逻辑或物理存储的方式,可以用来存储数据和使用特定的方法来检索或操作数据的方法 数据类型(数据元):是用一种属性描述其定义、标识、表示和允许值的数据单元 二、作用不同 数据结构:通常情况下,精心选择的数据结构可以带来更高的运行或 阅读全文
posted @ 2021-06-03 17:23 刘家小仙女 阅读(4691) 评论(0) 推荐(0)
摘要:集合 set,容器行数据类型,它要求它里面的元素是不可变的数据,但是它本身是可变数据类型 set是无序的 集合的作用: 列表的去重 关系测试:交集,并集,差集。。。 集合增 set2={'xiaoxiannv','wamgminmin',1,2,'xiaotong'} # 方式一 set2.add( 阅读全文
posted @ 2021-06-03 17:21 刘家小仙女 阅读(74) 评论(0) 推荐(0)
摘要:字典 用括起来,以键值对存储的容器型数据类型 键(唯一的):必须是不可变的数据类型(常用:str,int) 值:可以是任意数据类型、对象 字典3.5x版本之前(包括3.5)是无序的。 字典3.6x会按照初次建立字典的顺序排列,学术上不认为是有序的。 字典3.7x之后都是有序的。 优点: 存储数据关联 阅读全文
posted @ 2021-06-03 17:19 刘家小仙女 阅读(110) 评论(0) 推荐(0)
摘要:# list > tupy enumerate()可以将列表转换成元组的形式(索引,列表内容),然后进行拆包 goods=[ {'name':'电脑','price':1999}, {'name':'鼠标','price':10}, {'name':'游艇','price':888}, {'name 阅读全文
posted @ 2021-06-03 17:16 刘家小仙女 阅读(53) 评论(0) 推荐(0)
摘要:元组 只读列表(没有增删改,只能读),可以存储大量的数据,可以索引,切片(步长) 经常用于一些不想被别人改动的数据,元组里的元素如果有列表,列表里的元素可以被修改 元组的拆包,分别赋值 元组拆包赋值 a,b=(1,2) #必须与之对应多一个少一个都不行 print(a,b) 元组补充 当元组中只有一 阅读全文
posted @ 2021-06-03 17:13 刘家小仙女 阅读(91) 评论(0) 推荐(0)
摘要:列表 优点: list可以承载任意数据类型,并且可以存储大量数据 python常用的容器型数据类型。java:数组 列表是有序的,可索引,切片(步长)。 列表可以相加,相乘 缺点: 列表数据关联性不是很强 列表查询速度比较慢 ## 列表的创建 方式一: s1=[123,'qwe',[1,2,3]] 阅读全文
posted @ 2021-06-03 17:11 刘家小仙女 阅读(167) 评论(0) 推荐(0)
摘要:数据类型分类 可变:对原数据可以进行改变 不可变:对原数据不能进行任何改变 可变(不可哈希)数据类型:列表(list)、字典(dict)、集合(set) 不可变(可哈希)数据类型:数字(int)、字符串(str)、元组(tuple)、布尔值(bool) 字符串 优点 str用于存储少量的数据 str 阅读全文
posted @ 2021-06-03 17:07 刘家小仙女 阅读(85) 评论(0) 推荐(0)
摘要:能定义在类中的内容 静态变量 :是所有对象的共享变量 不能重新赋值 绑定方法:自带self的函数 也是有对象调用 类方法 : 是个自带cls参数的函数 由对象或者类调用 静态方法:啥都不带,相当于一个普通函数 由对象或者类调用 property属性 伪装成属性的方法 由对象调用,但不加括号 阅读全文
posted @ 2021-06-03 16:55 刘家小仙女 阅读(157) 评论(0) 推荐(0)
摘要:反射 用字符串数据类型的名字,来操作这个名字对应的函数/实例变量/绑定方法/各种方法 使用场景: 反射对象的实例变量 反射类的静态变量/绑定方法、其他方法 反射模块当中的所有变量(被导入的叫模块),当前执行的文件叫脚本) getattr getattr(对象/地址,要调用的属性或方法) 最后得到一个 阅读全文
posted @ 2021-06-03 16:43 刘家小仙女 阅读(55) 评论(0) 推荐(0)
摘要:魔法方法 __call__ __call__对象()调用的是这个类中的__call__下面的逻辑 如果类中有__call__这个方法,那就证明这个类的对象是可以被调用的 class Longin: def __call__(self, *args, **kwargs): print(' ') obj 阅读全文
posted @ 2021-06-03 16:41 刘家小仙女 阅读(139) 评论(0) 推荐(0)
摘要:property 法伪装成属性 把一个方法伪装成一个属性,在调用这个方法的时候不用加()就可以直接得到返回值 装饰的这个方法是不能有参数的 from math import pi #pi是圆周率 class Circle(object): def __init__(self,r): self.r=r 阅读全文
posted @ 2021-06-03 16:40 刘家小仙女 阅读(85) 评论(0) 推荐(0)
摘要:封装 什么是封装? 就是把属性或者方法装起来 广义上的封装 把属性和方法装起来,外面不能直接调用,要通过类的名字调用 狭义上的封装 把属性和方法藏起来,外面不能调用,只能在内部调用 给一个名字前面加上双下划线的时候,这个名字就变成了一个私有的(私有的实例变量/私有的属性) 所有的私有内容或者名字都不 阅读全文
posted @ 2021-06-03 16:38 刘家小仙女 阅读(69) 评论(0) 推荐(0)
摘要:多态 因为python中变量不用声明,所以不存在父类引用指向子类对象的多态类型,同时python不支持重载,所以python的使用没有java那么明显,所以在python中刻意提到多态的意义不是特别大 什么是多态? 一个类表现出来的多种形态,实际上是通过继承来完成的,主要指的是多个子类继承自一个父类 阅读全文
posted @ 2021-06-03 16:34 刘家小仙女 阅读(54) 评论(0) 推荐(0)
摘要:抽象类 抽象类是一个开发的规范,约束它的所有子类必须实现一些和它同名的方法 方式一:好处不用依赖包 class Payment: #Payment就是抽象类 def pay(self,money): raise NotImplemented('请在子类中写同名pay方法') class Ailpay 阅读全文
posted @ 2021-06-03 16:33 刘家小仙女 阅读(137) 评论(0) 推荐(0)
摘要:继承的基础语法 继承的优点:解决代码的重复性 继承的加载过程 继承过程: 实例化对象的时候,先开辟空间,空间里有一个类指针,指向Cat, 调用init的时候先在自己的空间中寻找,如果找不到先去就去Cat(如果是继承Cat类中会保存Anmial(父类)的内存地址)类空间中寻找 如果Cat类中也没有,就 阅读全文
posted @ 2021-06-03 16:29 刘家小仙女 阅读(259) 评论(0) 推荐(0)
摘要:面向对象的组合 组合:一个类的对象是另一个对象的属性 # 学生类 姓名,性别,年龄,学号,班级,手机号 # 班级类 班级名字 开班级时间 当前讲师 class Student: def __init__(self,name,sex,age,number,clas,phone): self.name= 阅读全文
posted @ 2021-06-03 15:50 刘家小仙女 阅读(133) 评论(0) 推荐(0)
摘要:初始面向对象 python中一切皆对象 面向过程和面向对象得区别: 面向过程:想要一个结果 写代码 实现结果 面向对象:有哪些角色,角色的属性和技能 ,角色之间的交互关系 面向对象适用场景: 复杂的,拥有开放式结局的程序,比较适合使用面向对象 游戏(人物多,技能多) 购物 面向对象基础语法 自己了解 阅读全文
posted @ 2021-06-03 15:46 刘家小仙女 阅读(82) 评论(0) 推荐(0)
摘要:二分查找 (用来查找列表中元素是否存在) 二分查找也称折半查找 方式一(递归) # 思路: # 1.在函数中传入有序列表和要查找的数字 # 2.把整个列表进行切割(min=len(alist)//2),利用索引找到中间的值(alist[min]) # 3.把中间的值和和要查找的元素进行对比,如果大于 阅读全文
posted @ 2021-06-03 15:40 刘家小仙女 阅读(239) 评论(0) 推荐(0)
摘要:re模块和正则表达式的关系 有了re模块就可以在python语言中操作正则表达式了 什么是正则表达式? 一套规则,用来匹配字符串的规则 能做什么? 检查一个字符串的输入是否合法 web开发项目、表单验证 用户输入一个内容的时候,我们要提前检测,能够提高程序的效率并且减轻服务器的压力 从一个大文件中找 阅读全文
posted @ 2021-06-03 15:37 刘家小仙女 阅读(106) 评论(0) 推荐(0)
摘要:递归 递归的最大深度1000层 目的:为了节省内存空间,不要让用户无限次使用内存空间 递归比循环更占用内存 修改递归的深度 import sys sys.setrecursionlimit(100) count=0 def func(): global count count+=1 print(co 阅读全文
posted @ 2021-06-03 13:40 刘家小仙女 阅读(81) 评论(0) 推荐(0)
摘要:闭包 什么是闭包? 闭包是内层函数对外层函数非全局变量的引用(使用),闭包只能存在于嵌套函数中 闭包的作用? 保证数据的安全,自由变量不会在内存中消失,而且全局引用不到。 闭包中外层函数中的变量也称自由变量,这个自由变量会与内层函数产生一个绑定关系,使得自由变量不会在内存中消失,内层函数可以调用到外 阅读全文
posted @ 2021-06-03 13:36 刘家小仙女 阅读(94) 评论(0) 推荐(0)
摘要:匿名函数 lambda匿名函数也叫一句话函数 func=lambda a,b=3:a+b print(func(2)) 得:5 接受一个可切片的数据,返回索引0和2的对应元素(元组形式) msg='baoli' ret=lambda msg: (msg[0],msg[2]) print(ret(ms 阅读全文
posted @ 2021-06-03 13:35 刘家小仙女 阅读(72) 评论(0) 推荐(0)
摘要:内置函数 python提供了68个内置函数 非常重要 min,max 凡是可以加key的,它会自动的将可迭代对象的每个元素按照顺序传入对应的函数中 li=[5,9,6,3,7] print(min(li)) print(max(li)) 得: 3 9 # 求绝对值的最小值 li=[11,-99,66 阅读全文
posted @ 2021-06-03 13:33 刘家小仙女 阅读(164) 评论(0) 推荐(0)
摘要:可迭代对象 可迭代对象(对象:python中一切皆对象,一个实实在在存在的值,对象。迭代:重复的,循环的一个过程,更新迭代每一次都有新的内容) 字面意思 可以进行循环更新的一个实实在在的值 专业角度 内部含有__iter__方法的对象,被成为可迭代对象 获取对象的所有方法并且以支付串的形式表示 di 阅读全文
posted @ 2021-06-03 13:31 刘家小仙女 阅读(95) 评论(0) 推荐(0)
摘要:高阶函数 内置函数 globals()全局的,返回的是字典:字典里面的键值:全局作用域所有的内容 locals()局部的,返回的是字典:字典里面的键值:局部作用域所有的内容 ***global 在局部作用域声明一个全局变量 count=20 def xiaoxiannv(): global coun 阅读全文
posted @ 2021-06-03 13:29 刘家小仙女 阅读(97) 评论(0) 推荐(0)
摘要:名称空间(命名空间) 全局名称空间,存放的是当前这个py文件变量的一些对应关系(a:2,func:函数地址) 临时命名空间是函数被调用时临时存放函数内部的变量的对应关系,当函数结束时临时命名空间也会消失。 内置名称空间 python源码给你提供的一些内置函数(print,input) python分 阅读全文
posted @ 2021-06-03 13:27 刘家小仙女 阅读(78) 评论(0) 推荐(0)
摘要:函数的参数 函数的参数:实参,形参 形参角度:位置参数、万能参数(*args)、默认参数、仅限关键字参数、万能参数( *kwargs) 实参角度:位置参数、关键字参数、混合参数 实参和形参必须从左至右一一对应,不能多或少 def count(a,b): #形参 if a>b: return a el 阅读全文
posted @ 2021-06-03 13:24 刘家小仙女 阅读(215) 评论(0) 推荐(0)
摘要:函数的初始 函数: 以功能(完成一件事)为导向,如:登录、注册、一个函数就是一个功能,随调随用。 函数可以减少代码的重复性。 增强了代码的可续性。 函数的结构与调用 函数的返回值 return 在函数中遇到return直接结束 将数据返回给函数的调用者 return返回多个元素,是以元组的形式返回给 阅读全文
posted @ 2021-06-03 13:21 刘家小仙女 阅读(60) 评论(0) 推荐(0)
摘要:While循环 what while无限循环 why 大气循环、吃饭、上课、睡觉 how 格式 while True: ​ 循环体 原理 先判断条件是否为True 条件为True进入循环体 执行在循环体的底部 继续判断条件是否成立,进入循环体 终止循环 改变条件 break(间断,循环中遇见brea 阅读全文
posted @ 2021-06-03 13:19 刘家小仙女 阅读(100) 评论(0) 推荐(0)
摘要:文件操作的改 以读的模式打开原文件 以写的模式创建一个新文件 将原文件的内容读出来修改成新内容,写入新文件 将原文件删除 将新文件重新命名为原文件 import os # 读取原文件,在新建一个文件 with open('简单',encoding='utf-8') as f1,\ #\是换行符 op 阅读全文
posted @ 2021-06-03 13:08 刘家小仙女 阅读(56) 评论(0) 推荐(0)
摘要:获取光标的位置tell() 获取光标的位置,单位是字节 s1=open('简单',mode='r',encoding='utf-8') coun2=s1.read() print(s1.tell()) s1.close() 调整光标的位置seek() s1=open('简单',mode='r',en 阅读全文
posted @ 2021-06-03 13:06 刘家小仙女 阅读(45) 评论(0) 推荐(0)
摘要:文件操作的追加(a,ab,a+,a+b) a,追加,没有文件,创建文件,追加内容 s1=open('简单',mode='a',encoding='utf-8') coun2=s1.write('wwwwwww') print(coun2) s1.close() a+ with open('简单',e 阅读全文
posted @ 2021-06-03 13:04 刘家小仙女 阅读(275) 评论(0) 推荐(0)
摘要:文件操作的写(w,wb,w+) w 没有文件,创建文件,写入内容 如果文件存在,先清空文件内容,在写入新内容 f1=open('你简单,世界就是童话',encoding='utf-8',mode='w') print(f1.write('当哭成为表演,就应当允许有人不哭!')) f1.close() 阅读全文
posted @ 2021-06-03 13:03 刘家小仙女 阅读(692) 评论(0) 推荐(0)
摘要:文件操作的读(r,rb,r+,r+b) r 操作的是文本文件 read() 全读,里面加参数可以控制读取的字符 t1=open(r'F:\123.txt',encoding='utf-8',mode='r') #加 r 防止字符转义 open打开 print(t1.read() ) #read()里 阅读全文
posted @ 2021-06-03 13:02 刘家小仙女 阅读(635) 评论(0) 推荐(0)
摘要:文件操作初识 操作: 打开文件 操作文件 关闭文件 利用python操作一个文件 文件路径:path 编码方式:utf-8,gbk等 打开方式:读,写,追加,读写,写读 等 t1=open(r'F:\a.txt',encoding='utf-8',mode='r') #加 r 防止字符转义 open 阅读全文
posted @ 2021-06-03 13:00 刘家小仙女 阅读(58) 评论(0) 推荐(0)
摘要:列表推导式 只适合用于构建比较复杂且有规律的列表,超过三层循环才能构建成功的,就不建议用列表推导式了 不能使用debug模式 循环模式:[变量 for 变量 in 可迭代对象] # 1-100之间的偶数写入列表 li=[i for i in range(2,101,2)] print(li) #打印 阅读全文
posted @ 2021-06-03 12:51 刘家小仙女 阅读(88) 评论(0) 推荐(0)
摘要:观察者模式 定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并被自动更新,观察者模式又称'发布订阅'模式。 角色:抽象主题,具体主题(发布者),抽象观察者,具体观察者(订阅者) 适用场景: 当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将两者 阅读全文
posted @ 2021-06-03 12:43 刘家小仙女 阅读(71) 评论(0) 推荐(0)
摘要:工厂模式 定义:不直接向客户暴露对象创建实现的细节,而是通过一个工厂类来负责创建产品类的实例 角色:抽象产品角色,具体产品角色,工厂角色 使用场景:工厂模式是创建型模式,它的作用是创建对象 优点:隐藏了对象创建产品的细节,客户段不需要修改代码 缺点:违反了单一职责原则,将创建逻辑集中到一个工厂里 c 阅读全文
posted @ 2021-06-03 12:41 刘家小仙女 阅读(79) 评论(0) 推荐(0)
摘要:单例模式 https://www.cnblogs.com/restartyang/articles/7770856.html 定义:保证一个类只有一个实例,并提供一个访问它的全局访问点 适用场景: 当一个类只有一个实例而客户可以从一个众所周知的访问点访问它时 频繁访问数据库或文件的对象。 需要频繁实 阅读全文
posted @ 2021-06-03 12:40 刘家小仙女 阅读(52) 评论(0) 推荐(0)
摘要:设计模式 设计模式的作用: 解决面向对象系统中重要和重复的设计封装在一起的一种代码实现框架,可以使代码更加易于扩展和调用 四个基本要素: 模式名称,问题,解决方案,效果 六大原则: 开闭原则: 一个软件实体(如类,模块,函数)要经行扩展开发,要在尽量不修改软件实体(源代码)的情况下经行扩展 里氏替换 阅读全文
posted @ 2021-06-03 12:37 刘家小仙女 阅读(56) 评论(0) 推荐(0)
摘要:运算符 算数运算符 +,- 比较运算符 >,<,== 赋值运算符=,+= 逻辑运算符not,and,or(优先级:not > and > or,同一优先级从左至右依次计算) # and or not # 1 在没有()的情况下,优先级:not > and > or,同一优先级从左至右依次计算 # 情 阅读全文
posted @ 2021-06-03 12:34 刘家小仙女 阅读(68) 评论(0) 推荐(0)
摘要:格式化输出 %s # 格式化输出 name = input('请输入你的姓名:') age = input('请输入你的年龄:') password = input('请输入你的密码:') msg=''' name=%s password=%s age=%s '''%(name,password,a 阅读全文
posted @ 2021-06-03 12:32 刘家小仙女 阅读(328) 评论(0) 推荐(0)
摘要:编码初识 https://www.zhihu.com/question/57461614 #此大神讲的更详细 不同的密码本之间不能互相识别,否则会乱码 数据在内存中全部是Unicode编码,但是数据用于网络传输或者存储到硬盘中,必须以非Unicode编码使用utf-8或gbk等。 8bit == 1 阅读全文
posted @ 2021-06-03 12:16 刘家小仙女 阅读(307) 评论(0) 推荐(0)
摘要:id id(相当于身份证号码) id是唯一的,但每次都会变化 相同可变类型的id每次都不同,相同不可变类型的id每次都相同 a=[1,2,3] b=[1,2,3] print(id(a)) print(id(b)) # 得 # 1364301406792 # 1364301406856 c='xia 阅读全文
posted @ 2021-06-03 11:00 刘家小仙女 阅读(334) 评论(0) 推荐(0)
摘要:赋值 python中,因为赋值“=”是直接引用地址。当采用赋值创建新的可变数据类型时,一旦更改其中的一个变量的值,另外一个变量也会随之改。 a=[1,2,3] b=a b[1]=4 print(id(a),a) print(id(b),b) 得: 2082164662856 [1, 4, 3] 20 阅读全文
posted @ 2021-06-03 10:40 刘家小仙女 阅读(83) 评论(0) 推荐(0)