摘要:起步 Python 提供的多线程模型中并没有提供读写锁,读写锁相对于单纯的互斥锁,适用性更高,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。 通俗点说就是当没有写锁时,就可以加读锁且任意线程可以同时加;而写锁只能有一个线程,且必须在没有读锁时才能加上。 简单的实现 impo
阅读全文
摘要:Python导出依赖包 1.导出当前环境的所有依赖包 pip freeze > requirements.txt 2.只导出当前项目依赖包 2.1 安装pipreqs: pip install pipreqs 2.2 进入当前项目目录下,导包: pipreqs ./ 导包完成会生成一个require
阅读全文
摘要:Python代码规范和命名规范 一、简明概述 1、编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头部必须加入#-*-coding:utf-8-*-标识 2、代码格式 2.1、缩进 统一使用 4 个空格进行缩进 2.2、行宽 每行代码尽量不超过 80 个字符(在特殊情况下可
阅读全文
摘要:一、字符编码 1.什么是字符? 字符是各种文字和符号的总称,包括各个国家文字、标点符号、图形符号、数字等。 2.什么是字符集? 字符集是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集有:ASCII字符集、ISO 8859字符集、GB2312字符集、BIG5字符集、GB180
阅读全文
摘要:ip与整型互转 先弄清楚大端和小端,网络字节序和主机字节序这些概念。 大端和小端的区别 大端模式(Big-endian):是指数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;大端模式
阅读全文
摘要:一、pip的安装 1.安装pip2 下载get-pip.py文件 wget https://bootstrap.pypa.io/pip/2.7/get-pip.py 运行 python get-pip.py # python2 get-pip.py 2.安装pip3 下载get-pip.py文件 w
阅读全文
摘要:GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。有名的编译器例如GCC,INTEL C++,Visual C++等。Python也一样,同
阅读全文
摘要:#1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) ) import re def check_text(text): #处理连续运算符 text = text.replace('++','+') text = text.replace('-+',...
阅读全文
摘要:map/reduce map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]
阅读全文
摘要:1.输出当前文件目录 >>> import os >>> os.getcwd() 输出:'C:\\Users\\Administrator' 3.内置的dir函数可以用它来获得模块内部的可用的变量名的字符串列表,其中包含了对象的所有属性。方法是函数属性,也会返回。 >>> dir(math) //返
阅读全文
摘要:一、变量、对象和引用的关系 1.变量 所有的变量必须在其使用前明确地赋值,使用未赋值的变量会产生错误,变量在赋值的时候才创建,它可以引用任何类型的对象。 >>> print(a) #变量a未明确赋值,产生错误 Traceback (most recent call last): File "<std
阅读全文