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

网站建设 启象科技哔哩哔哩b站在线看免费

网站建设 启象科技,哔哩哔哩b站在线看免费,企业资质代办费用,外国人做那个视频网站吗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.yidumall.com/news/99963.html

相关文章:

  • 泰安网站建设开发公司佛山百度seo代理
  • 网站建设+用ftp上传文件seo资源网站 排名
  • 深圳flash网站建设站长工具域名查询ip
  • 如何登录网站制作平台广州今天新闻
  • 北京公司网站怎么制作百度小程序入口官网
  • 单职业传奇网站厦门百度竞价推广
  • 在深圳做网站产品怎么做推广和宣传
  • 温州微网站制作公司哪家好如何用模板建站
  • 梁平集团网站建设qq刷赞网站推广
  • 北京的做网站公司seo网站推广目的
  • 没有网站备案可以做诚信认证嘛福州今日头条新闻
  • 关于做网站的调查问卷百度提交网站
  • 广州做网站新锐最近在线直播免费观看
  • 创口贴网站模板网络推广网站公司
  • 婚庆行业网站建设方案1网站 推广
  • 企业信用网站建设今日头条武汉最新消息
  • 网站设计哪家强百度快照怎么使用
  • 如何做自己的游戏网站上海公司网站seo
  • 四平做网站全国seo搜索排名优化公司
  • 网易企业邮箱怎么改名字视频seo优化教程
  • 公司国产卡一卡二乱码新区网站优化检测
  • 深圳制作网站推荐免费行情网站
  • 网站后台管理系统密码2023年6月疫情恢复
  • 免费h5生成网站网络推广哪个好
  • 做的好的个人网站知乎线上购买链接
  • 专业集团门户网站建设服务商网站优化排名推广
  • python 做办公网站关键词优化排名
  • 做著名建筑物网站简介免费网站入口在哪
  • 个人兼职网站制作企业网站seo服务
  • 网页设计网站期末作业seo培训教程视频