摘要: 前端之HTML标签 #前端基础1.HTML 网页的骨架,没有任何的样式 标签2.CSS 美化网页,给网页骨架添加样式 选择器、属性3.JavaScript 给网页添加动画 BOM&DOM 在浏览器地址栏中输入网址,回车会发生什么事? 1.浏览器向服务端发起请求2.服务端接收客户端的请求3.服务端处理 阅读全文
posted @ 2021-09-26 11:02 vonmo 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 前端之CSS 层贴样式表:就是给HTML标签添加样式的,让它变得更加的好看 一. CSS语法结构 #每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。选择器{ 属性1:值1; 属性2:值2; 属性3:值3; ......} 二. CSS的三种引入方式 2.1 阅读全文
posted @ 2021-09-26 11:02 vonmo 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 软件开发架构 cs 客户端 服务端bs 浏览器 服务端ps: bs本质也是cs 浏览器窗口输入网址回车发生了几件事 """1. 浏览器超服务端发送请求2. 服务端接受请求3. 服务端返回相应的响应4. 浏览器接收响应,根据特定的规则渲染页面展示给用户看"""浏览器可以充当很多服务端的客户端百度、腾讯 阅读全文
posted @ 2021-09-26 11:01 vonmo 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 并发编程之多线程 一. 线程基础 1.1 进程的缺点 进程只能在一个时间干一件事,如果想同时干两件事或多件事,进程就无能为力了。 进程在执行的过程中如果阻塞,例如等待输入,整个进程就会挂起,即使进程中有些工作不依赖于输入的数据,也将无法执行。 1.2 什么是线程 线程:能够独立运行的基本单位 进程是 阅读全文
posted @ 2021-09-26 11:00 vonmo 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 网络编程 一. 网络架构 1.1 CS架构 应用领域: 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。 客户端:用户安装的软件; 服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑。 1.1.1CS架构要求 1.用户操作系统 阅读全文
posted @ 2021-09-26 10:59 vonmo 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 并发编程之多进程 一. 操作系统 1.1 什么是操作系统 操作系统就是一个协调、管理和控制计算机硬件资源与软件资源的控制程序。操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用 阅读全文
posted @ 2021-09-26 10:59 vonmo 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 反射、内置方法 一. 反射 python是动态语言,而反射(reflection)机制被视为动态语言的关键。 反射机制指的是在程序的运行状态中 对于任意一个类,都可以知道这个类的所有属性和方法; 对于任意一个对象,都能够调用他的任意方法和属性。 这种动态获取程序信息以及动态调用对象的功能称为反射机制 阅读全文
posted @ 2021-09-26 10:58 vonmo 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 多态性和鸭子类型 多态与多态性 多态指的是一类事物有多种形态,比如动物有多种形态:猫、狗、猪 class Animal: #同一类事物:动物 def talk(self): passclass Cat(Animal): #动物形态之一:猫 def talk(self): print('喵喵喵')cl 阅读全文
posted @ 2021-09-26 10:57 vonmo 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 绑定方法与非绑定方法 一. 绑定方法与非绑定方法 类中定义的函数分为两大类:绑定方法和非绑定方法 其中绑定方法又分为绑定到对象的对象方法和绑定到类的类方法。 在类中正常定义的函数默认是绑定到对象的,而为某个函数加上装饰器@classmethod后,该函数就绑定到了类。 类方法通常用来在__ init 阅读全文
posted @ 2021-09-26 10:57 vonmo 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 封装 一. 引入 面向对象编程有三大特征:封装、继承、多态,其中最重要的一个特征就是封装。封装指的就是把数据与功能都整合到一起。除此之外,针对封装到对象或者类中的属性,我们还可以严格控制对它们的访问,分两步实现:隐藏与开放接口 二. 隐藏属性 Python的Class机制采用双下划线开头的方式将属性 阅读全文
posted @ 2021-09-26 10:56 vonmo 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 继承与派生 一. 继承介绍 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,新建的类可称为子类或派生类,父类又可称为基类或超类 class ParentClass1: #定义父类 pass​class ParentClass2: #定义父类 pass​class SubC 阅读全文
posted @ 2021-09-26 10:56 vonmo 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 软件开发的目录规范 为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要软件的目录规范并无硬性标准,只要清晰可读即可,假设你的软件名为foo,笔者推荐目录结构如下: Foo/|-- core/| |-- core.py||-- api/| |-- api.py 阅读全文
posted @ 2021-09-26 10:54 vonmo 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 面向对象编程 一. 对象的概念 ”面向对象“的核心是“对象”二字,而对象的精髓在于“整合“,什么意思? 所有的程序都是由“数据”与“功能”组成,因而编写程序的本质就是定义出一系列的数据,然后定义出一系列的功能来对数据进行操作。在学习“对象”之前,程序中的数据与功能分离开的,如下 #数据:name,a 阅读全文
posted @ 2021-09-26 10:54 vonmo 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 常用模块 一. time与datatime模块 1.1 time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型 阅读全文
posted @ 2021-09-26 10:53 vonmo 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 模块 一. 模块介绍 在Python中,一个py文件就是一个模块,文件名为xxx.py模块名则是xxx,导入模块可以引用模块中已经写好的功能。将程序模块化会使得程序的组织结构清晰,维护起来更加方便。比起直接开发一个完整的程序,单独开发一个小的模块也会更加简单,并且程序中的模块与电脑中的零部件稍微不同 阅读全文
posted @ 2021-09-26 10:52 vonmo 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 包 一. 包的介绍 随着模块数目的增多,把所有模块不加区分地放到一起也是极不合理的,于是Python为我们提供了一种把模块组织到一起的方法,即创建一个包。包就是一个含有init.py文件的文件夹,文件夹内可以组织子模块或子包,例如 pool/ #顶级包├── __init__.py ├── futu 阅读全文
posted @ 2021-09-26 10:52 vonmo 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 函数递归 一. 函数递归调用介绍 函数不仅可以嵌套定义,还可以嵌套调用,即在调用一个函数的过程中,函数内部又调用另一个函数,而函数的递归调用指的是在调用一个函数的过程中又直接或间接地调用该函数本身 例如 在调用f1的过程中,有调用f1,这就是直接调用函数f1本身 def f1(): print('f 阅读全文
posted @ 2021-09-26 10:51 vonmo 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 面向过程与函数式 一. 编程规范 编程范式指的就是编程的套路,打个比方,如果把编程的过程比喻为练习武功,那编程范式指的就是武林中的各种流派,而在编程的世界里常见的流派有:面向过程、函数式、面向对象等 二. 面向过程 ”面向过程“核心是“过程”二字,“过程”指的是解决问题的步骤,即先干什么再干什么.. 阅读全文
posted @ 2021-09-26 10:51 vonmo 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 迭代器 一. 迭代器介绍 迭代器即用来迭代取值的工具,而迭代是重复反馈过程的活动,其目的通常是为了逼近所需的目标或结果,每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值,单纯的重复并不是迭代 while True: msg = input('>>:').strip( 阅读全文
posted @ 2021-09-26 10:45 vonmo 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 生成器 一. 生成器与yield 若函数体包含yield关键字,再调用函数,并不会执行函数体代码,得到的返回值即生成器对象 def my_range(start,stop,step=1): print('start...') while start < stop: yield start start 阅读全文
posted @ 2021-09-26 10:45 vonmo 阅读(40) 评论(0) 推荐(0) 编辑