微x模块怎么导入主题_记录学习python第10天-模块/正则
最近上班比较忙,就只能抽空学习了
笔记依旧更新在石墨文档。
Python基础知识 《Python基础知识》,可复制链接后用石墨文档 App 或小程序打开
6.5 模块和包
6.5.1 模块的导入和使用
模块导入:
- import XXX
- from 模块名 import 变量 | 函数 | 类
- from 模块名 import * 【表示全部导入】
注:导入模块,会先一次性加载模块里面的所有
——如果不希望进行其调用,可以使用__name__
__name__:
- 在自己的模块中是main
- 如果在其他模块中调用/导入,就是其他模块名
包的导入:
from 包名.模块名 import xxx
里面调用外面模块:
所有的from都是基于项目下
包模块的__init__:
__init__.py文件,在导入包的时候,默认加载调用
作用:
- 默认初始化加载,把一些初始化的函数,变量,类定义在__init__.py文件中
- 此文件中函数,变量等的访问,只需要通过包名.函数....
注:
from 模块 import * 会出现一个问题?
模块调入不了,这是为什么呢?
解决方法:在__init__.py文件中写上__all__ = ['模块名'],表示开放模块。
6.5.2 模块的循环导入
'''循环导入:A:模块def test()f()B:模块def f():test()
'''
6.5.3 常见模块
sys模块:
系统运行环境的模块
time模块:
import timet = time.time()
# 时间戳
print(t)
# 将时间戳转化为字符串
print(time.ctime(t))
# 时间结构,将时间戳变成元组的形式
t2 = time.localtime(t)
print(t2)
# 将元组转化为时间戳
t3 = time.mktime(t2)
print(t3)
# 将元组的方式转化成字符串
t4 = time.strftime('%Y-%m-%d %H:%M:%S')
print(t4)
# 将字符串转化成元组的方式
r = time.strptime('2019/08/04', '%Y/%m/%d')
print(r)
datatime模块:
import datetime
# 获得当前时间
print(datetime.datetime.now())
# 时间差
timedel = datetime.timedelta(days=3) # 时间延迟3天
random模块:
import random
# 获得0-1之间的随机数
ran = random.random()
print(ran)
# 自定义随机数范围
ran1 = random.randrange(1, 9)
print(ran1)
# 随机选取
list1 = ['a', 'b', 'c']
ran2 = random.choice(list1)
print(ran2)
hashlib模块
# 加密算法 md5/sha 都是不可逆加密
import hashlibmsg = '秘密信息'
md5 = hashlib.md5(msg.encode('utf-8'))
sha1 = hashlib.sha1(msg.encode('utf-8'))
sha256 = hashlib.sha256(msg.encode('utf-8'))
print(md5.hexdigest())
print(sha1.hexdigest())
print(sha256.hexdigest())
第三方模块:
pip install 第三方模块名 【建议使用镜像加载】
7.正则表达式(regex)
定义:对字符串(包括普通字符和特殊字符)操作的一种逻辑规则
7.1 正则匹配常见写法:
正则表达式的r:
Python中字符串前面加上 r 表示原生字符串(rawstring)
例子:
import random
import re
username = 'admin001'
# 例如,用户名可以是字母或数字,但不能以数字开头
# ~从开头起匹配,$匹配到结尾结束
result = re.search('^[a-zA-Z][0-9a-zA-Z]{5,}$', username) # 5 位以上匹配
print(result)# 手机的正则匹配
phone = '12345678911'
# {x}:固定x位
# {x:}: >= x位
# {x:y}: 介于x-y位数之间
result1 = re.match('1[35789]d{9}$', phone)# 分组
# 匹配数字0-100数字,?匹配前面的子表达式零次或一次,或指明一个非贪婪限定符
n = random.randint(1, 101)
result = re.match(r'[1-9]?d?$|100$', str(n))
print(result)# findall依次匹配
# match匹配一次
# +表示大于等于1
# 匹配两个字母之间有数字
msg = 'a7aap88ps7778all9oo0065wjh589aw'
result = re.findall('[a-z][0-9]+[a-z]', msg)
print(resu
7.1.1 分组匹配:
# 分组匹配
import rephone = '010-123456789'
result = re.match(r'(d{3}|d{4})-(d{9})$', phone)
print(result)
# 分别提取
print(result.group(1), result.group(2))#
msg = '<html>abc</html>'
msg1 = '<h1>hello</h1>'
result = re.match(r'<[0-9a-zA-Z]+>(.+)</[0-9a-zA-Z]+>$', msg)
print(result)
# 提取一个标签内的值
print(result.group(1))# number
# 让标签成对,防止前后标签不一致的情况出现
result = re.match(r'<([0-9a-zA-Z]+)>(.+)</1>', msg) # 后面的1表示引用第一组
# 看看前后标签是否相同
print(result)
msg = '<html><h1>abc</h1></html>'
result = re.match(r'<([0-9a-zA-Z+])>(.+)</2></1>', msg)
print(ms
import re
# 起名方式:(?P<名字>正则)(?P=名字)
msg = '<html><h1>abc</h1></html>'
ressult = re.match(r'<(?P<name1>w+)><(?P<name2>w+)>(.+)</(?P=name2)></(?P=name1)>', msg)
print(msg)
7.2 贪婪和非贪婪
贪婪模式变成非贪婪模式,加?
微x模块怎么导入主题_记录学习python第10天-模块/正则相关推荐
- 微x模块怎么导入主题_模块
一.模块 模块是最高级别的程序组织单元.在模块中,我们不但可以直接存放变量,还能存放函数和类. 定义变量需要用赋值语句,封装函数需要用def语句,封装类需要用class语句,但是封装模板不需要任何语句 ...
- python多态_记录学习python第9天-继承/多态
6.3 继承 关联关系 has a 一个类中使用了另一种自定义的类 例如:student 使用 computer 类型: 系统类型 str int float... 自定义的类型 继承关系 is a ...
- python自己创建模块引用失败_详解Python import方法引入模块的实例 Python怎么import自己写的模块...
python中 import导入模块失败的问题? python中的import引用不了模块我傻,为你傻;我痛,为你痛;深夜里,你是我一种惯性的回忆. 为什么我用from lianxi import*就 ...
- python模块调用的用法_如何使用Python语言中的random模块调用方法
Python语言中的random模块,包含了很多方法属性,可以直接调用这些方法和设置属性.根据不同的方法展示不同的内容.下面利用几个实例查看random模块中的方法,操作如下: 工具/原料 Pytho ...
- python好多模块和c相识_快速实现python c扩展模块
1 python扩展模块的组成 在python中,对于一些和系统相关的模块或者对性能要求很高的模块,通常会把这个模块C化.扩展模块中主要包含下面几个部分: init函数,函数名为:init+模块名, ...
- python怎么安装re模块_搞懂python中的re模块
现在介绍如何在Python中使用正则表达式. Python提供了re模块,用于实现正则表达式的操作. 通过使用re模块的方法进行字符串处理 re模块提供的方法(如search().match().fi ...
- python timeit模块_如何在Python中使用timeit模块?
文 | 菊子皮(转载请注明出处) 关注公众号: AIAS编程有道 环境:Python 3.7,VS Code timeit模块使用 有时候需要测试创建某种变量而花费的时间.有时候需要测试某个函数的运行 ...
- python cv模块_Python cv包_程序模块 - PyPI - Python中文网
Cv 检查python模块的版本. 查询pypi并在所有可用版本中查找.__version__. 如果版本已经存在,则会引发错误. 在ci中很有用,可以记住更改库版本. 有关python模块版本控制的 ...
- python select模块_深入理解python中的select模块
简介 Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kque ...
最新文章
- 【PSO运输优化】基于MATLAB的PSO运输优化算法的仿真
- 揭秘硅谷进化历程:机遇无穷 成功需付出更高代价
- Linux vi编辑器的使用
- tp3.2 不能提交到action方法_什么是死锁,如何避免死锁(4种方法)
- 「BZOJ2654」tree
- 关于lazyman你还应该知道这几件事
- 二进制 转换 .java_如何在Java程序中将二进制转换为十进制?
- 惊艳的基于nodejs的实时Web开发框架Meteor介绍
- 【研究】人大赵鑫老师报告:如何以初学者角度写好一篇国际学术论文?
- 空间直角坐标转大地坐标
- 如何制作一个微信小程序【微信小程序是怎么做的】
- 15、NC导入excel
- Awesome Chrome 插件集锦
- 傅里叶变换-平稳信号
- S5pv210 出现一个离奇wince6.0 activesync 软件连接问题
- 未发表的2015年年终总结
- 关于标题党、八卦的最优解!!!
- Linux批量改变图片大小,如何用Pix相册批量转换图片格式和调整大小
- 关于雷达信号“相干性”的解释
- java实现手机日历_Java实现日历
热门文章
- Linux用键盘演奏音乐,分享|让我们使用 PC 键盘在终端演奏钢琴
- c语言求n个数中奇数乘积,C语言编程实现从键盘输入N个整数 分别求出奇数和偶数的和 在线等.., 任意输入n个整数,分别统计奇数的和,奇数的个数,偶数的和,...
- layui使用--lay-href
- 赛门铁克发现智能电视或面临感染勒索软件的威胁
- c++,string,compare,nocase,for copy
- Linux服务器搭建测试环境笔记
- 11_RHEL安装Maya2015
- 我与世界杯足球那些事——世界杯征文
- 分析《家园2》《家园》的低效原因
- FarPoint 基础篇(一) 基本概念