【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://xiahunao.cn/news/2869592.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

复习 --- windows 上安装 git,使用相关命令

文章目录 很少使用windows的git工具&#xff0c;这次借助这个任务&#xff0c;记录下使用过程&#xff0c;其他的等有空在整理。 其中&#xff0c;还使用了浏览器的AI小助手&#xff0c;复习了git相关的命令&#xff1a;图片放最后

实现兼容性良好的前端页面开发

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

SpringAI——Java生态接入LLM

最近&#xff0c;Spring官网发布了SpringAI&#xff0c;可点此查看https://spring.io/blog/2024/03/12/spring-ai-0-8-1-released&#xff0c;对于SpringAI的介绍&#xff0c;可看官方文档&#xff1a;https://spring.io/projects/spring-ai#overview。 本文将使用SpringAI配合…

Github Copilot 工具,无需账号,一键激活

① 无需账号&#xff0c;100%认证成功&#xff01;0风险&#xff0c;可联网可更新&#xff0c;&#xff0c;支持copilot版本升级&#xff0c;支持chat ② 支持windows、mac、linux系统等设备 ③一号通用&#xff0c;支持所有IDE(AppCode,CLion,DataGrip,GoLand,IntelliJ IDEA …

【计算机网络】https的工作原理以及和http的区别

目录 前言 1. HTTP协议存在的问题 2. 什么是HTTPS协议&#xff1f; 3. HTTP和HTTPS有哪些区别&#xff1f; 4. HTTPS的工作原理 加密方式 前言 在日常的Web项目练习中&#xff0c;我们会发现老师会让我们在打开服务器之后使用 http://localhost/...进行项目效果测试和预览…

zookeeper基础学习之六: zookeeper java客户端curator

简介 Curator是Netflix公司开源的一套zookeeper客户端框架&#xff0c;解决了很多Zookeeper客户端非常底层的细节开发工作&#xff0c;包括连接重连、反复注册Watcher和NodeExistsException异常等等。Patrixck Hunt&#xff08;Zookeeper&#xff09;以一句“Guava is to Java…

无人机助力智慧农田除草新模式,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建无人机航拍场景下的农田杂草检测识别系统

科技发展到今天&#xff0c;无人机喷洒药物已经不是一件新鲜事情了&#xff0c;在很多高危的工作领域中&#xff0c;比如高空电力设备除冰&#xff0c;电力设备部件传送更换等等&#xff0c;无人机都可以扮演非常出色的作用&#xff0c;前面回到老家一段时间&#xff0c;最近正…

压铸模实现3D打印关键在材料

3D打印技术通过逐层堆积粉末状材料&#xff0c;可以制造出具有复杂形状和内部结构的模具零件&#xff0c;突破了传统加工方法的限制。这种设计自由度的提升使得模具制造更加精准和高效&#xff0c;如3D打印随形水路、随形透气钢等的应用&#xff0c;满足了现代制造业对高精度、…

每日学习笔记:C++ STL 的map、multimap

定义 特点 操作函数 意思就是&#xff0c;使用tuple中的元素来初始化pair&#xff0c;即string(“hello”)、complex(3.4,7.8) 元素的移除讨论

springCloudeAlibaba的使用

父pom文件&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.o…

CSS学习(1)-选择器

一、基本选择器 1. 通配选择器 作用&#xff1a;可以选中所有的 HTML 元素。 语法&#xff1a; * { 属性名: 属性值; }举例&#xff1a; /* 选中所有元素 */ * { color: orange; font-size: 40px; }主要用于&#xff1a;清除样式。 2. 元素选择器 作用&#xff1a;为页面…

JavaWeb笔记 --- 四、HTMlCSS

四、HTMl&CSS HTML入门 基本标签 图片、音频、视频标签 尺寸单位 px&#xff1a;像素 百分比 超链接标签 列表标签 表格标签 布局标签 表单标签 CSS导入方式 CSS选择器

Python Web开发记录 Day12:Django part6 用户登录

名人说&#xff1a;东边日出西边雨&#xff0c;道是无晴却有晴。——刘禹锡《竹枝词》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 1、登录界面2、用户名密码校验3、cookie与session配置①cookie与session②配置…

ideaSSM失物招领管理系统网页模式开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea ssm 失物招领管理系统是一套完善的完整信息管理系统&#xff0c;结合SSM框架完成本系统SpringMVC spring mybatis &#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数…

pytorch 入门基础知识二(Pytorch 02)

一 微积分 1.1 导数和微分 微分就是求导&#xff1a; %matplotlib inline import numpy as np from matplotlib_inline import backend_inline from d2l import torch as d2l def f(x):return 3 * x ** 2 - 4 * x 定义&#xff1a; 然后求 f(x) 在 x 1 时的导数&#xff…

掌握人工智能:人工智能工程师必须了解的顶级编程语言

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Linux-centos如何搭建yum源仓库

1.本地搭建&#xff08;无需连接外网&#xff09; 1.1检查网络配置&#xff0c;及网络连接 打开虚拟机&#xff0c;点击【编辑——虚拟网络编辑器】 点击【仅主机模式】查看子网段是否和局内IP匹配 进入局内&#xff0c;查看网络IP是否在你上述设置的网段内&#xff0c;如果不…

Linux操作系统-汇编LED驱动程序基础

一、汇编LED原理分析 IMX6ULL-LED灯硬件原理分析&#xff1a; 1、使能时钟&#xff0c;CCGR0-CCGR6这7个寄存器控制着IMX6ULL所有外设时钟的使能。为了简单&#xff0c;设置CCGR0-CCGR6这7个寄存器全部为0XFFFFFFFF&#xff0c;相当于使能全部外设时钟。&#xff08;在IMX6ULL芯…

学习数据结构和算法的第16天

单链表的实现 链表的基本结构 #pragma once #include<stdio.h> #include<stlib.h> typedf int SLTDataType; typedy struct SListNode {SLTDataType data;struct SListNode*next; }SLTNode;void Slisprint(SLTNode*phead); void SListPushBack(SLTNode**pphead,S…

SQLiteC/C++接口详细介绍之sqlite3类(十三)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;十二&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;十四&#xff09;&#xff08;未发表&#xff09; 40.sqlite3…