- 博客(116)
- 资源 (2)
- 收藏
- 关注
原创 Python之Socket模块
socket通过网络完成进程间通信的方式socket是应用层和传输层之间的桥梁创建Socket:import socket#导入套接字模块s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#s此时是一个socket对象,拥有发送和接收网络数据的功能该函数带有两个参数(参数必须写)AF_INET(ipv4协议⽤于 Inter...
2019-11-30 23:35:11 284
原创 Python之网络基础
IP地址私有IP:本地局域网上的IP,专门为组织机构内部使用10.0.0.0~10.255.255.255172.16.0.0~172.31.255.255192.168.0.0~192.168.255.255公有IP:全球访问IP地址127. 0. 0. 1~127. 255. 255. 255⽤于回路测试子网掩码⼦⽹掩码是用来区分网络号和主机号。端口号端口号用来标记区分进程...
2019-11-30 22:36:21 125
原创 Python之线程同步和异步
同步调用:确定调用的顺序异步调用:不确定顺序堵塞和非堵塞# 线程同步,多个线程按照顺序执行import threadingimport timeclass Test01(threading.Thread): def run(self): while True: if max01.acquire(): ...
2019-11-28 16:24:38 591
原创 Python之死锁
线程同步(死锁)死锁(错误情况,理解即可)在线程间共享多个资源的时候, 如果两个线程分别占有⼀部分资源并且同时等待对⽅的资源, 就会造成死锁 。⼊到了死锁状态, 可以使⽤ctrl-z退出 。import threading, timedef run01(): if maxA.acquire(): print('111') time.sleep(1...
2019-11-28 16:00:25 241
原创 Python之互斥锁
当多个线程⼏乎同时修改某⼀个共享数据的时候, 需要进⾏同步控制 。线程同步能够保证多个线程安全访问竞争资源, 最简单的同步机制是引⼊互斥锁 ‘互斥锁互斥锁保证了每次只有⼀个线程进⾏写⼊操作,从⽽保证了多线程情况下数据的正确性(原子性)。互斥锁为资源引入一个状态:锁定/非锁定。某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放资源,将资源的状态...
2019-11-28 15:45:14 212
原创 Python之线程共享全局变量
在⼀个进程内的所有线程共享全局变量, 多线程之间的数据共享(这点要⽐多进程要好)缺点就是, 可能造成多个线程同时修改一个变量(即线程⾮安全),可能造成混乱。# 线程共享全局变量测试import threading, timenum = 100def run01(): global num for i in range(3): num += 1 ...
2019-11-28 15:36:04 364
原创 Python之线程的五种状态
多线程程序的执⾏顺序是不确定的(操作系统决定)。当执⾏到sleep语句时, 线程将被阻塞(Blocked) ,到sleep结束后, 线程进⼊就绪(Runnable) 状态, 等待调度。⽽线程调度将⾃⾏选择⼀个线程执⾏。代码中只能保证每个线程都运⾏完整个run函数,但是线程的启动顺序、run函数中每次循环的执⾏顺序都不能确定 。1、新状态:线程对象已经创建,还没有在其上调用start(...
2019-11-28 15:22:15 2176
原创 Python之多线程
线程:实现多任务的另一种方式一个进程中,也经常需要同时做多件事,就需要同时运行多个‘子任务’,这些子任务,就是线程线程又被称为轻量级进程(lightweight process),是更小的执行单元一个进程可拥有多个并行的(concurrent)线程,当中每一个线程,共享当前进程的资源一个进程中的线程共享相同的内存单元/内存地址空间可以访问相同的变量和对象,而且它们从同一堆中分配对象通信、...
2019-11-25 21:15:23 105
原创 Python之进程池通信
进程池创建的进程之间通信:如果要使⽤Pool创建进程, 就需要使⽤multiprocessing.Manager()中的Queue()⽽不是multiprocessing.Queue()否则会得到⼀条如下的错误信息:RuntimeError: Queue objects should only be shared between processesthrough inheritance....
2019-11-25 20:09:16 265
原创 Python之多进程间通信
多进程之间,默认是不共享数据通过Queue(队列Q)可以实现进程间的数据传递Q本身是一个消息队列from multiprocessing import Queueq = Queue(3)q.put('消息01')q.put('消息02')q.put('消息03')print(q.full())》》》Ture可以使⽤multiprocessing模块的Queue实现多进...
2019-11-25 20:02:08 205 1
原创 python之创建多进程方式—进程池
进程池:用来创建多个进程当需要创建的⼦进程数量不多时, 可以直接利⽤multiprocessing中的Process动态生成多个进程, 但如果是上百甚⾄上千个⽬标, ⼿动的去创建进程的⼯作量巨⼤, 此时就可以⽤到multiprocessing模块提供的Pool。初始化Pool时, 可以指定⼀个最⼤进程数, 当有新的请求提交到Pool中时,如果池还没有满, 那么就会创建⼀个新的进程⽤来执⾏该请求...
2019-11-24 20:46:35 698
原创 Python之创建多进程方式
创建新的进程还能够使⽤类的⽅式, 可以⾃定义⼀个类, 继承Process类每次实例化这个类的时候, 就等同于实例化⼀个进程对象import multiprocessingimport timeclass classProcess(multiprocessing.Process): def run(self): n = 5 while n >...
2019-11-24 20:34:47 430
原创 python之多进程数据独立
全局变量在多个进程中不共享进程之间的数据是独立的,默认情况下互不影响from multiprocessing import Processnum = 3def run01(): global num num += 5 print('01子进程运行中,num值为:%d' % num)def run02(): global num num +...
2019-11-24 20:26:29 443 1
原创 Python之Process类
Process(target , name , args)参数介绍—target表示调用对象,即子进程要执行的任务—args表示调用对象的位置参数元组,args=(1,)—name为子进程的名称Process类常⽤⽅法p.start():启动进程,并调用该子进程中的p.run()p.run():进程启动时运行的方法,正是它去调用target指定的函数,我们自定义类的类中一定要实现该方...
2019-11-24 20:16:24 509
原创 Python之__name__说明
if name == “main”:说明:一个python的文件有两种使用的方法,第一是直接作为程序执行,第二是import到其他的python程序中被调用(模块重用)执行。因此if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,name 是内置变量,用于表示当前模块的名字在if name == ‘main’: 下的代码只有在文件作为程序直接执行才会被执行,而imp...
2019-11-24 20:09:21 297
原创 Python之进程
程序:是一个指令的集合进程:正在执行的程序或者说:当运行一个程序,就启动了一个进程编写完的代码,没有运行时,称为程序正在运行的代码,称为进程程序是死的(静态的),进程是活的(动态的)操作系统轮流让各个任务交替执⾏由于CPU的执⾏速度实在是太快了, 就感觉就像所有任务都在同时执⾏⼀样多进程中, 每个进程中所有数据(包括全局变量) 都各有拥有⼀份, 互不影响程序开始运行时,首先会创建...
2019-11-24 00:16:59 91
原创 python之让子弹消失
"""新增功能: 优化: 1、如果子弹碰到墙壁,让子弹消失 2、最多可以发射3颗,不能一直发射"""import pygameimport timeimport randomwin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)text_color = pygame.Color(25...
2019-11-21 22:11:13 591
原创 python之子弹移动
"""新增功能: 完成我方坦克发射子弹的移动"""import pygameimport timeimport randomwin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)text_color = pygame.Color(255, 0, 0)class MainGame(): ...
2019-11-21 22:10:05 458
原创 python之我方坦克发射子弹
"""新增功能: 完成我方坦克发射子弹"""import pygameimport timeimport randomwin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)text_color = pygame.Color(255, 0, 0)class MainGame(): win...
2019-11-21 22:09:07 393
原创 python之子弹类
"""新增功能: 完善子弹类"""import pygameimport timeimport randomwin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)text_color = pygame.Color(255, 0, 0)class MainGame(): window =...
2019-11-21 22:08:21 397
原创 python之敌方坦克随机移动
"""新增功能: 1、优化左上角文字的显示,将敌方坦克的数量进行修改 2、敌方坦克随机移动 思路:新增一个变量步数,当移动时候步数进行递减 当步数<=0,修改敌方坦克的方向 当步数=0,重置步数"""import pygameimport timeimport randomwin_width = 700win_...
2019-11-21 22:07:34 1023
原创 python之敌方坦克展示
"""新增功能: 1、敌方坦克初始化方法 2、创建敌方坦克并展示"""import pygameimport timeimport randomwin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)text_color = pygame.Color(255, 0, 0)class Ma...
2019-11-21 22:06:27 390
原创 python之坦克持续移动
"""新增功能: 优化:按下键持续移动,松开键,停止移动。"""import pygameimport timewin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)text_color = pygame.Color(255, 0, 0)class MainGame(): window ...
2019-11-21 22:05:19 473 1
原创 python之坦克移动出墙处理
"""新增功能: 优化我方坦克移动出墙"""import pygamewin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)text_color = pygame.Color(255, 0, 0)class MainGame(): window = None my_tank = N...
2019-11-21 22:04:19 192
原创 python之坦克切换方向以及移动
"""新增功能: 我方坦克切换方向 我方坦克移动"""import pygamewin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)text_color = pygame.Color(255, 0, 0)class MainGame(): window = None my...
2019-11-21 22:02:55 602
原创 python之加载我方坦克
"""新增功能: 加载我方坦克"""import pygamewin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)text_color = pygame.Color(255, 0, 0)class MainGame(): window = None my_tank = None...
2019-11-21 22:01:28 286
原创 python之左上角文字的绘制
# coding=utf-8"""新增功能: 左上角文字的绘制 显示当前敌方坦克的数量"""import pygamewin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)text_color = pygame.Color(255, 0, 0)class MainGame(): ...
2019-11-20 22:48:22 1758
原创 python之添加事件
"""新增功能:添加事件1、点击关闭 关闭窗口2、按下键盘时候,判断键盘键位,对不同键位做处理"""import pygamewin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)class MainGame(): def __init__(self): pass # ...
2019-11-20 21:34:08 603
原创 python之加载主窗口
"""新增功能:加载主窗口pygame官网:www.pygame.org"""import pygamewin_width = 700win_height = 500bg_color = pygame.Color(0, 0, 0)class MainGame(): def __init__(self): pass # 开始游戏 def...
2019-11-20 21:21:06 261
原创 python之了解需求以及构建框架
"""坦克大战游戏的需求1.项目中有哪些类2.每个类中有哪些方法1.坦克类(我方坦克、敌方坦克):射击、移动类、显示坦克的方法2.子弹类:移动、显示子弹的方法3.墙壁类:属性:是否可以通过4.爆炸效果类:展示爆炸效果5.音效类:播放音乐6.主类:开始游戏,结束游戏"""class MainGame(): def __init__(self): p...
2019-11-20 21:07:16 70
原创 python之文件对话框
文件对话框帮助我们实现可视化的操作目录、操作文件。最后,将文件、目录的信息传入到程序。对话框包含如下一些常用函数askopenfilename(**options) 文件对话框返回打开的文件名 askopenfilenames(**options) 文件对话框返回打开的多个文件名列表 askopenfile(**options) 文件对话框返回打开文件对象 askopenfile...
2019-11-19 20:53:16 716
原创 python之颜色选择框
颜色选择框可以帮助我们设置背景色、前景色、画笔颜色、字体颜色等等。# coding=utf-8"""测试颜色选择框"""from tkinter import *from tkinter.colorchooser import *root = Tk()root.geometry('400x300')def test01(): a1 = askcolor(color...
2019-11-19 16:33:47 1335
原创 python之Scale移动滑块
Scale(移动滑块)用于在指定的数值区间通过滑块的移动来选择值。# coding=utf-8"""测试Scale(移动滑块)用于在指定的数值区间,通过滑块的移动来选择值。"""from tkinter import *root = Tk()root.geometry('400x300')def test01(value): print('滑块的值:', val...
2019-11-19 10:31:27 1039
原创 python之 OptionMenu选择项
OptionMenu(选择项)用来做多选一选中的项在顶部显示。# coding=utf-8"""测试OptionMenu(选择项)用来做多选一,选中的项在顶部显"""from tkinter import *from tkinter import messageboxroot = Tk()root.geometry("200x200")v1 = StringVar(ro...
2019-11-19 10:09:04 1266
原创 python之多种事件绑定方式汇总
·组件对象的绑定 1. 通过 command 属性绑定(适合简单不需获取 event 对象) Button(root,text=”登录”,command=login) 2. 通过 bind()方法绑定(适合需要获取 event 对象) c1 = Canvas(); c1.bind(“<Button-1>”,drawLine)·组件类的绑定 调用对象的 bind_class ...
2019-11-18 23:04:10 2477
原创 python之lambd 表达式详解
lambda 表达式定义的是一个匿名函数,只适合简单输入参数简单计算返回结果,不适合功能复杂情况。lambda 表达式的参数值列表lambda x, y: x*y 函数输入是 x 和 y,输出是它们的积 x*ylambda:None 函数没有输入参数,输出是 None lambda:aaa(3,4) 函数没有输入参数,输出是 aaa(3,4)的结果lambda *args: sum(a...
2019-11-18 22:36:57 555
原创 python之事件处理
一个 GUI 应用整个生命周期都处在一个消息循环 (event loop) 中。它等待事件的发生,并作出相应的处理。Tkinter 提供了用以处理相关事件的机制处理函数可被绑定给各个控件的各种事件。widget.bind(event, handler)如果相关事件发生,handler 函数会被触发,事件对象 event 会传递给 handler 函数。鼠标和键盘事件<But...
2019-11-18 22:11:58 1348
原创 python之place布局管理器
place 布局管理器可以通过坐标精确控制组件的位置适用于一些布局更加灵活的场景。place()方法的选项x,y 组件左上角的绝对 坐标(相对于窗口)非负整数 x 和 y 选项用于设置偏移(像素),如果同时设置 relx(rely) 和 x(y),那么 place 将优先计算 relx 和 rely,然后再实现 x 和 y 指定的偏移值relx rely组件左上角的坐标 (相对于父...
2019-11-18 21:40:28 4420 1
原创 python之pack布局管理器
pack 按照组件的创建顺序将子组件添加到父组件中按照垂直或者水平的方向自然排布。如果不指定任何选项,默认在父组件中自顶向下垂直添加组件。pack 是代码量最少,最简单的一种,可以用于快速生成界面。pack()方法提供的选项expand当值为“yes”时,side 选项无效。组件显示在父配 件中心位置;若 fill 选项为”both”,则填充父组件 的剩余空间“yes”, 自然数,”...
2019-11-18 21:32:06 1380
原创 python之grid 布局管理器
布局管理器tkinter 提供了三种 管理器:pack、grid、place。grid 布局管理器grid 表格布局,采用表格结构组织组件。column 单元格的列号 从 0 开始的正整数 columnspan 跨列,跨越的列数 正整数 row 单元格的行号 从 0 开始的正整数 rowspan 跨行,跨越的行数 正整数 ipadx, ipady 设置子组件之间的间隔,x 方向或者...
2019-11-18 21:24:47 1152
FFmpeg+nginx.rar
2020-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人