【Python使用】python高级进阶知识md总结第4篇:静态Web服务器-命令行启动动态绑定端口号,html 的介绍【附代码文档】

python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:操作系统,虚拟机软件,Ubuntu操作系统,Linux内核及发行版,查看目录命令,切换目录命令,绝对路径和相对路径,创建、删除文件及目录命令,复制、移动文件及目录命令,终端命令格式的组成,查看命令帮助。HTTP 请求报文,HTTP响应报文,搭建Python自带静态Web服务器,静态Web服务器-返回固定页面数据。静态Web服务器-返回指定页面数据,静态Web服务器-多任务版,静态Web服务器-面向对象开发。静态Web服务器-命令行启动动态绑定端口号,html 的介绍,html 的基本结构,vscode 的基本使用,初始常用的 html 标签,资源路径,列表标签,表格标签。表单标签,表单提交,css 的介绍,css 的引入方式,css 选择器。css 属性,JavaScript的介绍,JavaScript的使用方式,变量和数据类型,函数定义和调用,变量作用域,条件语句,获取标签元素。操作标签元素属性,数组及操作方法,循环语句,字符串拼接,定时器,jQuery的介绍,jQuery的用法,jQuery选择器,选择集过滤。选择集转移,获取和设置元素内容,获取和设置元素属性,jQuery事件,事件代理,JavaScript对象,json。ajax,数据库,关系型数据库管理系统。MySQL数据库,数据类型和约束。命令行客户端MySQL的使用,as和distinct关键字,where条件查询,排序,分页查询。ls命令选项,mkdir和rm命令选项,cp和mv命令选项,重定向命令,查看文件内容命令,链接命令,文本搜索命令,查找文件命令。聚合函数,分组查询,连接查询-内连接,连接查询-左连接,连接查询-右连接,连接查询-自连接,子查询。数据库设计之三范式,外键SQL语句的编写,演练-分组和聚合函数的组合使用,将查询结果插入到其它表中,使用连接更新表中某个字段数据。创建表并给某个字段添加数据,修改goods表结构,PyMySQL的使用。事务,索引。闭包,闭包的使用,修改闭包内使用的外部变量,装饰器,装饰器的使用,通用装饰器的使用,多个装饰器的使用。带有参数的装饰器,类装饰器的使用,web框架概述,框架程序开发,模板替换功能开发。路由列表功能开发,装饰器方式的添加路由,显示股票信息页面的开发,个人中心数据接口的开发,ajax请求数据渲染个人中心页面。logging日志,property属性。with语句和上下文管理器,生成器的创建方式。深拷贝和浅拷贝,正则表达式的概述,re模块介绍,匹配单个字符。压缩和解压缩命令,文件权限命令,获取管理员权限的相关命令,用户相关操作,用户组相关操作,远程登录、远程拷贝命令。匹配多个字符,匹配开头和结尾,匹配分组。编辑器 vim,软件安装,软件卸载,多任务的介绍,进程,多进程的使用。获取进程编号,进程执行带有参数的任务,进程的注意点,线程,多线程的使用。线程执行带有参数的任务,线程的注意点,互斥锁。死锁,进程和线程的对比,IP 地址的介绍,端口和端口号的介绍,TCP 的介绍,socket 的介绍。TCP 网络应用程序开发流程,TCP 客户端程序开发,TCP服务端程序开发,TCP网络应用程序的注意点。案例-多任务版TCP服务端程序开发,socket之send和recv原理剖析,HTTP 协议,URL,查看HTTP协议的通信过程。

全套笔记资料代码移步: 前往gitee仓库查看

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~


编辑器 vim

学习目标

  • 能够说出vim的三种工作模式
  • 能够说出vim对应复制和粘贴命令

1. vim 的介绍

vim 是一款功能强大的文本编辑器,也是早年 Vi 编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。

2. vim 的工作模式

  • 命令模式
  • 编辑模式
  • 末行模式

说明:

vim 打开文件进入的是命令模式

工作模式效果图:

ssh命令

注意点:

编辑模式和末行模式之间不能直接进行切换,都需要通过命令模式来完成。

3. vim 的末行模式命令

  • :w 保存
  • :wq 保存退出
  • :x 保存退出
  • :q! 强制退出

4. vim 的常用命令

|命令|说明| |---|---| |yy|复制光标所在行| |p|粘贴| |dd|删除/剪切当前行| |u|撤销| |:/搜索的内容|搜索指定内容| |G|回到最后一行| |gg|回到第一行| |数字+G|回到指定行|

常用命令扩展

|命令|说明| |---|---| |>>|往右缩进| |<<|往左缩进| |:%s/要替换的内容/替换后的内容/g|全局替换| |:开始行数,结束行数s/要替换的内容/替换后的内容|局部替换| |.|重复上一次命令操作| |shift+6|回到当前行的行首| |shift+4|回到当前行的行末| |ctr+f|下一屏| |ctr+b|上一屏| |V|按行选中| |ctr+r|反撤销|

5. 小结

vim 是一款功能强大的命令文本编辑器,可以对远程服务器的代码直接进行修改,这样操作起来更加快速和方便。

软件安装

学习目标

  • 能够使用apt-get命令安装软件

1. 软件安装的介绍

Ubuntu软件安装有两种方式:

  • 离线安装(deb文件格式安装)
  • 在线安装(apt-get方式安装)

2. deb文件格式安装

是 Ubuntu 的安装包格式,可以使用 dpkg 命令进行软件的安装和卸载。

|命令|说明| |---|---| |dpkg|安装和卸载deb安装包|

dpkg命令选项:

|选项|说明| |---|---| |-i|离线安装deb安装包|

dpkg命令效果图:

dpkg命令

3. apt-get方式安装

是在线安装deb软件包的命令,主要用于在线从互联网的软件仓库中搜索、安装、升级、卸载软件。

在线安装软件命令格式:

  • sudo apt–get install 安装包 , 表示在线安装deb安装包

4. 更改镜像源

因为使用 apt-get 命令默认是从国外的服务器下载安装软件的,会导致下载安装速度很慢,所以需要更改成国内的镜像源服务器。

镜像源说明:

镜像源就是下载软件来源的服务器。

镜像源效果图:

镜像源命令

更改镜像源的方式:

  1. 可视化方式更改镜像源
  2. 手动方式更改镜像源

可视化方式更改镜像源:

可视化方式更改镜像源 可视化方式更改镜像源 可视化方式更改镜像源 可视化方式更改镜像源 可视化方式更改镜像源 可视化方式更改镜像源 可视化方式更改镜像源

手动方式更改镜像源:

手动方式更改镜像源 手动方式更改镜像源 手动方式更改镜像源 手动方式更改镜像源 手动方式更改镜像源 手动方式更改镜像源 手动方式更改镜像源

说明:

  1. 手动修改镜像源,配置完成以后需要执行 sudo apt-get update 这个命令,更新镜像源保证可以下载最新的软件。
  2. 使用apt-get方式安装软件一定要联网

5. 小结

  1. Ubuntu 操作系统安装软件有两种方式:

  2. sudo dpkg -i 安装包 命令

  3. sudo apt-get install 安装包 命令卸载

  4. 使用 apt-get 命令也就是在线安装需要更改镜像源,提高下载和安装速度。

软件卸载

学习目标

  • 能够使用apt-get命令卸载软件

1. 软件卸载的介绍

Ubuntu软件卸载有两种方式:

  • 离线安装包的卸载(deb 文件格式卸载)
  • 在线安装包的卸载(apt-get 方式卸载)

2. deb 文件格式卸载

命令格式:

sudo dpkg –r 安装包名

-r 选项表示安装的卸载

dpkg 卸载效果图:

dpkg命令

3. apt-get 方式卸载

命令格式:

sudo apt-get remove 安装包名

apt-get 卸载效果图:

apt-get命令

4. 小结

  • Ubuntu 操作系统卸载软件有两种方式:

  • dpkg -r 安装包 命令

  • apt-get remove 安装包 命令卸载

多任务的介绍

学习目标

  • 能够知道多任务的执行方式

1. 提问

利用现学知识能够让两个函数或者方法同时执行吗?

不能,因为之前所写的程序都是单任务的,也就是说一个函数或者方法执行完成另外一个函数或者方法才能执行,要想实现这种操作就需要使用多任务

多任务的最大好处是充分利用CPU资源,提高程序的执行效率

2. 多任务的概念

多任务是指在同一时间内执行多个任务,例如: 现在电脑安装的操作系统都是多任务操作系统,可以同时运行着多个软件。

多任务效果图:

多任务

3. 多任务的执行方式

  • 并发
  • 并行

并发:

在一段时间内交替去执行任务。

例如:

对于单核cpu处理多任务,操作系统轮流让各个软件交替执行,假如:软件1执行0.01秒,切换到软件2,软件2执行0.01秒,再切换到软件3,执行0.01秒……这样反复执行下去。表面上看,每个软件都是交替执行的,但是,由于CPU的执行速度实在是太快了,我们感觉就像这些软件都在同时执行一样,这里需要注意单核cpu是并发的执行多任务的。

并行:

对于多核cpu处理多任务,操作系统会给cpu的每个内核安排一个执行的软件,多个内核是真正的一起执行软件。这里需要注意多核cpu是并行的执行多任务,始终有多个软件一起执行

4. 小结

  • 使用多任务就能充分利用CPU资源,提高程序的执行效率,让你的程序具备处理多个任务的能力。
  • 多任务执行方式有两种方式:并发并行,这里并行才是多个任务真正意义一起执行。

进程

学习目标

  • 能够知道进程的作用

1. 进程的介绍

在Python程序中,想要实现多任务可以使用进程来完成,进程是实现多任务的一种方式。

2. 进程的概念

一个正在运行的程序或者软件就是一个进程,它是操作系统进行资源分配的基本单位,也就是说每启动一个进程,操作系统都会给其分配一定的运行资源(内存资源)保证进程的运行。

比如:现实生活中的公司可以理解成是一个进程,公司提供办公资源(电脑、办公桌椅等),真正干活的是员工,员工可以理解成线程。

注意:

一个程序运行后至少有一个进程,一个进程默认有一个线程,进程里面可以创建多个线程,线程是依附在进程里面的,没有进程就没有线程

3. 进程的作用

单进程效果图:

进程

多进程效果图:

进程

说明:

多进程可以完成多任务,每个进程就好比一家独立的公司,每个公司都各自在运营,每个进程也各自在运行,执行各自的任务。

4. 小结

  • 进程是操作系统进行资源分配的基本单位。
  • 进程是Python程序中实现多任务的一种方式

多进程的使用

学习目标

  • 能够使用多进程完成多任务

1 导入进程包

```py

导入进程包

import multiprocessing ```

2. Process进程类的说明

Process([group [, target [, name [, args [, kwargs]]]]])

  • group:指定进程组,目前只能使用None
  • target:执行的目标任务名
  • name:进程名字
  • args:以元组方式给执行任务传参
  • kwargs:以字典方式给执行任务传参

Process创建的实例对象的常用方法:

  • start():启动子进程实例(创建子进程)
  • join():等待子进程执行结束
  • terminate():不管任务是否完成,立即终止子进程

Process创建的实例对象的常用属性:

name:当前进程的别名,默认为Process-N,N为从1开始递增的整数

3. 多进程完成多任务的代码

```py import multiprocessing import time

跳舞任务

def dance(): for i in range(5): print("跳舞中...") time.sleep(0.2)

唱歌任务

def sing(): for i in range(5): print("唱歌中...") time.sleep(0.2)

if name == 'main': # 创建跳舞的子进程 # group: 表示进程组,目前只能使用None # target: 表示执行的目标任务名(函数名、方法名) # name: 进程名称, 默认是Process-1, ..... dance_process = multiprocessing.Process(target=dance, name="myprocess1") sing_process = multiprocessing.Process(target=sing)

# 启动子进程执行对应的任务
dance_process.start()
sing_process.start()

```

执行结果:

py 唱歌中... 跳舞中... 唱歌中... 跳舞中... 唱歌中... 跳舞中... 唱歌中... 跳舞中... 唱歌中... 跳舞中...

4. 小结

  1. 导入进程包

  2. import multiprocessing

  3. 创建子进程并指定执行的任务

  4. sub_process = multiprocessing.Process (target=任务名)

  5. 启动进程执行任务

  6. sub_process.start()

未完待续, 同学们请等待下一期

全套笔记资料代码移步: 前往gitee仓库查看

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/749427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 安装 Gitblit

1.下载Gitblit 官网地址&#xff1a;Gitblit&#xff0c;目前最新的是1.9.3 2.上传到服务器 ①在服务器上新建目录&#xff1a;/usr/local/gitblit ②将下载的文件上传到服务器&#xff1a;/usr/local/gitblit/gitblit-1.9.3.tar.gz ③解压文件&#xff1a; cd /usr/local…

12、MongoDB -- 通过 SpringBoot 整合 Spring Data MongoDB 操作 MongoDB 数据库(传统的同步API编程)

目录 通过 SpringBoot 整合 Spring Data MongoDB 操作 MongoDB 数据库&#xff08;传统的同步API编程&#xff09;演示前提&#xff1a;登录单机模式的 mongodb 服务器命令登录【test】数据库的 mongodb 客户端命令登录【admin】数据库的 mongodb 客户端命令 代码演示同步API编…

欧科云链:比特币现货ETF后时代,链上数据揭示真实供需关系

出品&#xff5c;欧科云链研究院 作者&#xff5c;Hedy Bi 本文于3月11日首发TechFlow深潮&#xff0c;原标题为《比特币现货ETF通过后的2个月&#xff1a;链上数据揭示BTC供不应求》。文中观点纯属笔者基于链上数据进行分析&#xff0c;不构成对任何潜在投资目标的推荐或意见…

双指针、bfs与图论

1238. 日志统计 - AcWing题库 import java.util.*;class PII implements Comparable<PII>{int x, y;public PII(int x, int y){this.x x;this.y y;}public int compareTo(PII o){return Integer.compare(x, o.x);} }public class Main{static int N 100010, D, K;st…

数字电子技术实验(四)

单选题 1.组合逻辑电路中产生竞争冒险的原因是&#xff1f; A. 电路没有最简化 。 B. 时延 。 C. 电路有多个输出。 D. 逻辑门的类型不同。 答案&#xff1a;B 评语&#xff1a;10分 单选题 2.下列表达式不存在竞争冒险的有&#xff1f; 答案&#xff1a;A 评语&#x…

深度强化学习(七)策略梯度

深度强化学习(七)策略梯度 策略学习的目的是通过求解一个优化问题&#xff0c;学出最优策略函数或它的近似函数&#xff08;比如策略网络&#xff09; 一.策略网络 假设动作空间是离散的,&#xff0c;比如 A { 左 , 右 , 上 } \cal A\{左,右,上\} A{左,右,上}&#xff0c;策…

【零基础学习06】嵌入式linux驱动中PWM驱动基本实现

大家好,今天给大家分享一下,如何利用PWM外设来实现LCD背光调节,本次实验使用Linux系统中PWM控制器以及PWM子系统来控制对应的功能。 第一:设备树下PWM控制节点 PWM对应的节点信息如下: pwm3: pwm@02088000 {compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm…

操作系统系列学习——一个实际的schedule函数

文章目录 前言一个实际的schedule函数 前言 一个本硕双非的小菜鸡&#xff0c;备战24年秋招&#xff0c;计划学习操作系统并完成6.0S81&#xff0c;加油&#xff01; 本文总结自B站【哈工大】操作系统 李治军&#xff08;全32讲&#xff09; 老师课程讲的非常好&#xff0c;感…

我打算修一段时间仙,望周知

1、大科学家牛顿也修过仙&#xff0c;虽然修的是西方的仙&#xff1b;我们东方人不信那个邪&#xff0c;有自己优秀的传统文化&#xff0c;我只修东方的仙&#xff1b;另外&#xff0c;作为普通凡人我成就和智慧都无法望牛顿老人家项背的普通人&#xff0c;即使现在暂时“修仙”…

【代码】求出指定图片的平均RGB颜色值

import cv2求出指定图片的平均颜色值# 读取图片 image cv2.imread(D:\\Desktop\\0001.png)# 计算平均颜色 # cv2.mean()函数会返回图像所有通道的平均值 # 这里的平均值是按通道分别计算的&#xff0c;返回值是一个包含每个通道平均值的元组 average_color_per_channel cv2.m…

FFmpeg工作流程及视频文件分析

FFmpeg工作流程: 解封装(Demuxing)--->解码(Decoding)--->编码(Encoding)--->封装(Muxing) FFmpeg转码工作流程: 读取输入流--->音视频解封装--->解码音视频帧--->编码音视频帧--->音视频封装--->输出目标流 可简单理解为如下流程: 读文件-->解…

软件测试工程师简历要怎么写,才能让HR看到

作为软件测试的从业者&#xff0c;面试或者被面试都是常有的事。 可是不管怎样&#xff0c;和简历有着理不清的关系&#xff0c;面试官要通过简历了解面试者的基本信息、过往经历等。 面试者希望通过简历把自己最好的一面体现给面试官&#xff0c;所以在这场博弈中&#xff0…

MySQL和Redis如何保证数据一致性?

前言 由于缓存的高并发和高性能已经在各种项目中被广泛使用&#xff0c;在读取缓存这方面基本都是一致的&#xff0c;大概都是按照下图的流程进行操作&#xff1a; 但是在更新缓存方面&#xff0c;是更新完数据库再更新缓存还是直接删除缓存呢&#xff1f;又或者是先删除缓存再…

什么又是线程呢??

线程&#xff1a; 线程可以并发的执行&#xff0c;但是线程的地址是可以共享的 进程与线程的比较&#xff1a; 进程>线程 线程分三种&#xff1a; 用户线程 只有用户程序的库函数来 用户线程 因为操作系统感知不到 线程&#xff0c;如果有线程在运行&#xff0c;然后不交…

如何使用Python进行数据可视化:Matplotlib和Seaborn指南【第123篇—Matplotlib和Seaborn指南】

如何使用Python进行数据可视化&#xff1a;Matplotlib和Seaborn指南 数据可视化是数据科学和分析中不可或缺的一部分&#xff0c;而Python中的Matplotlib和Seaborn库为用户提供了强大的工具来创建各种可视化图表。本文将介绍如何使用这两个库进行数据可视化&#xff0c;并提供…

element-plus表格,多样本比较,动态渲染表头

问题&#xff1a; 公司给了个excel表格&#xff0c;让比较两个样本之间的数据&#xff0c;并且动态渲染&#xff0c;搞了半天没搞出来&#xff0c;最后让大佬解决了&#xff0c;特此写篇博客记录一下。 我之前的思路是合并行&#xff0c;大概效果是这样&#xff1a; 但是最终…

DataGrip 面试题及答案整理,最新面试题

DataGrip的数据库兼容性和多数据库支持如何实现&#xff1f; DataGrip实现数据库兼容性和多数据库支持的方式包括&#xff1a; 1、广泛的数据库支持&#xff1a; DataGrip支持多种数据库&#xff0c;包括但不限于MySQL, PostgreSQL, SQL Server, Oracle, SQLite, 和MongoDB&a…

小米笔记本出现no bootable devices

原因&#xff1a;硬件松动 解决方案&#xff1a; 1、不妨翻个面敲几下&#xff0c;上下左右晃晃试试 2、这个问题也困扰我好久了 搜了好多答案说是硬盘出了问题 前几次就是摇一摇&#xff0c;拍一拍就好了 后来怎么拍也没有用了 没办法自己动手&#xff0c;买一套螺丝刀&…

Docker----Dockerfile构建微服务镜像

目录 一、关键步骤 二、具体步骤 1、准备后端jar包(这里以java后端演示) 2、编写Dockerfile 3、构建镜像 4、运行镜像容器 5、测试是否成功 一、关键步骤 1、准备后端jar包(这里以java后端演示) 2、编写Dockerfile 3、构建镜像 4、运行镜像容器 5、测试是否成功 二…

Web前端依赖版本管理最佳实践

本文需要读者懂一点点前端的构建知识&#xff1a; 1. package.json文件的作用之一是管理外部依赖&#xff1b;2. .npmrc是npm命令默认配置&#xff0c;放在工程根目录。 Web前端构建一直都是一个不难&#xff0c;但是非常烦人的问题&#xff0c;在DevOps、CI/CD领域。 烦人的是…