当前位置: 首页 > news >正文

网站建设 启象科技b站入口2024已更新

网站建设 启象科技,b站入口2024已更新,免费发布信息网站有哪些,房产经纪人怎么做网站1、Python模块 1.1模块的简介 在编写代码的时候,创建的.py文件就被称为一个模块 1.2模块的使用 想要在a文件里使用b文件的时候,只要在a文件中使用关键字import导入即可 1.2.2 from ...import...语句 导入模块可以使用import,如果只导入模…

1、Python模块

1.1模块的简介

在编写代码的时候,创建的.py文件就被称为一个模块

1.2模块的使用

想要在a文件里使用b文件的时候,只要在a文件中使用关键字import导入即可

1.2.2 from ...import...语句

导入模块可以使用import,如果只导入模块的某个属性或者方法,可以使用from ...import....语句

1.3Python中的包

1.3.1什么是包

包就是一个含有__init__.py的文件夹,文件夹中可以含有子包或者模块

1.3.2如何使用包

包的本质是模块,目的也是为了被导入使用,但是包不能像普通模块那样执行代码,所以包提供了一个__init__.py文件,导入包则会执行此文件,这就是包含有此文件的意义

1.3.3导入自定义包

导入自定义包需要保证包在Python的搜索路径中,列表包括:

1.当前脚本所在目录

2.环境变量PYTHONPATH的目录

3.你所使用的Python编辑器版本的安装目录中

(一般都将自定义包放在所在目录或者子目录中,或者放在环境变量中)

1.4Python标准库(了解一下)

模块名称

模块描述

os

os 模块提供了许多与操作系统交互的函数,例如创建、移动和删除文件和目录,以及访问环境变量等。

sys

sys 模块提供了与 Python 解释器和系统相关的功能,例如解释器的版本和路径,以及与 stdin、stdout 和 stderr 相关的信息。

time

time 模块提供了处理时间的函数,例如获取当前时间、格式化日期和时间、计时等。

datetime

datetime 模块提供了更高级的日期和时间处理函数,例如处理时区、计算时间差、计算日期差等。

math

math 模块提供了数学函数,例如三角函数、对数函数、指数函数、常数等。

json

json 模块提供了 JSON 编码和解码函数,可以将 Python 对象转换为 JSON 格式,并从 JSON 格式中解析出 Python 对象。

numpy

一个用于维度数组计算的库

opencv

一个用于计算机视觉的库

matplotlib

一个用于数据可视化的库(绘图)

scikit-learn

一个用于机器学习的库

tensorflow

一个用于深度学习的库

threading

一个用于设置多线程的库

2、迭代器与生成器

2.1迭代器

迭代是python访问集合中元素的一种方式,迭代器是一个可以记住遍历的位置的对象。

举例:

使用map()函数,将一个函数作用于一个序列中的所有元素,并返回一个迭代器——对迭代器可以再次转换成list tuple set等等等

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不能后退。

迭代器有两个基本的方法:iter() 和 next()。

s = "HQYJ"
print(type(s))# iter() 方法 把序列转换成 迭代器
iter1 = iter(s)
print(type(iter1))
try:while True:print(next(iter1))
except StopIteration:print("迭代已结束")

StopIteration

StopIteration 异常用于标识迭代的完成,防止出现无限循环的情况,在__next__()方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代

创建一个迭代器

把一个类作为一个迭代器使用需要在类中实现两个方法 iter() 与 next() 。

  • iter() 方法返回一个特殊的迭代器对象,这个迭代器对象实现了 next() 方法并通过 StopIteration 异常标识迭代的完成。
  • next() 方法会返回下一个迭代器对象。

demo:

# 创建一个返回数字的迭代器,起始值为10,逐步递增10
# 也就是说起始值是10,步长值为10
class MyNum:def __iter__(self):self.a = 10return selfdef __next__(self):x = self.aself.a += 10return x# 实例化对象
my_iter = iter(MyNum())#实例化这个类print(next(my_iter))
print(next(my_iter))
print(next(my_iter))
print(next(my_iter))
print(next(my_iter))

2.2生成器

在Python中使用了yield的函数被称为--生成器

yield 是一个关键字,用于定义生成器函数,生成器函数是一种特殊的函数,可以在迭代过程中逐步产生值,而不是一次性返回所有结果。

与普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单的理解【生成器就是一个迭代器】。

每次使用yield语句生产一个值之后,函数都将暂停执行【内存释放出来】,等待再次唤醒。

yield语句和return语句的差别就在于yield语句返回的是可迭代对象,而return返回的是不可迭代对象。

每次调用生成器的next()方法或者使用for或while循环进行迭代时,函数会从上次暂停的地方继续执行,直到再次遇见yield语句。

def creat1(n):while n>0:yield nn -= 1create_iter = creat1(5)print(next(create_iter))for i in create_iter:print(i)

3、正则表达式

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re模块使 Python 语言拥有全部的正则表达式功能。

一个正则表达式的匹配工具:https://regex101.com/

3.1re.match函数

从字符串的起始位置匹配,匹配不成功就返回None

语法格式:re.match(pattern, string, flags=0)

参数: pattern 需要匹配的正则表达式

string 匹配的字符串

flags 标志位,用于控制正则表达式的匹配方式,

         如:是否区分大小写,多行匹配等

若匹配到了数据,就可以使用group(num) 或 groups() 来提取数据了。

group(num=0) 匹配整个字符串,可以设置参数

groups() 返回一个元组,包含所有小组字符串的元组

import re# match从开始位置匹配
ret = re.match('hqyj', "hqyj world hqyj")
print(ret.group())

3.2re.search函数

re.search 扫描整个字符串并返回第一个成功匹配的字符串。

import re
s1 = 'hqyj world hqyj'
s2 = 'hello hqyj world hqyj hahaha'# search扫描整个字符串,返回第一个匹配的结果
set = re.search('hqyj', s2)
print(set, set.group())

3.3 re.findall函数

re.findall 匹配整个字符串,返回string中所有与pattern相匹配的全部子串,返回形式为数组

import re
s1 = 'hqyj world hqyj'
s2 = 'hello hqyj world hqyj hahaha'
# findall 扫描整个字符串,返回所有匹配的结果
fet = re.findall('hqyj', s2)
print(fet)

3.4 matchr、search、findall的区别

  1. re.match 从首字母匹配,如果字符串开始不符合正则表达式,则匹配失败,函数返回 None。

  2. re.search 匹配整个字符串,直到找到一个对应匹配【若有多个,也只返回第一个】。

  3. re.findall 返回匹配到的所有子串。

3.5 正则表达式修饰符 - 可选标志

正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。如 re.I | re.M 被设置成 I 和 M 标志:

修饰符

描述

re.I

使匹配对大小写不敏感。

re.L

做本地化识别(locale-aware)匹配。

re.M

多行匹配,影响 ^ 和 $。

re.S

使 . 匹配包括换行在内的所有字符。

re.U

根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B。

re.X

该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。

3.6 正则表达式模式

模式字符串使用特殊的语法来表示一个正则表达式。

  1. 字母和数字表示他们自身。
  2. 一个正则表达式模式中的字母和数字匹配同样的字符串。
  3. 多数字母和数字前加一个反斜杠时会拥有不同的含义。
  4. 标点符号只有被转义时才匹配自身,否则它们表示特殊的含义。
  5. 反斜杠本身需要使用反斜杠转义。

由于正则表达式通常都包含反斜杠,所以你最好使用原始字符串来表示它们。

import re#匹配出一个字符串第一个字母为大写字符,后面都是小写字母并且这些小写字母可有可无
def fun1(s:str):ret = re.match(r'[A-Z][a-z]*', s)if ret:print(ret.group())else:print("匹配不成功")s = 'Abcd777'
fun1(s)#匹配变量名是否有效
def fun2(name:str):ret = re.match(r'[A-Za-z_]+[\w]*', name)if ret:print(ret.group())else:print("变量命名不合法")name = '_a  '
fun2(name)#匹配出6位密码,可以是大小写英文字母、数字、下划线
#匹配出,8到20位的密码,可以是大小写英文字母、数字、下划线
def fun3(pwd:str):ret = re.match(r'\w{8,20}', pwd)if ret:print(ret.group())else:print("密码不正确")fun3('12345')

import re
#匹配163.com的邮箱地址
# 以^确定开头
# 通过$来确定末尾
myemail = 'hqyj_sunwy@163.com'
ret = re.match(r'^\w{4,20}@163\.com$', myemail)
print(ret.group())
import re#匹配出163、126、qq邮箱
myemail = '2042856895@qq.com'
ret = re.match(r'^\w{4,20}@(163|126|qq)\.com$', myemail)
print(ret.group())#匹配出<html><h1>www.bawei.com</h1></html>
ret = re.match(r"<(\w*)><(\w*)>.*</\2></\1>", "<html><h1>www.hqyj.com</h1></html>")
print(ret.group())#匹配出<html><h1>www.bawei.com</h1></html>
ret = re.match(r"<(?P<name1>\w*)><(?P<name2>\w*)>.*</(?P=name2)></(?P=name1)>", "<html><h1>www.hqyj.com</h1></html>")
print(ret.group())

注意贪婪和非贪婪

贪婪是尝试匹配尽可能多的字符。

非贪婪是尝试匹配尽可能少的字符。

解决方式:非贪婪操作符”?”,用在"*","+","?"的后面,要求正则匹配的越少越好。

import re
s = 'abbcdef123456'
ret = re.match(r'\w+', s)
print(ret.group())
# 输出结果:abbcdef123456
ret = re.match(r'\w+?', s)
print(ret.group())
# 输出结果:a

3.7 re.split函数

功能是分割

import re
s = 'user:zhangsan pwd:888666'
ret = re.split(r':| ', s)
print(ret)

3.8 re.sub函数

功能是替换

import re
s = 'i am zhangsan, i am 18 year, i like eat'
ret = re.sub(r"i", "I", s)
print(ret)

http://www.mmbaike.com/news/22750.html

相关文章:

  • 做泥软件下载官方网站外链的作用
  • 上海网站建设百度推广公司深圳百度推广联系方式
  • 计算机毕业论文代做网站seo优化排名公司
  • 沈阳城乡建设委员会网站百度排名工具
  • 做pc网站最大分辨率友情链接怎么连
  • PHP 5+MySQL动态网站开发指南为什么中国禁止谷歌浏览器
  • 做餐饮的网站最火的网络推广平台
  • 视频投票网站怎么做的淘宝运营培训课程
  • 做网站的5要素上海怎么做seo推广
  • 佛山专业的网页制作seo整站网站推广优化排名
  • wordpress怎么修改网站标题河南推广网站
  • 微营销网站建设舆情分析报告
  • 湖南产品网络营销推荐咨询seo入门教程
  • 公司品牌flash网站挖掘关键词的工具
  • 上海网站建设天锐科技谷歌搜索引擎免费入口 台湾
  • 网站安全建设进展情况最近营销热点
  • wordpress.exeseo搜索优化公司排名
  • 帮人做网站的公司seo的基本工作内容
  • 广州做企业网站网络推广合作协议范本
  • 中国做的比较好的网站有哪些手机百度账号登录个人中心
  • 网页设计的技术有哪些南昌百度搜索排名优化
  • 莆田网站建设设计潍坊百度关键词优化
  • 亚马逊卖家做自己网站电商运营助理
  • 网站关键词如何设置网站建设与管理是干什么的
  • 做网站后开办会员科学新概念外链平台
  • 怎么做微信小说网站聊城网站推广公司
  • 宁夏建设网站58百度搜索引擎
  • 婚纱网站html模板微信小程序开发
  • 软件网站技术开发公司怎么看关键词的搜索量
  • 网罗天下做网站靠谱吗百度网盘电脑网页版