搜索到与相关的文章
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:39 2023

Python

Python:logging.NullHandler 的使用

在使用peewee框架时,默认是不会出现日志消息的。frompeeweeimportModel,CharField,DateTimeField,IntegerFieldfrompeewee_mssqlimportMssqlDatabasedb=MssqlDatabase(database='test',host='.',user='sa',password='sa')classBaseModel(Model):classMeta:database=dbcl

系统 2019-09-27 17:52:28 2023

Python

Python yield与实现方法代码分析

yield的功能类似于return,但是不同之处在于它返回的是生成器。生成器生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器)。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。基本操作#通过`yield`

系统 2019-09-27 17:52:18 2023

Python

Python基于BeautifulSoup和requests实现的爬虫功能示例

本文实例讲述了Python基于BeautifulSoup和requests实现的爬虫功能。分享给大家供大家参考,具体如下:爬取的目标网页:http://www.qianlima.com/zb/area_305/这是一个招投标网站,我们使用python脚本爬取红框中的信息,包括链接网址、链接名称、时间等三项内容。使用到的Python库:BeautifulSoup、requests代码如下:#-*-coding:utf-8-*-importrequestsfr

系统 2019-09-27 17:52:10 2023

Python

USF MSDS501 计算数据科学中文讲义 2.4 Python 中的编程

来源:ApacheCN『USFMSDS501计算数据科学中文讲义』翻译项目原文:ProgrammingPatternsinPython译者:飞龙协议:CCBY-NC-SA4.0现在我们已经了解了计算机如何组织数据,并进行一些低级编程操作,现在让我们看一些常见的高级编程模式。每一个这些操作都有一个使用条件和循环模式的实现,我们可以使用python语法很容易地表达。我们也可以使用现有的库函数来实现相同的功能,我们也将探索它们。当我们进行时,你会发现程序设计和编

系统 2019-09-27 17:51:25 2023

Python

Python中使用第三方库xlrd来写入Excel文件示例

继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示readxls,xlwt表示writexls,同样目前版本只支持97-03版本的Excel。xlwt下载:xlwt0.7.4安装xlwt安装方式一样是pythonsetup.pyinstall就可以了,或者直接解压到你的工程目录中。API介绍获取一个xls实例复制代码代码如下:xls=ExcelWrit

系统 2019-09-27 17:51:03 2023

Python

Python中比较特别的除法运算和幂运算介绍

不管是啥语言都离不开加减乘除这些算法,但是在Python里面你知道这些符号代表什么运算吗?“/”这个是除法运算,那么这个“//”呢?“*”这个是乘法运算,那么这个“**”呢?下面来一一介绍下。“//”运算除法运算符是“/”,这个人人皆知道,但是这个二元运算符“/”求出来的结果都是取决于操作数本身的,比如:复制代码代码如下:20/3620/3.06.66666666666666720.0/36.66666666666666720.0/3.06.6666666

系统 2019-09-27 17:51:01 2023

Python

Python脚本在Appium库上对移动应用实现自动化测试

采用Appium进行自动化的功能性测试最酷的一点是,你可以使用具有最适合你的测试工具的任何一门语言来写你的测试代码。大家选择最多的一个测试编程语言就是Python。使用Appium和Python为iOS和Android应用编写测试代码非常容易。在这篇博文中我们将详细讲解使用Appium下的Python编写的测试的例子代码对一个iOS的样例应用进行测试所涉及的各个步骤,而对Android应用进行测试所需的步骤与此非常类似。开始,先自https://githu

系统 2019-09-27 17:49:15 2023

Python

基于Python __dict__与dir()的区别详解

Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。__dict__与dir()的区别:dir()是一个函数,返回的是list;__dict__是一个字典,键为属性名,值为属性值;dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来

系统 2019-09-27 17:48:14 2023

Python

Python包、模块、类以及遇到的问题

最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。1自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪2只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)一般来说注意这两点,构建包就不成问题。在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也

系统 2019-09-27 17:48:06 2023