
Python
文章平均质量分 51
张博208
知识搬运工
展开
-
Multiprocessing Event Object In Python
Event原创 2024-04-17 10:55:13 · 890 阅读 · 0 评论 -
Multiprocessing Freeze Support in Python
You can add support for multiprocessing when freezing your code via the multiprocessing.freeze_support() function.In this tutorial you will discover how to add freeze support for multiprocessing in your Python program.You can package your code with a Pytho原创 2024-04-17 10:38:29 · 1328 阅读 · 0 评论 -
@contextmanager 和yield 的结合使用法
上面这个例子,我们可以把print('1') 和 print('3')看成是try和except,要执行代码的部分就是他们中间的部分,进行以下更改。先执行commit(),遇到yield后,跳出来执行sql1,sql2,然后再进入commit()执行上一次跳出来的位置。所以要引用装饰器@contextmanager,它需要与with语法结合使用。但是每次都这样try...except...就会显得很重复。原创 2023-04-06 17:45:34 · 331 阅读 · 0 评论 -
Python中import的用法
python 中的相对引用 绝对引用原创 2022-11-21 11:46:23 · 927 阅读 · 0 评论 -
if else 连写
def is_bad_fpd_7_handle(x): if x>7: return 1 elif x>0: return -1 elif x<=0: return 0 else : return np.NaN等价于:x=np.NaNb=1 if x > 7 else -1 if x>0 else 0 if x<=0 else np.NaN...原创 2021-03-02 15:38:02 · 341 阅读 · 0 评论 -
【Numpy】函数向量化运算的多种方法function/lambda + numpy.frompyfunc()/map和numpy.vectorize()
https://blog.youkuaiyun.com/u012421852/article/details/79698599转载 2020-04-17 11:55:19 · 246 阅读 · 0 评论 -
谱聚类(Spectral Clustering)原理及Python实现
https://blog.youkuaiyun.com/songbinxu/article/details/80838865转载 2020-04-15 10:59:06 · 767 阅读 · 0 评论 -
pandas 的apply返回多列,并赋值
转载他人的,本来自己想写,算了import pandas as pddf_tmp = pd.DataFrame([ {"a":"data1", "cnt":100},{"a":"data2", "cnt":200},])df_tmpa cntdata1 100data2 200方法一:使用apply 的参数result_type 来处理def formatrow(ro...转载 2020-04-10 09:55:40 · 18725 阅读 · 5 评论 -
详解numpy.vectorize的使用,将函数向量化
首先看一下文档:numpy.vectorize(pyfunc, otypes=None, doc=None, excluded=None, cache=False, signature=None)Parameters: pyfunc :python函数或方法otypes : 输出数据类型。必须将其指定为一个typecode字符串或一个数据类型说明符列表。每个输出应该有一个数据类型说明符...转载 2020-03-22 14:12:06 · 2638 阅读 · 0 评论 -
Python yield from 用法详解
yield from是Python3.3新出现的句法替代内层for循环如果生成器函数需要产出另一个生成器生成的值,传统的解决方法是使用嵌套的for循环:>>> def chain(*iterables):... for it in iterables:... for i in it:... yield i...转载 2020-01-21 17:01:47 · 2691 阅读 · 0 评论 -
Python并发编程之深入理解yield from语法
大家好,并发编程进入第八篇。直到上一篇,我们终于迎来了Python并发编程中,最高级、最重要、当然也是最难的知识点--协程。当你看到这一篇的时候,请确保你对生成器的知识,有一定的了解。当然不了解,也没有关系,你只要花个几分钟的时间,来看下我上一篇文章,就能够让你认识生成器,入门协程了。再次提醒:本系列所有的代码均在Python3下编写,也建议大家尽快投入到Python3的怀抱中来...转载 2020-01-21 17:00:14 · 237 阅读 · 0 评论 -
np.roll()的理解和用法
numpy.roll()numpy.roll(a,shift,axis=None)函数解释:沿着给定轴滚动数组元素。超出最后位置的元素将会滚动到第一个位置。(将a,沿着axis的方向,滚动shift长度)参数:a : (array_like)输入数组shift : (int or tuple of ints)滚动的长度。如果是提供元组的话,下面的轴参数的维度也应该跟sh...转载 2020-01-13 15:10:08 · 1557 阅读 · 0 评论 -
pyzmq的4种模式(PUSH/PULL)笔记
https://www.cnblogs.com/haoxr/p/9083439.htmlhttps://blog.youkuaiyun.com/dotedy/article/details/50106405原创 2020-01-10 14:51:57 · 395 阅读 · 0 评论 -
mpi4py 中的访问文件数据方法
在上一篇中我们介绍了 mpi4py 中的并行文件视图操作方法,下面我们将介绍访问文件数据的相关方法。文件访问方法MPI 环境下应用程序对文件的访问主要有 3 种特征:定位(positioning),包括显式偏移和隐式文件指针;同步性(synchronism),主要包括阻塞、非阻塞和分步集合操作;集合性(coordination),主要包括非集合操作和集合操作。下表列出的相应的访问方法(MP...转载 2020-01-09 16:23:12 · 296 阅读 · 0 评论 -
mpi4py 的一些使用技巧
在上一篇中我们介绍了 mpi4py 中的访问文件数据操作方法,至此 mpi4py 中最主要的内容已经基本介绍完毕,下面我们将介绍 mpi4py 的一些使用技巧。兼容非 MPI 编程从前面的介绍可知,使用 mpi4py 进行 Python 环境下的 MPI 编程是比较容易的,在不牺牲 Python 本身的灵活性和易用性的基础上,mpi4py 可以使我们轻松地利用多核甚至多计算节点进行并行甚至...转载 2020-01-09 16:21:01 · 858 阅读 · 0 评论 -
mpi4py 点到点通信
在上一篇中我们已经通过几个简单的例子展示了使用 mpi4py 进行 Python 的并行编程方法,大家可以看到使用 mpi4py 进行 MPI 并行编程是比较简单和方便的,但是要用好 mpi4py,写出实用的功能强大的 MPI 并行计算程序,我们还需要对 mpi4py 所提供对各种方法及其用法有更深入的了解。下面我们从最基本的点到点通信开始,详细地介绍 mpi4py 的各个有用的通信方法,并给出其...转载 2020-01-09 16:11:15 · 1314 阅读 · 0 评论 -
mpi4py 快速上手
在上一篇中我们介绍了如何安装和使用 mpi4py,下面我们以几个简单的例子来展示怎么使用 mpi4py 来进行并行编程,以使读者能够快速地上手使用 mpi4py。这些例子来自 mpi4py 的 Document,有些做了一些适当的改动。点到点通信传递通用的 Python 对象(阻塞方式)这种方式非常简单易用,适用于任何可被 pickle 系列化的 Python 对象,但是在发送和接收端...转载 2020-01-09 16:00:42 · 374 阅读 · 0 评论 -
Python多核编程mpi4py实践
Python多核编程mpi4py实践一、概述CPU从三十多年前的8086,到十年前的奔腾,再到当下的多核i7。一开始,以单核cpu的主频为目标,架构的改良和集成电路工艺的进步使得cpu的性能高速上升,单核cpu的主频从老爷车的MHz阶段一度接近4GHz高地。然而,也因为工艺和功耗等的限制,单核cpu遇到了人生的天花板,急需转换思维,以满足无止境的性能需求。多核cpu在此...转载 2020-01-08 14:25:46 · 582 阅读 · 0 评论 -
Python中__call__的用法
概念: Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符。示例: 所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__ ,我们把 Person 类变成一个可调用对象: class Person(...原创 2020-01-06 16:12:19 · 188 阅读 · 0 评论 -
@classmethod与@staticmethod区别
https://blog.youkuaiyun.com/itanders/article/details/88703556原创 2020-01-06 16:06:15 · 185 阅读 · 0 评论 -
在网上大多关于join()与task_done()的结束原话是这样的
https://www.cnblogs.com/anzhangjun/p/9833619.html原创 2020-01-05 14:34:56 · 244 阅读 · 0 评论 -
python的反射机制
https://blog.youkuaiyun.com/weixin_30444105/article/details/95490419原创 2020-01-04 11:42:44 · 103 阅读 · 0 评论 -
方法解析顺序(MRO)
方法解析顺序(Method Resolution Order - MRO),是一种在多重继承中用于确定方法搜索顺序的算法,又称 C3 超类线性化(superclass linearization)。Python 会计算出每一个类的 MRO 列表。一个类的 MRO 列表是一个包含了其继承链上所有基类的线性顺序列,并且列表中的每一项均保持唯一。当需要在继承链中寻找某个属性时,Python会在 MRO ...转载 2019-12-12 17:58:40 · 796 阅读 · 0 评论 -
python---方法解析顺序MRO Method Resolution Order以及解决类中super方法
目录MRO了解:而具体讨论MRO,我们需要针对不同python版本中的MRO进行解析 一:经典类(深度优先搜索) 二:新式类(广度优先搜索) 三:新式类(C3算法实现:看起来就是将上面两者的优点结合了。所以在Python3中全部都是新式类,不需要object继承) 四:C3算法了解下面讨论__init__和super()方法的关系 一:在单继承中super方法和__init__使...转载 2019-12-12 17:57:44 · 415 阅读 · 0 评论 -
Python Tips: Dynamic function definition
In Python, there isn't any syntactic sugar that eases function definition during runtime. However, that doesn't mean that its impossible or even difficult.from types import FunctionTypefoo_code =...转载 2019-12-12 09:08:23 · 299 阅读 · 0 评论 -
Python中两大神器exec eval
一、神器1 —— 内置函数evaleval是python中的内置函数,它的作用是将字符串变为所对应的表达式,也相当于一个功能代码加双引号变为字符串,而eval又将字符串转为相应的功能,它在使用过程中有绝对的优势,但是也存在使用风险,所以要在程序中正确使用,本人建议不要使用eval的语法格式如下:eval(expression[, globals[, locals]])expres...转载 2019-12-12 09:07:24 · 170 阅读 · 0 评论 -
Cython nogil extension on multi core introduction
For a long time, multi-core processing has been a sore point in CPython. A variety of solutions were proposed to solve this issue. The goal of thisarticle is not to describe and compare these differe...翻译 2019-12-06 11:02:50 · 396 阅读 · 0 评论 -
What is the Python Global Interpreter Lock (GIL)?
Table of ContentsWhat problem did the GIL solve for Python? Why was the GIL chosen as the solution? The impact on multi-threaded Python programs Why hasn’t the GIL been removed yet? Why wasn’t i...转载 2019-12-06 09:47:43 · 291 阅读 · 0 评论 -
PYTHON GIL 系列之再谈PYTHON的GIL
1.之前写过一篇《通过实例认识Python的GIL》的文章,感觉有些意犹未尽2.这次对例子作了些扩展,进一步的分析GIL对Python程序的影响2.1先来看例子:[python]view plaincopyfromthreadingimportThread fromthreadingimportEventasTEvent fr...转载 2019-12-06 09:14:05 · 192 阅读 · 0 评论 -
Python GIL 系列之通过设置进程运行的CPU来提高Python程序的性能
通过《通过实例认识Python的GIL》 ,《再谈Python的GIL》 ,《再谈Python的GIL(续)》已经基本上认识到了 Python的线程在多核情况下的性能是比较低的,但是在单核情况就就没有这个问题,难道就没有一个好的办法让Python的线程在多核情况下像单核情况下表现卓越吗?答案是有的,那就是限制Python在指定的CPU上运行。在Windows下,有个函数可以指定进程在指定的CP...转载 2019-12-06 09:12:36 · 218 阅读 · 0 评论 -
浅谈python中的GIL
https://blog.youkuaiyun.com/Com_ma/article/details/79169848转载 2019-12-06 09:10:34 · 115 阅读 · 0 评论 -
Python的C/C++扩展——Python的C语言接口
Python语言最初是用C语言实现的一种脚本语言,后来被称为CPython,是因为后来又有其它语言实现的Python,比如Python实现的Python——PyPy,Java语言实现的Python——Jython,.Net实现的Python——IronPython。CPython具有优良的开放性和可扩展性,并提供了方便灵活的应用程序接口(API),从而使得C/C++程序员能够在各个级别上对...转载 2019-12-05 15:02:10 · 259 阅读 · 0 评论 -
contextlib
用于创建和使用上下文管理器的实用程序。contextlib 模块包含用于处理上下文管理器和 with 语句的实用程序。Context Manager API上下文管理器负责一个代码块内的资源,从进入块时创建到退出块后清理。例如,文件上下文管理器 API,在完成所有读取或写入后来确保它们已关闭。with open('/tmp/pymotw.txt', 'wt') as f: ...转载 2019-11-26 16:03:32 · 252 阅读 · 0 评论 -
Data profiling in Python
Data profiling is intended to help understand data leading to a better data prepping and data quality.Data profiling is the systematic up front analysis of the content of a data source, all the way fr...转载 2019-11-25 14:37:40 · 700 阅读 · 0 评论 -
Python——with语句、context manager类型和contextlib库
目录 一、with语句 二、上下文管理器 三、contextlib模块基本概念上下文管理协议(Context Management Protocol) 包含方法 __enter__() 和 __exit__(),支持该协议的对象要实现这两个方法。上下文管理器(Context Manager): 支持上下文管理协议的对象,这种对象实现了__enter_...转载 2019-11-25 09:01:36 · 267 阅读 · 0 评论 -
Pandas tips and tricks
PandasUfuncsand why they are so much better than apply commandPandas has anapplyfunction which let you apply just about any function on all the values in a column. Note thatapplyis just a litt...转载 2019-11-24 12:40:47 · 218 阅读 · 0 评论 -
对sppnet网络的理解
前言: 接着上一篇文章提到的RCNN网络物体检测,这个网络成功的引入了CNN卷积网络来进行特征提取,但是存在一个问题,就是对需要进行特征提取图片大小有严格的限制。当时面对这种问题,rg大神采用的是对分割出的2000多个候选区域,进行切割或者缩放形变处理到固定大小,这样虽然满足了CNN对图片大小的要求,确造成图片的信息缺失或者变形,会降低图片识别的正确率. 如下图所示: 正...转载 2019-11-22 12:24:19 · 129 阅读 · 0 评论 -
python面向对象( item系列,__enter__ 和__exit__,__call__方法,元类)
item系列 __slots__方法__next__ 和 __iter__实现迭代器 析构函数 上下文管理协议 元类一、item系列把对象操作属性模拟成字典的格式。 例如:对象名['key'] = valueclass Foo: def __init__(self,name): self.name = name def __getitem__...转载 2019-11-22 12:22:03 · 492 阅读 · 0 评论 -
Python装饰器abstractmethod、property、classmethod、staticmethod及自定义装饰器
总览:@abstractmethod:抽象方法,含abstractmethod方法的类不能实例化,继承了含abstractmethod方法的子类必须复写所有abstractmethod装饰的方法,未被装饰的可以不重写@ property:方法伪装属性,方法返回值及属性值,被装饰方法不能有参数,必须实例化后调用,类不能调用@ classmethod:类方法,可以通过实例对象和类对象调用,被该...转载 2019-11-22 12:17:45 · 299 阅读 · 0 评论 -
python装饰器: @property
1. 什么是property属性一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法,希望能够像调用属性一样来调用方法 此时可以将一个方法加上property将该函数方法,当做属性,不用()也可以执行# ############### 定义 ###############class Foo: def func(self): pass # 定义...转载 2019-11-22 12:15:23 · 78 阅读 · 0 评论