第十九天模块调用的讲解:

Posted ab461087603

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十九天模块调用的讲解:相关的知识,希望对你有一定的参考价值。

1.怎么在re模块中使用search给要输出的内容进行命名:(?p<name>正则表达式)

技术图片
import re
ret=re.search(d(?P<name>w+),1jdkfjjdfkjjfdj)
print(ret.group(name))
结果为
jdkfjjdfkjjfdj
View Code

2.可以利用分组中的的形式给分组进行起名字:(?P<name>)

技术图片
import re
ret=re.search(<(?P<tag_name>w+)>w+</(?P=tag_name)>,<h1>hello</h11>)
print(ret.group(tag_name))#如果前后的tag_name不一致则会报错
print(ret.group())
结果为
  File "D:/python练习程序/第十七天/第十九天.py", line 10, in <module>
    print(ret.group(tag_name))
AttributeError: NoneType object has no attribute group


import re
ret=re.search(<(?P<tag_name>w+)>w+</(?P=tag_name)>,<h1>hello</h1>)
print(ret.group(tag_name))#如果前后的tag_name不一致则会报错
print(ret.group())
结果为
h1
<h1>hello</h1>
View Code

3.如果不给分组中起名字也可以通过序号来找到对应的组:

技术图片
import re
ret = re.search(r"<(w+)>w+</1>","<h1>hello</h1>")
print(ret.group(1))
print(ret.group())
结果为
h1
<h1>hello</h1>
View Code

4.寻找计算字符串中的整数:

技术图片
import  re
ret=re.findall(rd+.d+|(d+),1-2*(60+(-40.35/5)-(-4*3)))
print(ret)
ret.remove(‘‘)
print(ret)
结果为
[1, 2, 60, ‘‘, 5, 4, 3]
[1, 2, 60, 5, 4, 3]
View Code

5.如果要把数字里的符号带着:

技术图片
import  re
ret=re.findall(r-?d+.d+|(-?d+),1-2*(60+(-40.35/5)-(-4*3)))
print(ret)
ret.remove(‘‘)
print(ret)
结果为
[1, -2, 60, ‘‘, 5, -4, 3]
[1, -2, 60, 5, -4, 3]
View Code

6.flag的许多用法:

 

技术图片

 

 

 7.匹配一段文本中的每行的邮箱:

技术图片
import re
ret=re.findall(r(?P<email>w+://w+.w+.w*?/),http://blog.csdn.net/make164444332/artciel/5444)
print(ret)
结果为
[http://blog.csdn.net/]
View Code

8.正则表达式的一些题目

技术图片

 

 

 9.模块的讲解:collections 、random、序列化、os、时间模块、

10.1collectios模块:python中的扩展数据类型:

 

 

  10.1namedtuple :生成的名字可以访问元素的tuple

技术图片
from collections import namedtuple
Point=namedtuple(point,[x,y,z])
p1=Point(1,3,5)
p2=Point(2,3,6)
print(p1)
print(p1.x)
print(p2.z)
结果为
point(x=1, y=3, z=5)
1
6
View Code

  10.2deque:双端队列,可以快速的从另外一端追加和推出对象:使用列表进行数据存储时如果按照索引进行元素访问时,就会很快,但是插入和删除元素就会很慢,因为list时线

性存储而队列是链性存储

    10.21队列:满足先进先出的原则:FIFO

技术图片
import queue
q=queue.Queue()
q.put([1,3,5])
q.put(3)
q.put((1,4))
print(q.get())
print(q.get())
print(q.get())
print(q.get())#当值取完之后在操作不会报错会进行堵塞不会进行接下来的操作
q.put(3)
print(q.get())
结果为
[1, 3, 5]
3
(1, 4)
View Code

    10.22双端队列指的是数据既可以从前面、后面或者插入的方式进行数据的放入和读取:

技术图片
from collections import deque
dq=deque([1,3])
dq.append(a)#在队列的最后添加元素
dq.appendleft(b)#在队列的最前面添加元素
dq.insert(3,4)#在队列的最4个位置添加元素
print(dq)
print(dq.pop())#取出最后一个元素
print(dq.popleft())#取出第一个元素
结果为
deque([b, 1, 3, 4, a])
a
b
View Code

  10.3有序字典:就是按照key的顺序进行输出:常用于购物车或者一些有序的场景下,但是有序字典比无序字典占的内存大:

技术图片
from collections import  OrderedDict
od=OrderedDict([(a,1),(b,4),(c,5)])
for i in od:
    print(i)
结果为
a
b
c
View Code

  10.4带默认值的字典:

技术图片
from collections import  defaultdict
d=defaultdict(lambda:5)#必须是一个callable类型
print(d[k])
结果为
5
View Code
技术图片
from collections import defaultdict
values=[11,33,55,66,77,99,134,43]
my_dict=defaultdict(list)
for value in values:
    if value>66:
        my_dict[k1].append(value)
    else:
        my_dict[k2].append(value)
print(my_dict)
结果为
defaultdict(<class list>, {k2: [11, 33, 55, 66, 43], k1: [77, 99, 134]})
View Code

11.time模块:

在python中又三种方式来表示时间分别是时间戳、元组(strct_time)、格式化字符串

  11.1时间戳(struct_stamp):通常来说,时间戳就是从1970年1月1号开始·计算时间的偏移量,类型是浮点型(float)

技术图片
import time
ret=time.time()
print(ret)
结果为
1582203205.305226
View Code

  11.2格式化的·时间字符串:formatstirng

技术图片
import time
print(time.strftime(%Y-%m-%d %H:%M:%S))#year month day hour minute second
结果为
2020-02-20 20:56:56
View Code

  11.3元组(struct_time)里面共有9个元素(年月日时分秒一年中第几周,一年中第几天)

技术图片 

技术图片
import time
struct_time=time.localtime()
print(struct_time)
print(struct_time.tm_yday)
结果为
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=20, tm_hour=21, tm_min=4, tm_sec=1, tm_wday=3, tm_yday=51, tm_isdst=0)
51
View Code

技术图片

 

 11.4 3种格式的转换:

技术图片

 

     11.31时间戳和结构化时间的转换:

技术图片
import time
t=time.time()
print(t)
print(time.localtime(t))
结果为
1582204284.5429978
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=20, tm_hour=21, tm_min=11, tm_sec=24, tm_wday=3, tm_yday=51, tm_isdst=0)
View Code
技术图片
import time
t=time.localtime()
print(t)
print(time.mktime(t))
结果为
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=20, tm_hour=21, tm_min=13, tm_sec=24, tm_wday=3, tm_yday=51, tm_isdst=0)
1582204404.0
View Code

  11.34时间格式化和时间结构化之间的转换:

技术图片
import time
ret=time.strftime(%Y-%m-%d %H:%M:%S)
print(time.strptime(ret,%Y-%m-%d %H:%M:%S))
结果为
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=20, tm_hour=21, tm_min=24, tm_sec=14, tm_wday=3, tm_yday=51, tm_isdst=-1)
View Code
技术图片
print(time.strftime(%Y-%m-%d %H:%M:%S,time.localtime()))
结果为
2020-02-20 21:25:41
View Code

 

以上是关于第十九天模块调用的讲解:的主要内容,如果未能解决你的问题,请参考以下文章

python第十九天——感冒中

python学习第十九天:re,sys,suprocess模块

学习python课程第十九天

寒假每日一题总结(第十五天)

java自学笔记第十九天

javaSE第十九天