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

上海外包软件开发太原百度seo排名

上海外包软件开发,太原百度seo排名,小程序开发怎么做,海网站建设目录 Json数据格式 前言 JSON格式 python数据和Json数据的相互转化 多线程 进程和线程 串行和并行 多线程编程 创建线程参数 具体案例 网络编程 套接字 socket服务端编程步骤 socket客户端编程步骤 python操作mysql数据库 查询并接收数据 数据插入 Json数据格…

目录

Json数据格式

前言

JSON格式

python数据和Json数据的相互转化

多线程

进程和线程

串行和并行

多线程编程

创建线程参数

具体案例 

网络编程

套接字

socket服务端编程步骤

socket客户端编程步骤

python操作mysql数据库

查询并接收数据

数据插入

Json数据格式

前言

  • JSON是一种轻量级的数据交换格式,可以按照JSON指定的格式去组织和封装数据
  • JSON本质上是一个带有特定格式的字符串

功能:JSON就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互

JSON格式

#方式1
{"name":"admin","age":18}#方式2
[{"name":"admin","age":18},{"name":"root","age":16},{"name":"张三","age":20}]

注意:json数据相对与python就是字典或者字典列表

python数据和Json数据的相互转化

#导入json模块
import json#准备符合格式json格式要求的python数据
data=[{"name":"老王","age":16},{"name":"张三","age":20}]#通过json.dumps(data)方法把python数据转化为json数据
#ensure_ascii参数改为False表示不使用ASCII码来转换他,而是把内容直接输出出去
data=json.dumps(data,ensure_ascii=False)#通过json.loads(data)方法把json数据转化为python数据
data=json.loads(data)

多线程

进程和线程

进程:就是一个程序,运行在系统之上,那么便称这个程序为一个运行进程,并分配ID方便系统管理

线程:线程归于进程,一个进程可开启多个线程执行不同工作,线程是进程的实际工作最小单位

注意

  • 操作系统可以运行多个进程,即多任务运行,一个进程内可以运行多个线程,即多线程运行
  • 进程之间是内存隔离的,即不同进程拥有各自的内存空间,这就类似于不同的公司拥有不同的办公场所
  • 线程之间是内存共享的,线程是属于进程的,一个进程内的多个线程之间共享这个进程所拥有的内存空间。

串行和并行

  • 串行:任务一个接一个的顺序进行
  • 并行:多个任务同时执行(需CPU的多个核)

多线程编程

#导入线程模块
import threading
#创建线程
thread_obj=threading.thread([group],target,[name],[args],[kwargs])
#启动线程
thread_obj.start()

创建线程参数

  • group:暂时无用,未来功能的预留参数
  • target:执行的目标任务名
  • args:以元组的方式给执行任务传参
  • kwargs:以字典的方式给执行的任务传参
  • name:线程名

具体案例 

import threading
import time
def sing(msg):while True:print(msg)time.sleep(1)
def dance(email):while True:print(email)time.sleep(1)
if __name__ == '__main__':#因为target是第二个参数,所以必须给参数名进行传参sing_thread=threading.Thread(target=sing,args=("我在唱歌……",))dance_thread=threading.Thread(target=dance,kwargs={"email":"我在跳舞"})#启动线程sing_thread.start()dance_thread.start()

网络编程

套接字

socket:简称套接字,其是进程间通信的一个工具,好比现实生活中的插座,所有的家用电器想要工作都是基于插座进行,进程之间想要进行网络通信需要socket

两进程之间通过socket进行通信就必须有服务端和客户端

  • socket服务端:等待其他进程的连接,可接收发来的消息,可以回复消息
  • socket客户端:主动连接服务端,可以发送消息,可以接受回复

socket服务端编程步骤

#socket服务端开发
#导入socket模块
import socket
#创建socket对象
socket_server=socket.socket()
#绑定ip和端口(里面传的是__address的元组)
socket_server.bind(("localhost",8888))
#监听端口(里面的1表示允许客户端连接的数量)
socket_server.listen(1)
#等待客户端的连接
#accept为阻塞方法若没有连接则将会卡在这里不执行
#这里返回的result为二元元组
result:tuple=socket_server.accept()
conn=result[0] #客户端和服务端的连接对象
address=result[1] #客户端的地址信息
print(f"接收到了客户端的连接,客户端的信息是:{address}")
while True:#接收客户端发送的信息,使用客户端和服务端的本次连接对象而非socket_serverdata:str=conn.recv(1024).decode("UTF-8")#recv也是阻塞方法,其接收参数为缓冲区大小,一般1024即可#recv方法的返回值为一个字节数组,不是字符串,所以可以通过decode方法通过UTF-8编码转换为字符串对象print(f"客户端发送的消息为:{data}")#发送回复消息msg=input("请输入你要和客户端回复的消息:")if msg=="exit":breakconn.send(msg.encode("UTF-8"))
#关闭连接
conn.close()
socket_server.close()

socket客户端编程步骤

#socket客户端开发
#导入socket模块
import socket
#创建socket对象
socket_client=socket.socket()
#连接到服务端(里面传的是__address的元组)
socket_client.connect(("localhost",8888))
while True:#向服务端发送消息msg=input("请输入要给服务端发送的消息:")if msg=="exit":breaksocket_client.send(msg.encode("UTF-8"))#接收返回的消息#recv方法为阻塞方法,传入参数为字节缓冲区大小data=socket_client.recv(1024).decode("UTF-8")print(f"服务端发来的消息为:{data}")
#关闭连接
socket_client.close()

python操作mysql数据库

前言:在python中,使用第三方库pymysql来完成对mysql数据库的操作

安装:pip install pymysql

查询并接收数据

#导入connection模块
from pymysql import Connection
#获取mysql数据库的链接对象
conn=Connection(host='localhost',   #主机名port=3306,          #端口号user='root',        #用户名password='root'     #密码
)
#打印mysql数据库的软件信息
print(conn.get_server_info())
#获取游标对象
cursor=conn.cursor()
#选择数据库
conn.select_db("test")
#使用游标执行sql语句
cursor.execute("select * from user")
#接收查询结果
result:tuple=cursor.fetchall()
print(result)#((1, 'lili'), (2, 'lan'))
#对查询结果遍历
for i in result:print(i)
#关闭数据库链接
conn.close()

数据插入

#导入connection模块
from pymysql import Connection
#获取mysql数据库的链接对象
conn=Connection(host='localhost',   #主机名port=3306,          #端口号user='root',        #用户名password='root'     #密码
)
#打印mysql数据库的软件信息
print(conn.get_server_info())
#获取游标对象
cursor=conn.cursor()
#选择数据库
conn.select_db("test")
#使用游标执行sql语句
cursor.execute("insert into user values(3,'kate')")
#确认
conn.commit()
#conn.rollback()#回滚
#关闭数据库链接
conn.close()

注意:在数据插入时必须提交才能成功。

http://www.15wanjia.com/news/20935.html

相关文章:

  • 怎么把网站做的小程序网站注册
  • wordpress的slider站长工具seo优化建议
  • 网站引导动画怎么做的免费找客源软件
  • 学做网站必须php吗深圳优化服务
  • 广州专业网站建设网页设计服务网站优化快速排名软件
  • 深圳网站开发团队搜索引擎营销方式
  • 网站建设公司发展前景网络营销公司怎么注册
  • 网站的绝对路径引流app推广软件
  • 网站引导页怎么设置百度推广怎么做的
  • 石家庄网站制作设计优化设计四年级上册数学答案
  • 网站建设asp文件怎么展现360优化大师官方网站
  • 网站手机pc同步四川seo排名
  • 苏州做网站多少钱李守洪排名大师怎么样
  • 给企业做网站需要什么信息武汉网络推广平台
  • 彩票网站怎么做赚钱吗绍兴seo排名收费
  • 网站开发合同范本关键词网站排名软件
  • 网站做任务给钱的百度手机版网页
  • 制作充值网站百度排名工具
  • 网站设计建长春seo排名公司
  • 遵义网站建设gzyhgseo关键词的优化技巧
  • 免费wordpress域名能绑定吗优化营商环境存在问题及整改措施
  • linux做ppt下载网站长沙靠谱seo优化价格
  • 手机网站有哪些网络查询网站
  • 大型门户网站建设所具有的功能模块主要有几种类型营销团队找产品合作
  • 扬州做网站的黄石seo诊断
  • 中央广播电视总台主持人长春seo优化企业网络跃升
  • 广州网站设计价格新闻源发稿平台
  • 公司的网站备案pc网站优化排名
  • 食品网站开发步骤2023新闻摘抄大全
  • 网站站群管理系统腾讯企点是干嘛的