python
文章平均质量分 67
yygr
这个作者很懒,什么都没留下…
展开
-
python的set里面可以存放list吗?
实际上,只要对象是可散列的,那么就能够添加该对象。考虑到Python通过是否实现__hash__去判断一个对象是否是。的,因此只要实现了__hash__方法,该类的对象就是可散列的,也就可以添加到set内。实验结果也支持了这一论述。可以看到set内正常添加了一个list,并且还可以改变该list的元素。正常来说,肯定是不可以在set里存放list的,set内的元素需要能。,即实现了__hash__方法。转载 2024-02-29 21:58:25 · 95 阅读 · 0 评论 -
如何使用python高效而优雅地处理大数据?
ndarray加入你的训练数据很大,需要流处理(训练),直接使用等模块加载,他们封装好了并行流处理过程。else:p.start()p.join()return arr这基本上是worker_numX 倍的加速。转载 2024-02-22 09:57:36 · 37 阅读 · 0 评论 -
python-socket、websocket协议相关知识
在Python中,socket和socketserver是两个用于网络编程的库。socketserver库是基于socket库的一个扩展库,它提供了更高级的网络通信功能,如多线程、异步I/O等。它主要用于实现高性能的网络服务器。WebSocket协议是一种基于TCP的网络通信协议,它允许在客户端和服务器之间进行全双工通信。在Python中,websocket和websockets是两个用于实现WebSocket协议的库。它提供了一个简单的接口,可以方便地创建TCP和UDP服务器,支持多线程处理客户端连接。转载 2024-02-20 09:47:36 · 68 阅读 · 0 评论 -
Python计算大文件行数方法及性能比较
如何使用Python快速高效地统计出大文件的总行数, 下面是一些实现方法和性能的比较。转载 2024-01-30 15:08:10 · 164 阅读 · 0 评论 -
Python源码下载和目录简介
除此以外,此目录还包含了一些有用的工具,这些工具能够根据 Python 语言的语法自动生成 Python 语言的词法和语法分析器,与 YACC 非常类似。(2)滑到最下面,会有如下操作系统版本下载,前两个就是源码包(分别为gz和xz的压缩包),下载第一个Gzipped source tarball(直接点击第一个的名字即可下载)。:包含了 Python 提供的所有头文件,如果用户需要自己用 C 或 C++来编写自定义模块扩展 Python,那么就需要用到这里提供的头文件。Python源码下载和目录简介。转载 2023-09-19 07:21:00 · 367 阅读 · 0 评论 -
Python项目依赖项管理工具requirements.txt
install_requires(即setup.py)定义了单个项目的依赖关系,而requirements.txt通常用于定义完整Python环境。如何选择?转载 2023-08-28 16:27:13 · 272 阅读 · 0 评论 -
python 怎么将输出到屏幕的所有打印记录在logging日志中?
这种方法可以让你将所有输出到屏幕的打印记录在日志中,但是请注意,这也意味着你将无法在交互式会话中看到输出,除非你查看日志文件。如果你仍然希望在控制台看到输出,你可以在。模块提供了一个灵活的框架用于发出日志消息,我们可以将 Python 程序中的所有输出都重定向到这个框架,从而记录在日志中。为了实现这一点,你可以定义一个类,这个类的实例将会模拟文件对象(就像。然后,我们创建了这个类的两个实例,一个用于记录标准输出(语句和引发一个异常来测试这个设置。在这个代码中,我们首先定义了一个。),一个用于记录错误输出(转载 2023-08-28 09:21:03 · 297 阅读 · 0 评论 -
终端直接执行py文件,不需要python命令
不然直接./*.py这个文件不是命令,会出现./*.py not found的错误。有些linux版本上运行即使上面注释写了依然要用python在前面加上python作为命令。/usr/bin/env python(或者是 #!/usr/bin/python)方法(2)chmod 755 ./*.py (777也无所谓啦)这个命令不去调整,会出现permission denied的错误。方法(1)chmod +x ./*.py。在前面的chmod之后,直接双击执行即可。如果是有图形界面的脚本。转载 2023-06-14 10:11:24 · 757 阅读 · 0 评论 -
怎么安装python中egg包
还有一些描述性的属性,如description,long_description,author,author_email,license,keywords,platform,url等。以python2.6版本为例,egg文件一般安装在/usr/local/lib/python2.6/dist-packages/目录下,该目录下还有一个easy-install.pth文件,用于存放安装的egg信息。name name是egg包的名称,也是寻找要打包的文件夹的名称,默认是UNKNOWN。转载 2023-06-07 22:24:06 · 1732 阅读 · 0 评论 -
python xxx.py和python -m xxx.py有什么区别
这个时候,到底是使用直接启动,还是以模块的启动?目的就是把import的那个模块的路径放到sys.path中。你需要注意:在启动的时候需要考虑sys.path中有没有你import的模块的路径!不同的加载py文件的方式,主要是影响——sys.path 这个属性。模块启动是把你输入命令的目录(也就是当前路径),放到了sys.path属性中***下面有两个例子,通过不同方式启动同一文件,sys.path属性的值有何不同。直接启动是把run.py文件,所在的目录放到了sys.path属性中。转载 2023-06-07 14:49:40 · 283 阅读 · 0 评论 -
python 第一行 #!/usr/bin/python 详解
usr/bin/env python 这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。有这句的,加上执行权限后,可以直接用 ./ 执行,不然会出错,因为找不到 python 解释器。是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器。/usr/bin/python 指定解释器的路径。转载 2023-04-10 14:57:31 · 1449 阅读 · 0 评论 -
pandas删除重复数据
【代码】pandas删除重复数据。转载 2023-03-29 18:11:55 · 1747 阅读 · 0 评论 -
float类型为什么有6位有效数字
float的尾数位是23bit,最大能表示数为8388608,而超过8388608的7位整数,如9999999,它表示不了,这就决定他的有效位数不能是7位,但又大于6位,故说法为6~7位。23位“尾数”位能表示的十进制数2^23=8388608,一共7位十进制数,这意味着最多能有7位有效数字,但是能绝对能保证的为6位,也即float的精度为6~7位。种类-------符号位-------------指数位----------------尾数位----它们的构成包括符号位、指数位和尾数位。转载 2023-03-29 18:09:03 · 434 阅读 · 0 评论 -
关于python浮点数round函数四舍五入的问题
公司产品准备做推广。推出了满减优惠卷功能,这里的优惠卷金额分为固定金额优惠和折扣优惠。现在着重说一下的,就是折扣优惠计算的时候出现了浮点数精度问题,导致四舍五入出现差异。数据库中的金额字段一般是选择整数类型,然后以分为单位,如果是固定折扣的加减是不会涉及到浮点数的,而当碰到折扣时候,就会出现浮点数精度的问题,转载 2023-03-29 18:10:48 · 586 阅读 · 0 评论 -
python Decimal().quantize() ——十进制定点和浮点运算
【代码】python Decimal().quantize() ——十进制定点和浮点运算。转载 2023-03-27 11:22:55 · 1202 阅读 · 0 评论 -
论:为什么浮点数的运算会有误差
例如float可以保留十进制最多7位(二进制23位)有效数字,double 可以保留十进制15~16位(二进制52位)有效数字。例如 十进制的0.9虽然只有一位小数,转成2进制是无限循环小数0.1110011001100110011...由于计算机内部以二进制保存,所以十进制的有限位的小数,在计算机内部会是一个无限位的小数。例如上面的0.9的表示受精度所限,精度以后的就被忽略了,这样。double时,它是0.90000000000000002。float时,它是0.89999998。转载 2023-03-27 11:14:58 · 584 阅读 · 0 评论 -
浮点型的有效位和存储方式
C++中有单精度浮点型float和双精度浮点型double,那么它们的有效位和存储方式分别是什么样的呢?float的有效数字是7位,这个7意思是整数位加小数位共七位;double的有效数字是16位,这个16意思是整数位加小数位共十六位。C和C++中浮点型存储方式遵循IEEE 754标准(IEEE Standard for Floating-Point Arithmetic)。转载 2023-03-27 11:02:37 · 686 阅读 · 0 评论 -
python常见进制转换方法
使用内置函数的时候反正是转换为哪一个进制就使用一个进制对应的函数即可,中间需要先转换为十进制(int()函数),其中进制转换涉及到的内置函数有:2进制:bin(),8进制:oct(),10进制:int(),16进制:hex(),其他进制转为二进制使用bin函数,其他进制转为八进制使用oct函数,其他进制转为十六进制转为hex函数,并且是借助于10进制作为中间的桥梁进行转换,也就是使用到int()函数.在format中加上b,o,x将其他进制的转换为二进制、八进制或者是十六进制。其他进制转为十进制使用。转载 2023-03-27 10:53:43 · 685 阅读 · 0 评论 -
Python语言如何保留两位小数?
str(a).split('.')[0] + '.' + str(a).split('.')[1][:2] #使用序列切片的方式,切出小数点前的数据,还有小数点后两位的数据,然后进行拼装。\.\d{2}", str(a)) #使用正则匹配,将符合规则(一个小数点前有很多位数字,小数点后面只有两位数字的片段)字符串片段取出。以上就是常规的保留两位小数的方法,接下来介绍两种非常规的方法(使用字符串处理的方法,这种方法仅保留两位小数,不做四舍五入)原理很简单,只要找到小数点,然后进行切片即可。转载 2023-03-27 10:46:04 · 1041 阅读 · 0 评论 -
Python去除数据中小数点后多于的0
在进行数据处理时发现,同一个csv文件,在用excel打开时数据是正常的,例如3.5,而用记事本打开时数据变成了3.50000000,在用python进行读取时就会读取到小数点后还有很多0的数据,影响数据查看。:造成这种数据不一致的原因其实就是excel会自动隐藏小数据点后多于的0,也就是说,数据本身就带有很多位0。这不是最终的方案呦,因为我发现,当a='100.0000'时,我们想要得到的是100,但是。Decimal(a).to_integral(),于是我们可以在使用之前先判断一下。转载 2023-03-27 10:41:39 · 1291 阅读 · 0 评论 -
pandas的merge方法详解
DataFrame有一个实例方法join,相当于merge方法的参数left_index=True和right_index=True。append用于追加行,也concat是pd的静态函数不同,append是DataFrame的方法。concat可以把多个DataFrame拼接为一个DataFrame。left_on与right_on主要用于连接的2个表列名不同的时候。转载 2023-03-14 12:36:37 · 189 阅读 · 0 评论 -
详解pandas的read_csv方法
而为了保证正常读取,就会把类型像大的方向兼容,比如第一块的user_id被解析成整型,但是在解析第二个块发现user_id有的值无法解析成整型,那么类型整体就会变成字符串,于是pandas提示该列存在混合类型。之前,我们在上面介绍了dtype,这个是我们手动规定类型,那么pandas就会按照我们规定的类型去解析指定的列,但是一旦无法解析就会报错。然后再读取下一块,会再对类型进行一个判断,得到每一列的类型,如果得到的结果和上一个块得到结果不一样,那么就会发出警告,提示有以下的列存在多种数据类型。转载 2023-03-14 12:36:30 · 5274 阅读 · 0 评论 -
Python获取与处理文件路径/目录路径
使用**os.path.relpath(file_path, base_path)**获取当前文件对于基准路径的相对路径。使用**os.path.split()**把路径分割为文件所在目录路径(dirname)和文件名(basename)。使用**os.path.join(path1, path2, ···)**把多个目录/文件名合并(连接)为一个路径。使用**os.path.splitdrive()**把路径分割为驱动器名(Windows)和文件路径。使用**os.path.使用**os.path.转载 2023-03-09 10:26:59 · 395 阅读 · 0 评论 -
pandas读取文件时有多个不同的分隔符
如果有多个空格的话使用。分隔不同字符通过加上。转载 2023-03-08 13:49:59 · 722 阅读 · 0 评论 -
5种方法Python将JSON转换为自定义Python对象/类
我们可以使用json.loads()和json.load()方法中的参数,这是一个可选函数,将使用任何对象文字解码的结果(字典dict)调用,所以当我们执行时,的返回值将用字典dict代替。使用此功能,我们可以实现自定义解码器。正如我们所知和方法将 JSON 转换为dict对象,因此我们需要创建一个自定义函数,我们可以在其中转换dict为自定义 Python 类型。并将这个新创建的函数传递给json.loads方法的object_hook参数。所以我们可以在解码JSON时获得自定义类型。转载 2023-02-17 07:14:18 · 11269 阅读 · 0 评论 -
python读取csv文件报错 UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd5 in position 0: invalid cont
第三种(可行):将csv文件的编码方式改为 utf-8,因为python默认就是读取utf-8.第一种(不行):显式设置各种编码方式,都不行,包括gbk,ANSI,ISO啥的。第二种(不行):设置为unicode_escape,不行,会报出另一个错误。最后确定保存,成功。转载 2023-02-16 07:15:26 · 4550 阅读 · 1 评论 -
一文详解Pytest单元测试【保姆级教程】
单元测试把在自动化测试过程中用到的一些功能或者工具,分装成各个模块,包括如何进行自动化脚本编写以及分层功能的基础模块,进行持续集成、定时任务的管理模块,发送测试报告、进行测试结果统计分析的统计模块等,将这些模块组成一套可重用的骨架。转载 2023-02-14 09:21:02 · 6322 阅读 · 0 评论 -
Python在命令行模式下如何退出命令行
第一种:这种方法最简单,直接输入 Ctrl+Z ,再回车,即可退出;第二种:输入 exit(),再回车,也可以;第三种:输入 quit(),再回车,也行;转载 2023-02-13 11:41:47 · 2650 阅读 · 0 评论 -
Python3 列表、字典、元组、集合解析(推导式)各种写法
进行元组解析,前者返回的是元组,后者返回的是个生成器。生成器占用的内存较小,可通过循环读取。写法和列表解析相似。因为解析式的高效和简洁,所以这里记录下列表、字典、元组、集合解析的各种写法。集合中没有重复元素。写法和列表解析相似。转载 2023-01-15 22:19:04 · 187 阅读 · 0 评论 -
Python @函数装饰器及用法(超级详细)
显然,被“@函数”修饰的函数不再是原来的函数,而是被替换成一个新的东西(取决于装饰器的返回值),即如果装饰器函数的返回值为普通变量,那么被修饰的函数名就变成了变量名;在分析 funA() 函数装饰器和 funB() 函数的关系时,细心的读者可能会发现一个问题,即当 funB() 函数无参数时,可以直接将 funB 作为 funA() 的参数传入。那么,函数装饰器的工作原理是怎样的呢?实际上,所谓函数装饰器,就是通过装饰器函数,在不修改原函数的前提下,来对函数的功能进行合理的扩充。转载 2023-01-14 12:53:03 · 145 阅读 · 0 评论 -
Read the Docs 从懵逼到入门
继,时隔两年,终于推出姐妹篇《Read the Docs 从懵逼到入门》。从阅读量来看,笔者已经感受到大家对 GitBook 和 Markdown 写作的关注度,所以决定再给大家介绍一种常见的文档管理方案 ——+ GitHub + Read the Docs 的文档管理方法。无论是管理技术文档、写书、写笔记,亦或想搭建一个属于你的个人知识库,都是一个不错的选择。那我们现在开始吧!转载 2023-01-11 14:46:45 · 730 阅读 · 0 评论 -
Python 的动态类型介绍
变量的类型实在运行过程中自动决定的,而不是通过声明来决定的变量首次赋值时,创建它。之后的再次赋值会改变该变量的值2.类型的概念是存在于对象中而不是变量名中。变量名是通用的,它只是在特定时刻引用某个特定的对象而已。当变量出现在表达式中时,它会马上被当前引用的对象所代替任何变量名在使用前必须明确地赋值。用未赋值的变量会产生错误。在Python内部,变量实际上是指向对象内存空间的一个指针graph LRid1(变量名)-->|引用|id2(对象);转载 2023-01-05 18:42:29 · 366 阅读 · 0 评论 -
requirements.txt 是什么? 有什么用? 怎么用?
但是会有一个问题, 就是如果当你的项目需要下载非常多的包时, 你得不停的用 pip 命令一个个去下载, 有没有一种方法可以将项目所需要的包一次性下载呢?当然你也可以将目前pycharm中已下载的所有包都导入到 requirements.txt 文件中,你只需要在终端命令中输入命令 : pip freeze > requirements.txt 即可。的一个文件,通常我们在下载包时,例如pytest包, 会使用命令 pip install pytest 来下载包。这个文件是一个用于一次性保存在。转载 2023-01-02 16:55:45 · 1423 阅读 · 0 评论 -
python pip 安装 升级 卸载命令
pip install 包名。转载 2023-01-02 16:20:03 · 1079 阅读 · 0 评论 -
更改pip源
windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下。pypi 腾讯源:http://mirrors.cloud.tencent.com/pypi/simple。pypi 清华大学源:https://pypi.tuna.tsinghua.edu.cn/simple。pypi 阿里源:https://mirrors.aliyun.com/pypi/pypi 豆瓣源 :http://pypi.douban.com/simple/转载 2023-01-02 14:49:18 · 1677 阅读 · 0 评论