Spring Boot 2.7基本已经是Spring Boot 2.x最后一个大版本了,Spring Boot 2.5已经停止OSS支持,不再进行维护,Spring Boot 2.6也将在Spring Boot 3.0发布后停止维护,迭代的速度越来越快了。
Spring Boot 3.0.0 M1 Release Notes · spring-projects/spring-boot Wiki · GitHub
Spring Boot 2.7基本已经是Spring Boot 2.x最后一个大版本了,Spring Boot 2.5已经停止OSS支持,不再进行维护,Spring Boot 2.6也将在Spring Boot 3.0发布后停止维护,迭代的速度越来越快了。
Spring Boot 3.0.0 M1 Release Notes · spring-projects/spring-boot Wiki · GitHub
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:
1 | # -*- coding: cp-1252 -*- |
保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
1 | >>> import keyword |
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
1 | if True: |
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如:
1 | total = item_one + \ |
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \,例如:
1 | total = ['item_one', 'item_two', 'item_three', |
python中数字有四种类型:整数、布尔型、浮点数和复数。
1 | #!/usr/bin/python3 |
这里的 r 指 raw,即 raw string,会自动将反斜杠转义,例如:
1 | >>> print('\n') # 输出空行 |
在 python 用 import 或者** from…import **来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: **from somemodule import ***
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的”类型”是变量所指的内存中对象的类型。
Python3 中常见的数据类型有:
Python3 的六个标准数据类型中:
Python3 支持 int、float、bool、complex(复数)。
1 | >>> 5 + 4 # 加法 |
Python中的字符串用单引号 ‘ 或双引号 “ 括起来,同时使用反斜杠 \ 转义特殊字符。
注意:
布尔类型即 True 或 False。
在 Python 中,True 和 False 都是关键字,表示布尔值。
布尔类型可以用来控制程序的流程,比如判断某个条件是否成立,或者在某个条件满足时执行某段代码。
布尔类型特点:
布尔类型只有两个值:True 和 False。
布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,Python 会将 True 视为 1,False 视为 0。
布尔类型可以和逻辑运算符一起使用,包括 and、or 和 not。这些运算符可以用来组合多个布尔表达式,生成一个新的布尔值。
布尔类型也可以被转换成其他数据类型,比如整数、浮点数和字符串。在转换时,True 会被转换成 1,False 会被转换成 0。
注意: 在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True,只有 0、空字符串、空列表、空元组等被视为 False。因此,在进行布尔类型转换时,需要注意数据类型的真假性。
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
注意:
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
注意:
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
1 | sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'} |
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
1 | tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'} |
在 Python3 中,bytes 类型表示的是不可变的二进制序列(byte sequence)。
与字符串类型不同的是,bytes 类型中的元素是整数值(0 到 255 之间的整数),而不是 Unicode 字符。
bytes 类型通常用于处理二进制数据,比如图像文件、音频文件、视频文件等等。在网络编程中,也经常使用 bytes 类型来传输二进制数据。
创建 bytes 对象的方式有多种,最常见的方式是使用 b 前缀:
1 | x = bytes("hello", encoding="utf-8") |
curl ifconfig.me
从模拟信号变成数字信号的过程称为模数转换(Analog Digital Convert,AD)。AD转换要经过采样、量化、编码三个过程。编码(Code)就是指按照一定的规则将采样所得的信号用一组二进制或者其他进制的数来表示。经过编码后的数据便于在数字网络上传输,到达对端以后,再通过解码(Decode)过程变成原始信号,进而经过数模转换(Digital Analog Convert,DA)再恢复为模拟量,即转换为人们能够感知的信号。
一般来说,编码与解码过程都是成对出现的,所以习惯上人们把它们合起来说,称为编解码(Codec),即Co(de)与Dec(ode)的合成写法,但有时候为了方便,也简称为编码,如我们常说的音频编码或视频编码。