在基础知识部分的最后一章《第十三章Python基础篇结束章》的《第13.3节图形界面开发tkinter》简单介绍了Python内置图形界面标准库tkinter,当时特别强调tkinter没有图形开发的设计界面,使用复杂,且存在功能问题不推荐使用,将学习朋友推荐的PyQt。本章正式进入PyQt相关内容的学习,注意PyQt是GPL软件(GPL是GNUGeneralPublicLicense的缩写,是GNU通用公共授权非正式的中文翻译),不适合用于商用开发。但P
系统 2019-09-27 17:50:44 1798
#生成等差数列#一般的赋值需要通过for函数r1_10=range(1,10,1)foriinr1_10:print(i)importnumpynumpy.arange(2,10,3)r=numpy.arange(2,10,3)#向量化运算r+rr-rr*rr/r#函数的向量化次方运算numpy.power(r,3)#向量化运算,比较运算r>=5#结合过滤运算r[r>=5]#矩阵运算,r乘以r的转置numpy.dot(r,r.T)#向量化的数据框运算fro
系统 2019-09-27 17:50:35 1798
python项目如何在另一个环境上重新构建项目所需要的运行环境依赖包?使用的时候边记载是个很麻烦的事情,总会出现遗漏的包的问题,这个时候手动安装也很麻烦,不能确定代码报错的需要安装的包是什么版本。这些问题,requirements.txt都可以解决!生成requirements.txt,有两种方式:第一种适用于单虚拟环境的情况::pipfreeze>requirements.txt为什么只适用于单虚拟环境?因为这种方式,会将环境中的依赖包全都加入,如果使用
系统 2019-09-27 17:50:13 1798
在学习飞机大战(我也不知道为什么都拿这个练手),飞机左右控制都是按键按一次移动一次,不能按住一个键后持续移动,离开后停止移动。为了解决这个,查看了参考手册,说让用pygame.key.set_repeat()方法,奈何我刚开始学也看不太明白,只能看懂一些。并且看别人的代码也比较费劲,毕竟不是自己的逻辑,得看一会儿,最后还是自己想了一个办法,用flag标签:大体思路是这样的,比如向左持续移动,先在hero定一个属性标签设置布尔值为False,然后定义移动方法
系统 2019-09-27 17:50:11 1798
一、操作系统中相关进程的知识Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的I
系统 2019-09-27 17:50:08 1798
一、往文件中写入数据往TXT文件写入的时候报错'gbk'codeccan'tencodecharacter'\xXX'inpositionXX打开文件时,增加一个选项:defwirteFile(content):path=os.getcwd()a_path=os.path.join(path,"content.txt")f=open(a_path,"w+",encoding="utf-8")f.write(content)f.close()open()中添
系统 2019-09-27 17:49:29 1798
1.遍历一个文件夹apks='C:\\xxx'filenames=os.listdir(apks)forfilenameinfilesnames:#此处遍历出来的非完整路径,只是文件名字do_something(apks+"\\"+filename)#绝对路径需要拼接处理2.判断一个文件或文件夹是否存在importosos.path.exists(test_file.txt)3.string转dict,dict转string#string转dict,使用e
系统 2019-09-27 17:48:45 1798
python可以方便地支持多线程。可以快速创建线程、互斥锁、信号量等等元素,支持线程读写同步互斥。美中不足的是,python的运行在python虚拟机上,创建的多线程可能是虚拟的线程,需要由python虚拟机来轮询调度,这大大降低了python多线程的可用性。我们经今天用了经典的生产者和消费者的问题来说明下python的多线程的运用上代码:#encoding=utf-8importthreadingimportrandomimporttimefromQue
系统 2019-09-27 17:48:36 1798
最近被多线程给坑了下,没意识到类变量在多线程下是共享的,还有一个就是没意识到内存释放问题,导致越累越大1.python类变量在多线程情况下的是共享的2.python类变量在多线程情况下的释放是不完全的3.python类变量在多线程情况下没释放的那部分内存是可以重复利用的importthreadingimporttimeclassTest:cache={}@classmethoddefget_value(self,key):value=Test.cache.
系统 2019-09-27 17:48:22 1798
Python迭代器与生成器实例详解一、如何实现可迭代对象和迭代器对象1.由可迭代对象得到迭代器对象例如l就是可迭代对象,iter(l)是迭代器对象In[1]:l=[1,2,3,4]In[2]:l.__iter__Out[2]:In[3]:t=iter(l)In[4]:t.next()Out[4]:1In[5]:t.next()Out[5]:2In[6]:t.next()Out[6]:3In[7]:t.next()Out[7]:4In[8]:t.next()
系统 2019-09-27 17:48:18 1798