- 军军小站|张军博客
搜索到与相关的文章
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 1782

Python

Python是编译运行的验证方法

虽然Python被说成是一种解释型语言,但是实际上,Python源程序要先经过编译,然后才能运行。与Java语言类似,Python源程序编译之后得到的是字节码,交由Python虚拟机来运行。关于这一点,我们可以这样来验证:复制代码代码如下:#!/usr/bin/pythonprint"position1"1_syntax_error_identifierprint"position2"将它保存为program.py,然后在shell窗口中运行它:复制代码代

系统 2019-09-27 17:52:41 1782

Python

python链接Oracle数据库

在配置python环境,并安装所需包后,运行下列代码~importpandasaspdfromsqlalchemyimportcreate_engineimportcx_Oracle#进行oracle服务器设置,用户名;密码;HOST数据库IP地址;PORT端口号;SERVICE_NAMEdb=cx_Oracle.connect('userid','password','10.10.1.10:1521/dbinstance')print(db.versio

系统 2019-09-27 17:52:32 1782

Python

python实现猜拳小游戏

用python实现猜拳小游戏,供大家参考,具体内容如下本练习旨在养成良好的编码习惯和练习逻辑思考.1、使用python版本:3.7.3;2、代码内容实现如下#!/usr/bin/envpython#-*-coding:utf-8-*-"""简单实现猜拳小游戏,默认每回合五局Version:0.1Author:smartbabbleDate:2018-03-12"""fromrandomimportrandintdefmora_game():Rounds=0

系统 2019-09-27 17:52:29 1782

Python

Python代码展示Numpy和Scipy的子库的描述信息

前言学习一个库的最好的方式是了解这个库的源码和组成原理,有时候源码可能会略显生涩,这时候我们想通过查看文档来了解,所以我们可以通过输出库自带的描述文档来了解一个库。Numpy和Scipy模块numpy提供了数组对象,面向的任何使用者。scipy在numpy的基础上,面向科学家和工程师,提供了更为精准和广泛的函数。scipy几乎实现numpy的所有函数,一般而言,如果scipy和numpy都有这个函数的话,应该用scipy中的版本,因为scipy中的版本往往

系统 2019-09-27 17:52:27 1782

Python

浅谈python3中input输入的使用

今天谈一下关于python中input的一些基本用法(写给新手入门之用,故只谈比较实用的部分)。首先,我们可以看一下官方文档给我们的解释(在python的shell中输入命令即可):上面的英文说的是什么呢?大家有兴趣的可以自己在网上翻译一下,大致说的就是input这个函数,第一个参数是提示语,它默认是空的。在我们使用input的时候,会从标准输入中读取一个string,即字符串(请注意,这里很重要,下面我们会继续说),对于用户输入的换行是不会读入的,因为我

系统 2019-09-27 17:52:12 1782

Python

Python迭代器

print("我想打印一个字符串%s"%123)print("我想打印一个字符串",123)print("我想打印一个字符串{}".format(123))这三个输出有什么区别喃?Python中一个数据是否可以迭代(能否使用For)isinstance(需要判断的数据,Iterable)查看返回值,true则可以迭代,false不能迭代。如果创建一个可以迭代的对象?必须实现__iter__()方法在__iter__方法中需要返回一个具有__iter__方法

系统 2019-09-27 17:52:09 1782

Python

关于《Selenium3自动化测试实战--基于python语言》

2016年1月,机缘巧合下我出版了《Selenium2自动化测试实战--基于python语言》这本书,当时写书的原因是,大部分讲Selenium的书并不讲编程语言和单元测试框,如果想在项目中使用Selenium,几乎离不开编程语言和单元测试框架,难道你只用SeleniumIDE去录制/回放脚本么?没想到受到许多测试人员的欢迎,我会时常去看网上的书评。大多是感谢的留言,书的销量也印证了这一点,当然,也有批评和建议。在此,表示感谢。随着,我对Selenium自

系统 2019-09-27 17:51:40 1782

Python

Python3快速入门(八)——Python3 JSON

Python3快速入门(八)——Python3JSON1、JSON简介JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,是基于ECMAScript的一个子集。2、json模块简介Python3中可以使用json模块来对JSON数据进行编解码,包含两个函数:json.dumps():对数据进行编码。json.loads():对数据进行解码。在json的编解码过程中,Python的数据类型与json类型会相互转换。json

系统 2019-09-27 17:51:32 1782

Python

ubuntu 18.04搭建python环境(pycharm+anaconda)

ubuntu系统自带的python有多个版本,使用时难免会遇到环境变量出错,特别是当自动化运行脚本的时候。特别是近一个月来,实验室的小伙伴们的都倾心于python。为了帮助小伙伴们快速搭建自己的python环境,笔者写下了这篇教程。当然,如果ubuntu自带的python自己使用没有问题,可以略去anaconda的安装。AnacondaAnaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包

系统 2019-09-27 17:51:20 1782