- 军军小站|张军博客
拥有Python标签的文章
Python

Python while、for、生成器、列表推导等语句的执行效率测试

一个功能的实现,可以用多种语句来实现,比如说:while语句、for语句、生成器、列表推导、内置函数等实现,然而他们的效率并不一样。写了一个小程序来测试它们执行的效率。测试内容:将一个数字大小为20万的数字,依次取绝对值,放到列表中,测试重复1千次.测试程序:复制代码代码如下:importtime,sysreps=1000#测试重复次数nums=200000#测试时数字大小deftester(func,*args):#总体测试函数startTime=tim

系统 2019-09-27 17:45:55 2083

Python

python变量、对象和引用你真的明白了吗

python变量、对象和引用你真的明白了吗变量、对象和引用Python不像C++,Java等语言一样,他们可以不用事先声明变量类型而直接对变量进行赋值。对Python语言来讲,对象的类型和内存都是在运行时确定的。这也是为什么我们称Python语言为动态类型的原因这里我们把动态类型可以简单的归结为对变量内存地址的分配是在运行时自动判断变量类型并对变量进行赋值例子在Python中使用变量的时候不需要提前声明变量及其类型,我们这里以a=1来举例:这里变量为a,1

系统 2019-09-27 17:57:22 2082

Python

python的数据类型之字符串(二)

字符串常见操作如有字符串mystr='helloxiaose',以下是常见的操作1.find检测某个字符串是否包含在mystr中,如果是返回开始的索引值,否则返回-1格式:mystr.find(str,start=0,end=len(mystr))示列:2.index跟find()方法一样,只不过如果str不在mystr中会报一个异常.格式:mystr.index(str,start=0,end=len(mystr))示列:3.count返回str在sta

系统 2019-09-27 17:57:16 2082

Python

Python:axis=0 axis=1的理解

官方文档解释:轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。注意看,官方对于0和1的解释是轴,也就是坐标轴。而坐标轴是有方向的,所以千万不要用行和列的思维去想axis,因为行和列是没有方向的,这样想会在遇到不同的例子时感到困惑。根据官方的说法,1表示横轴,方向从左到右;0表示纵轴,方向从上到下。当axis=1时,数组的变化是横向的,而体现出来的是列的增加或者减少。其实axis的重点在于方向,而不是

系统 2019-09-27 17:56:04 2082

Python

Python秒算24点实现及原理详解

什么是24点我们先来约定下老王和他媳妇玩的24点规则:给定4个任意数字(0-9),然后通过+,-,*,/,将这4个数字计算出24。小时候玩的都是这个规则,长大了才有根号,才有各种莫名其妙的高级算法,不好玩了,因为我不会。可能有人会觉得很简单,但是真的简单吗?比如:8,3,3,37,3,3,3你能一眼看出来答案吗?好像真的可以……大致思路这样想,将四个数字进行全排列,在他们之间添加运算符号。运算符我们需要进行排列组合,因为只有四个数字,所以只需要三个运算符,

系统 2019-09-27 17:55:01 2082

Python

Python fileinput模块使用介绍

fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。它的工作方式和readlines很类似,不同点在于它不是将全部的行读到列表中而是创建了一个xreadlines对象。下面是fileinput模块中的常用函数:input()#返回能够用于for循环遍历的对象filename()#返回当前文件的名称lineno()#返回当前已经读取的行的数量(或者序号)filelineno()#返回当前读取的行的行

系统 2019-09-27 17:53:38 2082

Python

python 并发编程 多路复用IO模型详解

多路复用IO(IOmultiplexing)这种IO方式为事件驱动IO(eventdrivenIO)。我们都知道,select/epoll的好处就在于单个进程process就可以同时处理多个网络连接的IO。它的基本原理就是select/epoll这个function会不断的轮询所负责的所有socket,当某个socket有数据到达了,就通知用户进程。它的流程如图:select是多路复用的一种当用户进程调用了select,那么整个进程会被block,而同时,

系统 2019-09-27 17:52:57 2082

Python

Python 绘图,我只用 Matplotlib

01散点图散点图显示两组数据的值,如图1-1所示。每个点的坐标位置由变量的值决定,并由一组不连接的点完成,用于观察两种变量的相关性。例如,身高—体重、温度—维度。图1-1散点图示例使用Matplotlib的scatter()函数绘制散点图,其中x和y是相同长度的数组序列。scatter()函数的一般用法为:主要参数说明如下:x,y:数组。s:散点图中点的大小,可选。c:散点图中点的颜色,可选。marker:散点图的形状,可选。alpha:表示透明度,在0~

系统 2019-09-27 17:52:53 2082

Python

python爬取Ajax动态加载网页过程解析

常见的反爬机制及处理方式1、Headers反爬虫:Cookie、Referer、User-Agent解决方案:通过F12获取headers,传给requests.get()方法2、IP限制:网站根据IP地址访问频率进行反爬,短时间内进制IP访问解决方案:1、构造自己IP代理池,每次访问随机选择代理,经常更新代理池2、购买开放代理或私密代理IP3、降低爬取的速度3、User-Agent限制:类似于IP限制解决方案:构造自己的User-Agent池,每次访问随

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

Python

Python使用正则表达式分割字符串的实现方法

如下:re.split(pattern,string,[maxsplit],[flags])pattern:表示模式字符串,由要匹配的正则表达式转换而来。string:表示要匹配的字符串。maxsplit:可选参数,表示最大的拆分次数。flags:可选参数表示标志位,用于控制匹配方式,如是否区分子母大小写示例代码:importrepattern=r'[?|&]'#定义分隔符url='http://www.baidu.com/login.jsp?userna

系统 2019-09-27 17:50:54 2082

Python

Python 的整数与 Numpy 的数据溢出

某位A同学发了我一张截图,问为何结果中出现了负数?看了图,我第一感觉就是数据溢出了。数据超出能表示的最大值,就会出现奇奇怪怪的结果。然后,他继续发了张图,内容是print(100000*208378),就是直接打印上图的E[0]*G[0],结果是20837800000,这是个正确的结果。所以新的问题是:如果说上图的数据溢出了,为何直接相乘的数却没有溢出?由于我一直忽视数据的表示规则(整型的上限是多少?),而且对Numpy了解不多,还错看了图中结果,误以为每

系统 2019-09-27 17:48:05 2082

Python

Python入门之modf()方法的使用

modf()方法返回两个项的元组x的整数小数部分。这两个元组具有相同x符号。则返回一个浮点数的整数部分。语法以下是modf()方法的语法:importmathmath.modf(x)注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数。参数x--这是一个数值表达式返回值这种方法在两项的元组返回x的整数小数部分。具有相同的x符号。整数部分则返回一个浮点数。例子下面的例子显示了modf()方法的使用。#!/us

系统 2019-09-27 17:46:58 2082

Python

Python的高级Git库 Gittle

Gittle是一个高级纯pythongit库。构建在dulwich之上,提供了大部分的低层机制。InstallitpipinstallgittleExamples:ClonearepositoryfromgittleimportGittlerepo_path='/tmp/gittle_bare'repo_url='git://github.com/FriendCode/gittle.git'repo=Gittle.clone(repo_url,repo_p

系统 2019-09-27 17:38:20 2082

Python

进阶教程:用Python建立全新二层神经结构

原文链接:https://my.oschina.net/u/4161973/blog/3080413全文共5234字,预计学习时长10分钟图片来源:unsplash.com/@alinnnaaaa本文将介绍如何建立进阶神经网络。输入数据本教程唯一使用的数据库为NumPy。importnumpyasnp激活函数在隐藏层中会使用tanh激活函数,而在输出层中则会使用sigmod函数。在两种函数的图中都很容易找到信息。下面直接执行函数。以上为Sigmoid函数。

系统 2019-09-27 17:54:47 2081

Python

排序算法总结(Python实现)——(一)

整个排序算法分两部分来总结,这篇总结第一部分一些相对简单和常用的排序算法,包括冒泡排序、选择排序、插入排序和希尔排序。冒泡排序冒泡排序应该是大家接触的最早的排序方法了,理解起来也十分简单。冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法描述比较相邻的

系统 2019-09-27 17:52:15 2081