Python源码读后小结
Python 笔记
前言(还是叫杂记吧)
在python中一切皆对象, python中的对象体系大致包含了"类型对象", "Mapping对象(dict)", "Sequence对象(list, set, tuple, string)", "Number对象(integer, float, bo...
文章
megachen
2018-06-08
778浏览量
[笔记]Python对象基础
以前写在Evernote上的笔记。
Python对象机制最基础的是PyObject和PyVarObject,而后者又仅仅是比前者多了一个变量而已。
在object.h中有这两者的定义:
typedef struct _object {
PyObject_HEAD
} PyObjec...
文章
思禽
2012-03-10
864浏览量
Python语言开发的一些问题
1.Python是如何进行内存管理的?
Python引用了一个内存池(memory pool)机制,即Pymalloc机制(malloc:n.分配内存),用于管理对小块内存的申请和释放
内存池(memory pool)的概念:
当 创建大量消耗小内存的对象时,频繁调用new/malloc会导致大量...
文章
范大脚脚
2017-11-14
864浏览量
独家|测量、建议、快速上手!你所使用的Python对象占用了多少内存?(附代码)
作者:Gigi Sayfan
文章来源:微信公众号 数据派THU
翻译:吴振东
校对:吴金笛
本文将介绍多种Python对象分别所占用的内存,并解释所选择的测量方法和函数,为节省内存提供建议。
Python是一种很棒的编程语言。不过它的运行速度很慢,这是由于它具有极大的灵活性和动态特征所造成的。...
文章
初商
2019-08-26
1050浏览量
python 线程池 futures使用
python 线程池
例一
# 首先导包
from concurrent.futures import ThreadPoolExecutor
# 创建线程池
executor = ThreadPoolExecutor(10)
# 测试方法
def test_function(num1, ...
文章
roney
2018-05-17
2293浏览量
2. Python3源码—浮点对象
2.1. 浮点对象
浮点对象是“定长对象”。
2.1.1. Python中的创建
Python中浮点对象创建最重要的方法为PyFloat_FromDouble,如下Python语句最终会调用到PyFloat_FromDouble:
a = 1.23
b = float(1.234)
2.1.2. ...
文章
whj0709
2018-06-06
1186浏览量
Python中的is和==以及字符串驻留机制
is 和 ==
先了解下官方文档中关于 is 和 == 的概念。is 表示的是对象标示符(object identity),而 == 表示的是相等(equality);is 的作用是用来检查对象的标示符是否一致,也就是比较两个对象在内存中的地址是否一样(相当于检查 id(a) == id(b)...
文章
happyjared
2018-07-03
786浏览量
PYTHON线程知识再研习E---条件变量同步Condition
Python提供的Condition对象提供了对复杂线程同步问题的支持。Condition被称为条件变量,除了提供与Lock类似的 acquire和release方法外,还提供了wait和notify方法。线程首先acquire一个条件变量,然后判断一些条件。如果条件不满足则 wait;如果条件满...
文章
天飞
2016-05-16
900浏览量
一篇文章搞定Python多进程(全)
公众号:pythonislover
前面写了三篇关于python多线程的文章,大概概况了多线程使用中的方法,文章链接如下:
一篇文章搞懂Python多线程简单实现和GIL - https://mp.weixin.qq.com/s/Hgp-x-T3ss4IiVk2_4VUrA一篇文章理清Python...
文章
南山yrg
2019-05-05
2651浏览量
Python多进程并行编程实践:以multiprocessing模块为例
前言
并行计算是使用并行计算机来减少单个计算问题所需要的时间,我们可以通过利用编程语言显式的说明计算中的不同部分如何再不同的处理器上同时执行来设计我们的并行程序,最终达到大幅度提升程序效率的目的。
众所周知,Python中的GIL限制了Python多线程并行对多核CPU的利用,但是我们仍然可以通过...
文章
青衫无名
2018-03-16
2829浏览量
干货大礼包!21天带你轻松学Python(文末领取更多福利)
点击查看课程视频地址
本课程来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。
21天带你轻松学Python
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。大数据、人工智能时代首选编程语言。今天给大家送上的是Pytho...
文章
温柔的养猫人
2020-07-14
7992浏览量
Python并发编程之线程池/进程池
引言
Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码,但是当项目达到一定的规模,频繁创建/销毁进程或者线程是非常消耗资源的,这个时候我们就要编写自己的线程池/进程池,以空间换时间。但从Python3.2开始,标准库为我们提供了con...
文章
行者武松
2017-08-01
1258浏览量
《Python面向对象编程指南》——1.4 使用__init()__方法创建常量清单
本节书摘来自异步社区《Python面向对象编程指南》一书中的第1章,第1.4节,作者[美]Steven F. Lott, 张心韬 兰亮 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.4 使用__init()__方法创建常量清单
我们可以为所有卡片的花色单独创建一个类。可在21点应用...
文章
异步社区
2017-05-02
1324浏览量
python 基础
python的单例模式
修改__new__(cls)静态方法
class A(object):
__instance = None
def __new__(cls):
if not cls.__instance:
cls.__insta...
文章
megachen
2018-10-04
734浏览量
Python实现MySQL连接池
Python实现MySQL连接池
python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接mysql数据库请求时,都是独立的去请求访问,相当浪费资源,而且访问数量达到一定数量时,对mysql的性能会产生较大的影响。因此,实际使用中,通常会使用数据库的连接...
文章
优惠券活动
2018-07-28
1175浏览量
Python解惑:整数比较
在 Python 中一切都是对象,毫无例外整数也是对象,对象之间比较是否相等可以用==,也可以用is。==和is操作的区别是:
is比较的是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象,是否指向同一个内存地址。
==比较的是两个对象的内容是否相等,默认会调用对象的__eq__(...
文章
行者武松
2017-08-01
973浏览量
07-爬虫的多线程调度 | 01.数据抓取 | Python
07-爬虫的多线程调度
郑昀 201005 隶属于《01.数据抓取》小节
一般让爬虫在一个进程内多线程并发,有几种方法:
Stackless :Stackless Python是Python的一个增强版本。Stackless Python修改了Python的代码,提供了对微线程的支持。微线程是轻量...
文章
郑昀
2016-04-26
1917浏览量
python异步并发模块concurrent.futures简析
本文主要介绍python异步并发模块concurrent.futures。它非常简单易用,主要用来实现多线程和多进程的异步并发。
1. 模块安装
1) python 3.x中自带了concurrent.futures模块
2) python 2.7需要安装futures模块,使用命令pip ins...
文章
舒琪
2017-06-19
2418浏览量
Python实现MySQL连接池
python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接mysql数据库请求时,都是独立的去请求访问,相当浪费资源,而且访问数量达到一定数量时,对mysql的性能会产生较大的影响。因此,实际使用中,通常会使用数据库的连接池技术,来访问数据库达到资源复用的目...
文章
武耀文
2018-07-26
4875浏览量
python开源工具列表【持续更新】
以下是个人在工作中整理的一些python wheel,供参考。这个列表包含与网页抓取和数据处理的Python库
网络
通用urllib -网络库(stdlib)。requests -网络库。grab – 网络库(基于pycurl)。pycurl – 网络库(绑定libcurl)。urllib3 –...
文章
武耀文
2018-04-25
3128浏览量
第十五章 Python多进程与多线程
15.1 multiprocessing
multiprocessing是多进程模块,多进程提供了任务并发性,能充分利用多核处理器。避免了GIL(全局解释锁)对资源的影响。
有以下常用类:
类
描述
Process(group=None, target=None, name=No...
文章
李振良
2016-11-29
3107浏览量
C扩展Python
使用C扩展Python
PyErr_*()函数是将一个异常对象压入到Python解释器的异常栈中
PyErr_Clear()函数是将Python异常栈中栈顶的元素弹出, 调用这个函数通常就相当于在Python程序中的try: except: 语句中except的作用
Python中的API, 每...
文章
megachen
2018-06-22
608浏览量
python: 多线程实现的两种方式及让多条命令并发执行
一 概念介绍
Thread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另一种是创建一个threading.Thread对象,在它的初始化函数(__init__)中将可调用对象作为参数传入....
文章
cloudcoder
2016-05-13
4181浏览量
4. Python3源码—字符串(bytes)对象
4.1. 字符串对象
字符串对象是“变长对象”。
4.1.1. Python中的创建
Python中字符串(bytes)对象创建最重要的方法为PyBytes_FromStringAndSize,如下Python语句最终会调用到PyBytes_FromStringAndSize:
a = b'hel...
文章
whj0709
2018-06-06
2522浏览量
练习生产者与消费者-PYTHON多线程中的条件变量同步-Queue
以前练习过,但好久不用,手生,概念也生了,
重温一下。。
URL:
http://www.cnblogs.com/holbrook/tag/%E5%A4%9A%E7%BA%BF%E7%A8%8B/
~~~~~~~
互斥锁是最简单的线程同步机制,Python提供的Condition对象提供了对复杂线...
文章
天飞
2015-11-15
745浏览量
Python中的字符串驻留
C#中的字符串驻留
熟悉.NET的人都应该知道C#中的字符串驻留机制,.NET维护了一个驻留池,它会把在编译期间就相同的字符串只保留一份拷贝。如果仅在运行期间值才相同的字符串变量,.NET不会为这个2个相同的字符串变量指向同一份引用的。不过.NET提供了一个方法,让开发人员可以强制将两个相同的字符...
文章
技术小甜
2017-11-15
935浏览量
起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?
爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。
1、前段时间快要毕业,而我又不想找自己的老本行Java开发了,所以面了很多Python爬虫岗位。
因为我在南京上学,所以我一开始只是在南京投了简历,我一共...
文章
yunqi20191113
2018-12-15
2234浏览量
教你用一行Python代码实现并行(附代码)
Python在程序并行化方面多少有些声名狼藉。撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题。常见的经典Python多线程、多进程教程多显得偏"重"。而且往往隔靴搔痒,没有深入探讨日常工作中最有用的内容。
传统的例子
简单搜索下"Python多线程教程",不难发现几乎所...
文章
技术小能手
2018-01-08
4980浏览量
Python的import初探[转]
日常使用python编程时,为了用某个代码模块,通常需要在代码中先import相应的module。
那么python的import是如何工作的呢?
Table of Contents
1 如何使用import
2 import语句针对单个模块文件的工作方式
3 import语句针对模块包的工...
文章
ghost丶桃子
2016-05-18
1770浏览量
Python网络编程(进程池、进程间的通信)
线程池的原理:
线程池是预先创建线程的一种技术。线程池在还没有任务到来之前,
创建一定数量的线程,放入空闲队列中。这些线程都是处于睡眠状态,
即均为启动,不消耗CPU,而只是占用较小的内存空间。当请求到来之后,
缓冲池给这次请求分配一个空闲线...
文章
巴黎香榭
2018-08-13
18656浏览量