当前位置: 首页 > 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.mmbaike.com/news/33934.html

相关文章:

  • 做钢结构网站有哪些推广网站文案
  • 动态网站建设报告微信营销的方法有哪些
  • 广州今日热点新闻头条资源网站快速优化排名
  • 单位建设网站nba今日最新消息
  • 企业邮箱哪家安全榆林百度seo
  • 海珠网站建设小区推广最有效的方式
  • 怎么做淘宝客的跳转网站搜索引擎营销有哪些
  • 网站虚拟主机公司网站的作用
  • 玩家自助充值网站建设二级域名查询入口
  • 品牌建设实施细则优化关键词的作用
  • 可以做公众号封面图的网站成都网站优化公司
  • 温州网站建设推广专家网站到首页排名
  • 网站建设合同详细小程序开发制作
  • 网站建设课程教学改革网络营销软件大全
  • 成都sem优化seo排名谁教的好
  • 做公司网站哪家好做seo推广公司
  • 做网站找那个公司免费建站平台
  • wordpress纪念册主题seo综合查询工具
  • 计算机网站建设 是什么意思外链工具下载
  • 揭阳网站制作价格网站优化排名服务
  • 专业的做网站怎么建网站赚钱
  • 物联网网站设计网络营销的三种方式
  • seo分析师招聘seo外包推广
  • 怎么做属于自己的领券网站六种常见的网站类型
  • wordpress培训类网站广告软文外链平台
  • 学校网站模板html搜索引擎优化分析报告
  • 网站建设好吗交换链接的其它叫法是
  • 想开个影视网站 那有做的百度云搜索入口
  • asp网站伪静态规则企业网站建设优化
  • 无棣网站建设seo广告平台