拥有Python标签的文章
Python

python的迭代器与生成器实例详解

本文以实例详解了python的迭代器与生成器,具体如下所示:1.迭代器概述:迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退。1.1使用迭代器的优点对于原生支持随机访问的数据结构(如tuple、list),迭代器和经典for循环的索引访问相比并无优势,反而丢失了索引值(可以使用内建函数enumerate()找回这个索引值)。但对于无法随机访

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

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:52 1999

Python

深入讲解Python中的迭代器和生成器

在Python中,很多对象都是可以通过for语句来直接遍历的,例如list、string、dict等等,这些对象都可以被称为可迭代对象。至于说哪些对象是可以被迭代访问的,就要了解一下迭代器相关的知识了。迭代器迭代器对象要求支持迭代器协议的对象,在Python中,支持迭代器协议就是实现对象的__iter__()和next()方法。其中__iter__()方法返回迭代器对象本身;next()方法返回容器的下一个元素,在结尾时引发StopIteration异常。

系统 2019-09-27 17:45:46 1999

Python

用python打印菱形的实操方法和代码

python怎么打印菱形?下面给大家带来三种方法:第一种rows=int(input('请输入菱形边长:\n'))row=1whilerow<=rows:col=1#保证每次内循环col都从1开始,打印前面空格的个数whilecol<=(rows-row):#这个内层while就是单纯打印空格print('',end='')#空格的打印不换行col+=1print(row*'*')#每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星

系统 2019-09-27 17:38:09 1999

Python

Python装饰器使用实例:验证参数合法性

python是不带静态检查的动态语言,有时候需要在调用函数时保证参数合法。检查参数合法性是一个显著的切面场景,各个函数都可能有这个需求。但另一方面,参数合法性是不是应该由调用方来保证比较好也是一个需要结合实际才能回答的问题,总之双方约定好,不要都不检查或者都检查就可以了。下面这个模块用于在函数上使用装饰器进行参数的合法性验证。你可以直接执行这个模块进行测试,如果完全没有输出则表示通过。你也可以找到几个以_test开头的函数,所有的测试用例都包含在这几个函数

系统 2019-09-27 17:37:43 1999

Python

Python参数类型以及常见的坑

导语由于之前遇到过几次有关于参数类型的坑,以及经常容易把一些参数类型搞混淆,现在做一下有关参数类型的总结记录以及对之前踩坑经历的分析。参数类型首先我们列举一下有关于Python的参数类型,以及实际上的运用和原理。位置参数(必选参数)默认参数可变参数关键字参数位置参数(必选参数)首先是位置参数,同时也被称作必选参数,位置参数很好理解,只要记住这点:在函数定义时直接给定的此参数名称,调用时按照参数的位置顺序,依次赋予参数值。示例:defperson_info(

系统 2019-09-27 17:57:36 1998

Python

python求最大值,不使用内置函数的实现方法

利用python进行求解,求解的要求是不能使用python内部封装好的函数例如:maxway1:deffindmax(data,n):ifn==1:returndata[0]else:maxi=data[0]foriindata[1:]:ifmaxicoderesult:34way2:defgetMax(arr):foriinrange(0,len(arr)):forjinrange(i+1,len(arr)):first=int(arr[i])secon

系统 2019-09-27 17:56:54 1998

Python

python使用Berkeley DB数据库实例

本文实例讲述了python使用BerkeleyDB数据库的方法,分享给大家供大家参考。具体实现方法如下:try:frombsddbimportdbexceptImportError:frombsddb3importdbprintdb.DB_VERSION_STRING#检测是否有bsddb包defirecords(curs):record=curs.first()whilerecord:yieldrecordrecord=curs.next()adb=db

系统 2019-09-27 17:56:25 1998

Python

python使用matplotlib绘制折线图教程

matplotlib简介matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。在Linux下比较著名的数据图工具还有gnuplot,这个是免费的,Python有一个包可以调

系统 2019-09-27 17:55:54 1998

Python

python模块导入总结

python模块导入总结模块导入方式定义test.py模块defprint_func():print("hello")import语句导入模块语法importmodule1[,module2[,...moduleN]]引用print_func()函数模块名.函数名#!/usr/bin/python#-*-coding:UTF-8-*-#导入模块importtest#现在可以调用模块里包含的函数了test.print_func()from…import语句P

系统 2019-09-27 17:55:19 1998

Python

浅谈MySQL在cmd和python下的常用操作

环境配置1:安装mysql,环境变量添加mysql的bin目录环境配置2:python安装MySQL-Python请根据自身操作系统下载安装,否则会报c++compile9.0,import_mysql等错误windows1064位操作系统可到http://www.lfd.uci.edu/~gohlke/pythonlibs/下载安装MySQL-Python包,至于whl和tar.gz在windows和Linux下的安装方法可查看我的上一篇文章一、cmd命

系统 2019-09-27 17:55:17 1998

Python

对于Python深浅拷贝的理解

1,浅拷贝是什么?浅拷贝是对于一个对象的顶层拷贝,通俗的理解是:拷贝了引用,并没有拷贝内容通过a=b这种方式赋值只是赋值的引用(内存地址),a和b都指向了同一个内存空间,所以他们的id(地址相同),这种就是浅拷贝2,深拷贝是什么?通过调用copy包里的deepcopy方法来深拷贝,其实就是在内存区在分配保存了和a相同的数据,用c来指向它,和a的内存地址不同。怎么验证就是我说的这种情况的呢?用下图来说明吧:可以看出向a添加一个元素,通过浅拷贝的b也随着改了,

系统 2019-09-27 17:54:42 1998

Python

《Python3爬虫、数据清洗和可视化实战》之阅读不懂处、主要代码总结(11章)

《Python3爬虫、数据清洗和可视化实战》零一韩要宾黄园园著第11章数据可视化11.1matplotlib调用matplotlib有下面四个步骤:(1)设定画图背景样式mpl.style.use(“ggplot”)(2)设定画布#命名画布为fig,并把fig分为两个小画布(ax1,ax2),设置fig的大小为12*4点fig,(ax1,ax2)=plt.subplots(1,2,figsize=(12,4))(3)画图及设定元素df_mean.价格.pl

系统 2019-09-27 17:54:24 1998

Python

Python3内置模块之base64编解码方法详解

概述Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。比如使二进制数据可以作为电子邮件的内容正确地发送,用作URL的一部分,或者作为HTTPPOST请求的一部分.即base64其实不能归属密码领域,作用也不是用于加密,它是一种编码算法

系统 2019-09-27 17:53:02 1998