搜索到与相关的文章
Python

如何编写快速且线程安全的Python代码

概述如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。GIL概览有如下代码:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/这行代码位于Python2.7源码ceval.c

系统 2019-09-27 17:52:42 2176

Python

Python设计模式1--单例模式

设计模式的重要性,不再赘述,分方法和类型逐一记录,以备忘。一、单例模式单例模式,顾名思义,python中的某个类有且仅有一个对象(实例);1.应用场景:某个实例必须保证全局唯一性,如读取某些配置文件的实例,需要确保在任意地方都是相同配置值;2.实现方法:使用python中的基类object中__new__();3.代码:classsingleton(object):def__new__(cls,*args,**kw):ifnothasattr(cls,'_

系统 2019-09-27 17:52:35 2176

Python

python学习笔记-数据结构与语句

基础元素学习一门编程语言的时候,我最先考虑的事情就是如何操作值,值(value)在程序组可以是一个数字1,2,3,4,字符'hello,word'.我们使用变量来保存这些值。又把变量保存的值成为对象,计算机会给变量的对象和变量分配内存空间。python使用的内存分配方式成为引用语义或者对象语义,而像c语言使用的时值语义。接下来具体说明一下这两种语义的区别。值语义:所谓值语义是指目标对象由源对象拷贝生成,且生成后与源对象完全无关,彼此独立存在,改变互不影响。

系统 2019-09-27 17:51:31 2176

Python

[转] Python之time模块的时间戳、时间字符串格式化与转换

fromhttps://blog.csdn.net/mighty13/article/details/78147357Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。time.struct_time(tm_year=2017,tm_mon=10,tm_mday=1,tm_

系统 2019-09-27 17:50:56 2176

Python

python 常用模块之——pymysql

pymysqldemo代码样例,暂时先写查询的,增删改后续再添加;通用部分无论是增删改查,都需要先建立数据库连接,创建游标importpymysql#建立一个mysql的conn,返回Connetion对象conn=pymysql.connect(host='localhost',user='root',passwd='p@ssWD',port='3306',db='test')#新建一个游标,默认返还元组,可选DictCursor让查询结果返还dict#

系统 2019-09-27 17:50:47 2176

Python

Python中向量化运算

#生成等差数列#一般的赋值需要通过for函数r1_10=range(1,10,1)foriinr1_10:print(i)importnumpynumpy.arange(2,10,3)r=numpy.arange(2,10,3)#向量化运算r+rr-rr*rr/r#函数的向量化次方运算numpy.power(r,3)#向量化运算,比较运算r>=5#结合过滤运算r[r>=5]#矩阵运算,r乘以r的转置numpy.dot(r,r.T)#向量化的数据框运算fro

系统 2019-09-27 17:50:35 2176

Python

Python中函数的初览

Python中函数的初览一、函数1、什么是函数为了完成某一功能的代码的集合,叫做函数,函数就是行为,就是动作2、定义Python中函数的定义,使用关键字def(definefunction定义函数)3、函数的调用函数定义后,不会自动执行,需要调用者调用才会执行。4、函数的分类1)有无参数2)有无返回值例:这是一个有参数且有返回值的函数

系统 2019-09-27 17:49:40 2176

Python

python 模块

要先导入模块,才能调用用模块中定义的函数(才会有该模块的代码提示)。import模块#导入一个模块import模块1,模块2,....#同时导入多个模块from模块import部分#导入一部分from模块import部分1,部分2,部分3....#导入一个模块的多个部分from模块import*#导入整个模块以上的模块均可换为模块.子模块,表示只导入子模块|从子模块中导入。导入之后就可以通过模块名.方法名()调用模块中的函数了。不管导入一个相同模块多少次,

系统 2019-09-27 17:49:40 2176

Python

Python:Python 自动化测试框架 unittest 和 pytest

一、用例编写规则1.unittest提供了testcases、testsuites、testfixtures、testrunner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵守以下规则:(1)测试文件必须先importunittest(2)测试类必须继承unittest.TestCase(3)测试方法必须以“test_”开头(4)测试类必须要有unittest.main()方法2.pytest是python的第三方测试框架,是

系统 2019-09-27 17:49:08 2176

Python

python基础学习笔记(八)

python基础学习笔记(八)2013-04-2600:11虫师阅读(...)评论(...)编辑收藏创建自已对象就python非常核心的概念,事实上,python被称为面向对象语言,本章会介绍如何创建对象。以及面向对象的概念:继承、封装、多态。多态:可对不同类的对象使用同样的操作。封装:对外部世界隐藏对象的工作细节。继承:以普通的类为基础建立专门的类对象。多态面向对象程序设计最有趣的特性是多太,它是是让大多数人犯晕的特性。所以,先来介绍这个。多态意思是“有

系统 2019-09-27 17:48:52 2176