♚作者:weapon,闲来笑浮生悬笔一卷入毫端,朱绂临身可与言者不过二三。博客:zhihu.com/people/hong-wei-peng起步Python提供的多线程模型中并没有提供读写锁,读写锁相对于单纯的互斥锁,适用性更高,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。通俗点说就是当没有写锁时,就可以加读锁且任意线程可以同时加;而写锁只能有一个线程,且必须在没有读锁时才能加上。简单的实现这是读写锁的一个简单的实现,self.
系统 2019-09-27 17:56:19 1858
一点睛Python项目打包需要安装PyInstaller模块。二打包1CMD命令进入命令行2在命令行执行如下语句:pyinstaller-FE:\Python\studentsystem\studentsystem.py其中-F表示只生成一个扩展名为.exe的可执行文件。执行结果如下:(venv)E:\Python\studentsystem>pyinstaller-FE:\Python\studentsystem\studentsystem.py354I
系统 2019-09-27 17:55:33 1858
一、*args的使用方法*args用来将参数打包成tuple给函数体调用defargs_test(x,y,*args):print(x,y,args)args_test(1,2,3,4,5)12(3,4,5)二、**kwargs的使用方法**kwargs打包关键字参数成dict给函数体调用defkwargs_test(**kwargs):print(kwargs)kwargs_test(a=1,b=2,c=3){'a':1,'c':3,'b':2}三.参数
系统 2019-09-27 17:54:08 1858
计算机为数组分配一段连续的内存,从而支持对数组随机访问;由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。数组的基本地址就是数组的第一项的机器地址。一个项的偏移地址就等于它的索引乘以数组的一个项所需要的内存单元数目的一个常量表示(在python中,这个值总是1)importarray#array模块是python中实现的一种高效的数组存储类型。它和list相似,但是所有的数组成员必须是同一种类型,
系统 2019-09-27 17:53:12 1858
12.36Django的路由系统基本格式:fromdjango.conf.urlsimporturlurlpatterns=[url(正则表达式,views视图函数,参数,别名),]正则表达式:一个正则表达式字符串views视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串参数:可选的要传递给视图函数的默认参数(字典形式)别名:一个可选的name参数12.361路由正则表达式fromdjango.conf.urlsimportur
系统 2019-09-27 17:53:05 1858
之前在GitHub有趣分享:Thanos(灭霸命令)中分享了有趣的“灭霸命令”,本博文使用Python+PyQt5实现灭霸响指,实现过程较简单,上效果图~GUI实现代码如下:#-*-coding:utf-8-*-fromPyQt5importQtCore,QtGui,QtWidgetsclassUi_MainWindow(object):defsetupUi(self,MainWindow):MainWindow.setObjectName("MainWi
系统 2019-09-27 17:52:47 1858
一、文件的打开和创建1、打开复制代码代码如下:open(file,mode):>>>fo=open('test.txt','r')>>>fo.read()'hello\n'>>>fo.close()file(file,mode):>>>f=file('test.txt','r')>>>f.read()'hello\n'>>>f.close()mode可取值:2、创建用w/w+/a/a+模式打开即可。二、文件的读取1、String=FileObject.re
系统 2019-09-27 17:52:20 1858
今天来说说编程语言中的动态类型语言与鸭子类型。动态语言维基百科对动态语言的定义:动态编程语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力如PHP、Ruby、Python都属于动态语言,而C、C++、Java等语言则不属于动态语言。这个解释很抽象,其实动态语言是相对静态语言而言的,静态语言的特点是在程序执行前,代码编译时从代码中就可以知道一切,比如变量的类型,方
系统 2019-09-27 17:52:19 1858
http.cookiejar前面讲到的cookie的使用,我们首先使用的是浏览器登陆之后,将中间的cookie取出来,之后将其应用到代码中,实现代码请求的功能,但是显然这样并不是非常的完美,如果代码能够自动的获取到cookie并完成后续的工作会更加的完美对于这个http.cookiejar,该模块主要的类有CookieJar、FileCookieJar、MozillaCookieJar、LWPCookieJar。对于这四类的作用非别如下:1、CookieJ
系统 2019-09-27 17:50:59 1858
前言生成器是Python初级开发者最难理解的概念之一,虽被认为是Python编程中的高级技能,但在各种项目中可以随处见到生成器的身影,你得不得去理解它、使用它、甚至爱上它。提到生成器,总不可避免地要把迭代器拉出来对比着讲,生成器就是一个在行为上和迭代器非常类似的对象,如果把迭代器比作Android系统,那么生成器就是iOS,二者功能上差不多,但是生成器更优雅。什么是迭代器顾名思义,迭代器就是用于迭代操作(for循环)的对象,它像列表一样可以迭代获取其中的每
系统 2019-09-27 17:50:50 1858