Python

用Python创建声明性迷你语言的教程

大多数程序员考虑编程时,他们都要设想用于编写应用程序的命令式样式和技术。最受欢迎的通用编程语言(包括Python和其它面向对象的语言)在样式上绝大多数都是命令式的。另一方面,也有许多编程语言是声明性样式,包括函数语言和逻辑语言,还包括通用语言和专用语言。让我们列出几个属于各个种类的语言。许多读者已经使用过这些工具中的许多工具,但不见得考虑过它们之间的种类差别。Python、C、C++、Java、Perl、Ruby、Smalltalk、Fortran、Bas

系统 2019-09-27 17:38:32 2229

Python

Python基础教程学习笔记 第二章 列表和元组

1、序列中元素的索引:第一个元素索引是0,第二个是1,依次递增最后一个元素索引是-1,倒数第二个是-2,依次递减2、序列(Sequence)的种类:列表(list)、元组(tuple)、字符串(string)、Unicode字符串、buffer对象、xrange对象3、列表和元组的区别:列表可以进行修改,但是元组不行4、tuple常作为字典的键5、序列都可以进行以下操作:索引(indexing)、分片(sliceing)、加(adding)、乘(multi

系统 2019-09-27 17:37:36 2229

Python

Python自动单元测试框架

简介:软件的测试是一件非常乏味的事情,在测试别人编写的软件时尤其如此,程序员通常都只对编写代码感兴趣,而不喜欢文档编写和软件测试这类"没有创新"的工作。既然如此,为什么不让程序员在编写软件时自己加入一些用于测试的代码,使测试过程自动化呢?在软件工程中,这一技术称为自动单元测试,本文介绍在用Python开发软件时如何实现这一目标。一、软件测试大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必须要有相应的质量保证活

系统 2019-08-29 23:00:56 2229

Python

Python入门基础系列1

一名大三(马上大四实习)软件工程学子,入门基础的所有内容都是我在观看网易云课堂的Alex老师的Python课程之后自己所留下的复习笔记,以便加深自己的印象。本文非常非常非常的基础!!!一、开发工具的选择我下载了多款IDE工具,包含eclipse+pydevAnacondacanopypycharm最后通过多方面综合(安装/环境配置过程操作难度,后期运用起来的难易程度)最后选择了Pycharm,因为就我个人来看,我感觉学生党用jetbrains的IDE真的是

系统 2019-09-27 17:56:28 2228

Python

廖雪峰Python教程笔记(四)

廖雪峰Python教程笔记(四)6高级特性切片slice迭代列表生成式生成器迭代器6高级特性在Python中,代码不是越多越好,而是越少越好。代码不是越复杂越好,而是越简单越好。基于这一思想,我们来介绍Python中非常有用的高级特性,1行代码能实现的功能,决不写5行代码。请始终牢记,代码越少,开发效率越高。切片slice经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符取前3个元素,用一行代码就可以完成切片:L[0

系统 2019-09-27 17:55:36 2228

Python

Python leetcode862. 和至少为 K 的最短子数组 详解

leetcode862.和至少为K的最短子数组返回A的最短的非空连续子数组的长度,该子数组的和至少为K。如果没有和至少为K的非空子数组,返回-1。示例1:输入:A=[1],K=1输出:1示例2:输入:A=[1,2],K=4输出:-1示例3:输入:A=[2,-1,2],K=3输出:3#使用collections.deque模块版本classSolution:defshortestSubarray(self,A,K):fromcollectionsimport

系统 2019-09-27 17:55:14 2228

Python

python网络爬虫学习笔记(2)

网络爬虫学习笔记(2)1资料《Python网络爬虫从入门到实践》唐松,陈志铨。主要面向windows平台下的python3。菜鸟教程-》python2笔记2-1Python基础(1)++python的列表还有一种只读格式——元组Tuple,它用()进行赋值,且只能在初始化时赋值。列表有追加元素的内置方法append()字典有内置方法keys()(获得所有键的值),values()元组用“()”标识,列表用“[]”标识,字典用“{}”标识type(变量)查看

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

Python

1 行 Python 代码快速实现 FTP 服务器

摘要:当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。当你想快速共享一个目录的时候,这是特别有用的,只需要1行代码即可实现。FTP服务器,在此之前我都是使用Linux的vsftpd软件包来搭建FTP服务器的,现在发现了利用pyftpdlib可以更加简单的方法即可实现FTP服务器的功能。环境要求Python2.7Windows/Linux环境搭建一行代码实现FTP服务器通过Python的-m选项作为一个简单的独立服务器来运行,当你想快速

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

Python

在Python中构建增广矩阵的实现方法

麻烦的#TODO构造增广矩阵,假设A,b行数相同defaugmentMatrix(A,b):if(len(A)!=len(b)):raise'Thenumberofrowsisdifferent'result=[]foriinrange(len(A)):row=[]forjinrange(len(A[i])):row.append(A[i][j])forjinrange(len(b[i])):row.append(b[i][j])result.append

系统 2019-09-27 17:52:06 2228

Python

Python编写通讯录通过数据库存储实现模糊查询功能

1.要求数据库存储通讯录,要求按姓名/电话号码查询,查询条件只有一个输入入口,自动识别输入的是姓名还是号码,允许模糊查询。2.实现功能可通过输入指令进行操作。(1)首先输入“add”,可以对通讯录进行添加联系人信息。sql1='insertintoTA(ID,NAME,AGE,ADDRESS,TELENUMBER)'sql1+='values("%d","%s","%d","%s","%s");'%(ID,name,age,address,telenumb

系统 2019-09-27 17:49:30 2228

Python

Python妙用re.sub分析正则表达式匹配过程

声明:本文所使用方法为老猿自行研究并编码,相关代码版权为老猿所有,禁止转载文章,代码禁止用于商业用途!在《第11.23节Python中re模块的搜索替换功能:sub及subn函数》介绍了re.sub函数,其中的替换内容可以是一个函数,利用该功能我们可以展示正则表达式匹配过程中匹配到的目标子串的匹配顺序、匹配文本的内容和匹配文本在搜索文本中的位置。具体实现如下:importrematchcount=0defparsematch(patstr,text):gl

系统 2019-09-27 17:48:49 2228

Python

希尔排序-python版

希尔排序思想:算法先将要排序的一组数按某个增量d分成若干组,每组中记录的下标相差d.对每组中全部元素进行排序,然后再用一个较小的增量对它进行,在每组中再进行排序。当增量减到1时,整个要排序的数被分成一组,排序完成。一般的初次取序列的一半为增量,以后每次减半,直到增量为1。defshell_sort(list):n=len(list)gap=n//2new_list=[]whilegap>1:foriinrange(gap):iflist[i]>list[i

系统 2019-09-27 17:48:16 2228

Python

Python网络爬虫与信息提取——bs4

BeautifulSoup库解析器解析器使用方法条件bs4的HTML解析器BeautifulSoup(mk,'html.parser')安装bs4库lxml的HTML解析器BeautifulSoup(mk,'xml')pipinstalllxmllxml的XML解析器BeautifulSoup(mk,'xml')pipinstalllxmlhtml5lib的解析器BeautifulSoup(mk,'htm5lib')pipinstallhtm151ibBe

系统 2019-09-27 17:46:54 2228

Python

一篇文章弄懂Python中的可迭代对象、迭代器和生成器

我们都知道,序列可以迭代。但是,你知道为什么吗?本文来探讨一下迭代背后的原理。序列可以迭代的原因:iter函数。解释器需要迭代对象x时,会自动调用iter(x)。内置的iter函数有以下作用:(1)检查对象是否实现了iter方法,如果实现了就调用它,获取一个迭代器。(2)如果没有实现iter方法,但是实现了getitem方法,而且其参数是从零开始的索引,Python会创建一个迭代器,尝试按顺序(从索引0开始)获取元素。(3)如果前面两步都失败,Python

系统 2019-09-27 17:46:04 2228