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

珠海微信网站开发谷歌账号

珠海微信网站开发,谷歌账号,wordpress 屏蔽ip,做百度推广销售怎么样文章目录 多线程网络编程正则表达式 多线程 现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。 进程: 就是一个程序,运行在系统之上,那么便称之这个程序为一个运…

文章目录

  • 多线程
  • 网络编程
  • 正则表达式

多线程

现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。
进程: 就是一个程序,运行在系统之上,那么便称之这个程序为一个运行进程,并分配进程ID方便系统管理。
线程:线程是归属于进程的,一个进程可以开启多个线程,执行不同的工作,是进程的实际工作最小单位。

进程之间是内存隔离的, 即不同的进程拥有各自的内存空间。
线程之间是内存共享的,线程是属于进程的,一个进程内的多个线程之间是共享这个进程所拥有的内存空间的。

并行执行
并行执行的意思指的是同一时间做不同的工作。
进程之间就是并行执行的,操作系统可以同时运行好多程序,这些程序都是在并行执行。
线程其实也是可以并行执行的。比如一个Python程序,其实是完全可以做到:同一时间做两件乃至多件不同的事情

多线程编程

绝大多数编程语言,都允许多线程编程,Pyhton也不例外。
Python的多线程可以通过threading模块来实现。
使用语法

import threading
thread_obj = threading.Thread([group [, target [, name [, args [, kwargs]]]]])  #创建线程
group: 暂时无用,未来功能的预留参数
target: 执行的目标任务名  比如某一个方法
args: 以元组的方式给执行任务传参
kwargs: 以字典方式给执行任务传参
name: 线程名一般不用设置thread_obj.start()# 启动线程

示例:

def sing():while True:print("我在唱歌...")time.sleep(1)
def dance(msg):while True:print("我在跳舞...",msg)time.sleep(3)
import threading
sing_thread = threading.Thread(target=sing)
#dance_thread = threading.Thread(target=dance,args=["很开心"])
dance_thread = threading.Thread(target=dance,kwargs={"msg":"很开心"})
sing_thread.start()
dance_thread.start()

运行程序可以看到一直输出 唱歌和跳舞

我在跳舞... 很开心
我在跳舞... 很开心
我在跳舞... 很开心
我在唱歌...
我在跳舞... 很开心
我在跳舞... 很开心
我在跳舞... 很开心
我在唱歌...

网络编程

socket (简称 套接字) 是进程之间通信一个工具,进程之间想要进行网络通信需要socket。
Socket负责进程之间的网络数据传输,好比数据的搬运工。
通信服务端代码示例如下:

import socket
socket_server = socket.socket()
socket_server.bind(("localhost",8888))
socket_server.listen(1)
print("等待客户端连接...")
conn,address = socket_server.accept()
print(f"接收到客户端连接,连接来自: {address}")
while True:data = conn.recv(1024).decode("UTF-8")if data == 'exit':breakprint("接收到发送来的数据:",data)reply = input("请输入回复消息:").encode("UTF-8")conn.send(reply)
print("退出...")
conn.close()
socket_server.close()

客户端代码如下:

import  socket
myclient = socket.socket()
print("开始链接服务器...")
myclient.connect(("localhost",8888))
while True:send_msg=input("请输入要发送的消息:")if send_msg=='exit':myclient.send(send_msg.encode("UTF-8"))breakmyclient.send(send_msg.encode("UTF-8"))recv_data= myclient.recv(1024)print("服务端回复的消息为:",recv_data.decode("UTF-8"))
print("退出...")

运行后 双方可以按照协议收发消息,输入exit 双方都退出
在这里插入图片描述

正则表达式

正则表达式,又称规则表达式(Regular Expression),是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式(规则)的文本。

简单来说,正则表达式就是使用:字符串定义规则,并通过规则去验证字符串是否匹配。
比如通过正则规则: (1+(.[\w-]+)*@[\w-]+(.[\w-]+)+$) 即可匹配一个字符串是否是标准邮箱格式
但如果不使用正则,使用if else来对字符串做判断就非常困难了。
字符串匹配
Python正则表达式,使用re模块,并基于re模块中三个基础方法来做正则匹配。
分别是:match、search、findall 三个基础方法
re.match(匹配规则, 被匹配字符串)
从被匹配字符串开头进行匹配, 匹配成功返回匹配对象(包含匹配的信息),匹配不成功返回空。

s="python 是很好的开发语言 是的 python"
res = re.match('python',s)
print(res)#<re.Match object; span=(0, 6), match='python'>
print(res.span())#(0, 6)
print(res.group())#pythons="22python 是很好的开发语言 是的 python"
res = re.match('python',s)
print(res)#None   只能匹配XXx开头

search(匹配规则, 被匹配字符串)
搜索整个字符串,找出匹配的。从前向后,找到第一个后,就停止,不会继续向后
整个字符串都找不到,返回None

s="22python 是很好的开python发语言 是的 python"
res = re.search('python',s)
print(res)#<re.Match object; span=(2, 8), match='python'>
print(res.span())#(2, 8)
print(res.group())#python
s="22python 是很好的开python发语言 是的 python"
res = re.search('python22',s)
print(res)#None

findall(匹配规则, 被匹配字符串)
匹配整个字符串,找出全部匹配项
找不到返回空list: []

s="22python 是很好的开python发语言 是的 python"
res = re.findall('python',s)
print(res)#['python', 'python', 'python']s="22python 是很好的开python发语言 是的 python"
res = re.findall('python22',s)
print(res)#[]

元字符匹配
字符匹配规则
在这里插入图片描述

s="22python 是很好的开python发语1212言 是的 python"
res= re.findall(r'\d', s)
print(res)#['2', '2', '1', '2', '1', '2']
res= re.findall(r'\W', s)
print(res)#[' ', ' ', ' ']
res= re.findall(r'[a-zA-Z]', s)
print(res)#['p', 'y', 't', 'h', 'o', 'n', 'p', 'y', 't', 'h', 'o', 'n', 'p', 'y', 't', 'h', 'o', 'n']

数量匹配规则
在这里插入图片描述
边界匹配规则
在这里插入图片描述
分组匹配规则
在这里插入图片描述
案例

匹配账号,只能由字母和数字组成,长度限制6到10位
规则为: ^[0-9a-zA-Z]{6, 10}$

匹配QQ号,要求纯数字,长度5-11,第一位不为0
规则为:^[1-9][0-9]{4, 10}&
[1-9]匹配第一位,[0-9]匹配后面4到10位

匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址
规则为:^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+&

[\w-]+ 表示出现a-z A-Z 0-9 _ 和 - 字符最少一个,最多不限
(\.[\w-]+)*,表示出现组合 . 和 a-z A-Z 0-9 _ -的组合最少0次,最多不限
用于匹配:abc.ced.efg@123.com中的ced.efg这部分
@表示匹配@符号
(qq|163|gmail)表示只匹配这3个邮箱提供商
(\.[\w-]+)+表示a-z A-Z 0-9 _ -的组合最少1次,最多不限
用于匹配abc.ced.efg@123.com.cn中的.com.cn这种
最后使用+表示最少一次,即比如:.com
多了可以是:.com.cn.eu这样


  1. \w- ↩︎

http://www.wooajung.com/news/30044.html

相关文章:

  • 支付招聘网站套餐费用怎么做帐百度惠生活怎么做推广
  • 高大上强企业网站站长平台
  • php网站建设流程图济南公司网站推广优化最大的
  • 一键生成器seo网课培训
  • 播放视频网站怎么做seo网站优化网站编辑招聘
  • 个人做的网站有什么危险搜索引擎登录入口
  • 湖南省金力电力建设有限公司 网站新闻报道最新消息今天
  • 什么网站可以做字体效果图网站seo分析工具
  • 重庆企业网站建站对网站的建议和优化
  • 做网站需要用服务器吗郑州seo关键词
  • 网站制作包括什么成都网站排名优化公司
  • 擦边球做网站挣钱字节跳动广告代理商加盟
  • 建设银行网站色调网络公司名字大全
  • 银川网站制作餐饮店如何引流与推广
  • 通过做政府门户网站的实验获得什么com天堂网
  • 网页制作免费网站百度竞价推广怎么样才有效果
  • 我国政府网站建设和管理现状seo排名优化联系13火星软件
  • 滁州市建设工程质量检测协会网站seo新手快速入门
  • 什么软件可以做dj视频网站推广运营是做什么的
  • 临沂网站设计培训班网销怎么销售的
  • 响应式网站案例互联网哪个行业前景好
  • 华夏运用网站上海网站推广优化
  • 做短链的网站企业网站seo公司
  • 做真实的自己 视频网站给公司做网站的公司
  • 青岛网站制作套餐网页设计与制作代码成品
  • 设计说明书网站建设公司seo关键词
  • 石家庄网页设计工资网站google搜索优化
  • 国内flask做的网站营销推广的平台
  • 晚上偷偷看b站软件推荐搜索引擎大全网址
  • 个人网站做cpa运营怎么做