- 军军小站|张军博客
搜索到与相关的文章
Python

如何编写快速且线程安全的Python代码

概述如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。GIL概览有如下代码:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/这行代码位于Python2.7源码ceval.c

系统 2019-09-27 17:52:39 1882

Python

Python 命令行之旅:使用 argparse 实现 git 命令

作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认

系统 2019-09-27 17:52:35 1882

Python

python文件处理

文件操作对编程语言的重要性不用多说,如果数据不能持久保存,信息技术也就失去了意义。按照本人经验,IO也是蛮头疼的一件事,因为不会用得太多,所以总是记不住API,每次都要重新google就会打断思路,还不一定每次都快速得到正确的文章。本文内容包括:文件的读写操作文件的各种系统操作存储对象遍历文件上代码:importosimportos.pathrootdir="d:/code/su/data"#指明被遍历的文件夹forparent,dirnames,file

系统 2019-09-27 17:52:30 1882

Python

Python集训营45天—Day03 (分支和循环)

目录1.分支结构1.1初步介绍1.2使用案例1.3练习2.循环结构1.1初步介绍1.2使用案例1.分支结构1.1初步介绍至今,我们所写的Python代码都是顺序执行,但是有时候在代码中是需要进行逻辑判断的,比如用户输入用户名和密码,输入正确则验证通过,否则即验证失败。这个时候就会产生两个分支,而且两个分支只会有一条分支会走下去。当然,还有很多类似的场景,我们将这种结果称为"分支结构"或“选择结构”。语法格式:ifxxx1:事情1elifxxx2:事情2el

系统 2019-09-27 17:51:46 1882

Python

python获取未来和过去的时间

获取现在的时间用方法datetime.datetime.now().strftime('%F%T'),获取未来或者过去的时间可以用如下方法:#-*-coding:utf-8-*-importdatetimeif__name__=='__main__':print(datetime.datetime.now().strftime('%F%T'))print((datetime.datetime.now()-datetime.timedelta(days=1)

系统 2019-09-27 17:51:23 1882

Python

【python】-----------------《外星人入侵》实现

基本功能是有一架飞机,可以通过键盘控制使其左右移动,并且喷射子弹。在飞机上方有一群外星人,也在左右移动着,被子弹击中的外星人消失。效果图如下:设计思路:1)Ship类,Bullet类,Alien类分别表示飞船,子弹,外星人的基本信息,例如飞机和外星人图像存储位置,生成子弹的位置。ship.pyimportpygameclassShip():"""docstringforship"""def__init__(self,ai_settings,screen):

系统 2019-09-27 17:51:16 1882

Python

Python并发编程03/僵尸孤儿进程,互斥锁,进程之间的通信

目录Python并发编程03/僵尸孤儿进程,互斥锁,进程之间的通信1.昨日回顾2.僵尸进程和孤儿进程2.1僵尸进程2.2孤儿进程2.3僵尸进程如何解决?3.互斥锁,锁3.1互斥锁的应用3.2Lock与join的区别4.进程之间的通信进程在内存级别是隔离的4.1基于文件通信(抢票系统)4.2基于队列通信Python并发编程03/僵尸孤儿进程,互斥锁,进程之间的通信1.昨日回顾1.创建进程的两种方式:函数,类.2.pid:os.getpid()os.getpp

系统 2019-09-27 17:50:57 1882

Python

基本图像操作和处理(python)

PIL提供了通用的图像处理功能,以及大量的基本图像操作,如图像缩放、裁剪、旋转、颜色转换等。Matplotlib提供了强大的绘图功能,其下的pylab/pyplot接口包含很多方便用户创建图像的函数。为了观察和进一步处理图像数据,首先需要加载图像文件,并且为了查看图像数据,我们需要将其绘制出来。fromPILimportImageimportmatplotlib.pyplotaspltimportnumpyasnp#加载图像img=Image.open("

系统 2019-09-27 17:50:40 1882

Python

Python初学者自学----输入输出

自我学习记录:如有问题,请帮助指正,勿喷。输出:用print()在括号中加上字符串,就可以向屏幕上输出指定的文字根据惯例第一个程序:Hello,word,第一理解的应该是print(hello,word)意外发生了这个报错翻译了一下‘标识符中的无效字符’没看懂自我理解就是把字符串加到‘’里面去。看一下效果有输出那对应的肯定有输入了input(),可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字name=input()嗯确实多了输入的窗口,但没有

系统 2019-09-27 17:49:16 1882

Python

python初始化定长列表

>>>lst=['x'forninrange(5)]>>>print(lst)['x','x','x','x','x']>>>lst=['z']*5>>>print(lst)['z','z','z','z','z']>>>lst=[0]*3>>>print(lst)[0,0,0]

系统 2019-09-27 17:48:48 1882