元组

爬虫学习笔记第二天(urllib库)

烈酒焚心 提交于 2019-11-28 08:20:56
1.urllib库(python自带的内置HTTP请求库):request模块(模拟发送请求);error(异常处理模块);parse(工具模块,处理URL);robotparser(识别网站的robots.txt文件)。 1.1 https://docs.python.org/3/library/urllib.request.html 官方手册。request模块:urlopen()方法,网站抓取,返回一个HTTPResponse类型的对象,该对象有read(),readinto(),getheader(name),getheaders(),fileno()等方法和msg,versuin,status,reason,debuglevel,closed等属性。,urlopen的API:urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None.capath=None,cadefault=False,context=None)>>>>>>Request()类,返回一个request类型的对象,class urllib.request.Request(url,data=None,headers={},origine_req_host=None,unverifiable=False,method=None)>>>>>

python高级 之(三) --- 模块方法

丶灬走出姿态 提交于 2019-11-28 06:13:39
模块   时间模块:time/datatime/calendar。   系统操作文件模块:os time模块 介绍 1 import time 2 3 # 获取当前时间, 结果是存在时间元组中的。星期一是从0开始的 4 # 结果:time.struct_time(tm_year=2019, tm_mon=8, tm_mday=22, tm_hour=18, tm_min=21, tm_sec=46, tm_wday=3, tm_yday=234, tm_isdst=0) 5 c_time = time.localtime() 6 print(c_time) 7 8 9 # 获取时间元组中指定的时间。比如 年 10 year = c_time[0] 11 print(year) 12 # 获取时间元组中指定的时间。比如 年。根据时间元组中指定的时间字段获取 13 year = c_time.tm_year 14 print(year) 15 16 17 # 获取时间戳。指定时间对应的秒数。当前时间对应的时间戳 18 now = time.time() 19 print(now) 20 21 22 # 时间格式化。占位格式: 23 """ 24 格式化时间的占位符: 25 %Y ---- 年 26 %m --- 月 27 %d ---- 日 28 %H ---- 24小时制 29 %I

python 基础(十五)--time和datatime模块

孤人 提交于 2019-11-28 05:42:04
time模块 time.time():返回当前时间,时间戳 time.clock():返回cpu时间(?),当有time.sleep()时,time.clock()不计时 time.localtime([secs]):无参返回本地时间,时间元组;有参将时间戳转成元组 time.gmtime([secs]):转成UTC时区(0时区) time.mktime(time_tuple):将时间元组转换为时间戳 time.sleep(secs):程序暂停一段时间 time.asctime([time tuple]):时间元组转成英文格式时间(?) time.ctime([sec]):时间戳转换为英文格式时间 time.strftime(format_str,[time_tuple)):将时间元组格式化成字串输出 time.strftime('%Y-%m-%d %H:%M:%S %a %A %b %B') ---------------------------------------------------------- '2019-08-22 14:55:59 Thu Thursday Aug August' time.strptime(str,format_str):将字符串时间格式话时间元组输出 time.strptime('2018','%Y') -------------------

Python列表,元组,字典,集合

和自甴很熟 提交于 2019-11-28 05:26:46
  列表   Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。   列表追加数据的方法:append(),extend(数组),insert(位置,值)      将列表当做堆栈使用   表方法使得列表可以很方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出)。用 append() 方法可以把一个元素添加到堆栈顶。用不指定索引的 pop() 方法可以把一个元素从堆栈顶释放出来。例如:      将列表当作队列使用   也可以把列表当做队列用,只是在队列里第一加入的元素,第一个取出来;但是拿列表用作这样的目的效率不高。在列表的最后添加或者弹出元素速度快,然而在列表里插入或者从头部弹出速度却不快(因为所有其他的元素都得一个一个地移动)。      列表推导式      列表删除语句:del,pop(),remove()   del 语句   使用 del 语句可以从一个列表中依索引而不是值来删除一个元素。这与使用 pop() 返回一个值不同。可以用 del 语句从列表中删除一个切割,或清空整个列表(我们以前介绍的方法是给该切割赋一个空列表)。例如:      remove()      pop()语句      查看list内置函数   reverse():倒置      sort

python-nametuple命名元组

风流意气都作罢 提交于 2019-11-28 03:52:44
from collections import namedtuple MyTupleClass = namedtuple('MyTupleClass',['name', 'age', 'job']) obj = MyTupleClass("Tomsom",12,'Cooker') print(obj.name) print(obj.age) print(obj.job) output: D:\soft\python36\python.exe D:/myproject/demo/log/test.py Tomsom 12 Cooker 来源: https://www.cnblogs.com/wang-mengmeng/p/11390555.html

Python基础中所出现的异常报错总结

拥有回忆 提交于 2019-11-28 01:17:59
今天我们来探索python中大部分的异常报错 首先异常是什么,异常白话解释就是不正常,程序里面一般是指程序员输入的格式不规范,或者需求的参数类型不对应,不全等等。 打个比方很多公司年终送苹果笔记本,你程序话思维以为是(MAC)电脑笔记本,结果给你个苹果+笔记本。。。首先类型不对,数量也不对。 先来看几个常见的报错如下: NameError 命名错误 原因是: name 'a' is not defined 命名a还未定义 简单来说就是程序不知道a带表谁 如果a=1 那程序就懂了 a代表1 所以以后碰到这类代码只用找到错误未定义的a给它赋相应的值即可解决了。 好了我们继续看下一个如下: IndexError 索引错误(也有叫边界错误) 原因: list index out of range 列表的索引已经超出其范围导致 列表a只有2个参数,下标是0,1(不懂去看列表基础),而我要打印下标2位置的值这时候就超过它的标准不在范围内 打个比方坐公交车1米2以下儿童免费,结果来个1米5上来就不能免费因为你超过规定高度 来我们继续continue: KeyError 键值错误 一般出现在字典中原因是:字典a中没有height这个键值,name已经打印出来因为a里面已经存在 字典是由dict = { key : value }一一对应组成

python异常报错详解

空扰寡人 提交于 2019-11-28 01:17:20
异常BaseException 所有内置异常的基类。它不是直接由用户定义的类继承(为此使用Exception)。如果 str()或者unicode()是在这个类的一个实例上被调用,返回实例的参数表示形式,或者当没有参数时,返回空字符串。 新版本2.5。 args 给异常构造函数的元组元组。一些内置异常(如IOError)期望一定数量的参数,并为此元组的元素分配特殊含义,而其他异常通常仅使用单个字符串给出错误消息。 异常Exception 所有内置的非系统退出的异常都是从这个类派生出来的。所有用户定义的异常也应该从此类派生。 更改版本2.5:更改为继承BaseException。 异常StandardError 该基类除了所有内置例外StopIteration, GeneratorExit,KeyboardInterrupt和SystemExit。 StandardError本身源于Exception。 异常ArithmeticError 对于那些内置异常的基类时引发的各种算术错误:OverflowError,ZeroDivisionError, FloatingPointError。 异常BufferError 当无法执行缓冲区相关操作时引发。 异常LookupError 当映射或序列上使用的键或索引无效时引发异常的基类:IndexError,KeyError

Python可变参数

萝らか妹 提交于 2019-11-27 22:05:26
很多编程语言都允许定义个数可变的参数,这样可以在调用函数时传入任意多个参数。Python 也不例外,在定义函数时也可以使用可变参数。 可变参数,又称不定长参数,即传入函数中的实际参数可以是任意多个。Python 定义可变参数,主要有以下 2 种形式。 1) 可变参数:形参前添加一个 '*' 此种形式的语法格式如下所示: *parameter 其中,parameter 表示形参名。这种形式表示接受任意多个实际参数,并将其放到一个元组中。 下面程序定义了一个形参个数可变的函数: # 定义了支持参数收集的函数 def test(a, *books) : print(books) # books被当成元组处理 for b in books : print(b) # 输出整数变量a的值 print(a) # 调用test()函数 test(5 , "C语言中文网" , "Python教程") 运行上面程序,将看到如下运行结果: ('C语言中文网', 'Python教程') C语言中文网 Python教程 5 从上面的运行结果可以看出,当调用 test() 函数时,books 参数可以传入多个字符串作为参数值。从 test() 的函数体代码来看,参数收集的本质就是一个元组: Python 会将传给 books 参数的多个值收集成一个元组。 Python

45-数据类型分类

巧了我就是萌 提交于 2019-11-27 22:02:07
目录 数据类型分类 一.按存值个数区分 二.按有序or无序区分 三.按照可变or不可变区分 四.按照访问类型 数据类型分类 一.按存值个数区分 存值个数 数据类型 单个值 数字,字符串 多个值(容器类型) 列表,元组,字典,集合 二.按有序or无序区分 有序or无序 数据类型 有序(可以按照 索引取值) 字符串,列表,元组 无序 字典,集合 三.按照可变or不可变区分 可变or不可变 数据类型 可变 列表,集合,字典 不可变 数字,元组,字符串 四.按照访问类型 访问类型 数据类型 直接访问 数字 顺序访问(序列类型) 字符串,列表,元组 key值访问(映射类型) 字典 来源: https://www.cnblogs.com/LWX-YEER/p/11379650.html

Python学习(四)

拜拜、爱过 提交于 2019-11-27 21:34:15
Python学习(四) 一、列表 1、列表的定义 2、列表的常见操作 3、区分关键字、函数、方法 二、元组 1.元组的定义 2、元组的基本操作 3、元组的使用场景 4、列表和元组之间的转换 三、字典 1、定义 2、基本用法 3、应用的场景 四、字符串 1、定义 2、字符串基本操作 1、类型判断 2、查找替换 3、大小写转换 4、文本对齐 5、去除空白字符 6、拆分和连接 3、字符串切片 知识回顾 : (1)、Python中变量分为数字型和非数字型 数字型:int.float,bool,complex 非数字型:字符串、列表、元组、字典 (2)、在Python中,所有的 非数字型 变量都有以下的特点: 都是一个**序列**,可以理解为**容器** **取值**:[] **遍历**:for in 计算长度,最大值,最小值,比较,删除 **链接**:+ 和 **重复**:* 切片 一、列表 1、列表的定义 列表变量名 = [ 内容,中间用逗号,同一个列表可以储存不同类型的数据 ] 2、列表的常见操作 name_list = [ "zhangsan" , "lisi" ] #取值 print ( name_list [ 0 ] ) #取索引 print ( name_list . index ( "lisi" ) ) #修改 name_list [ 0 ] = "wangwu" #增加值