qq

目   录

  ➤ 预备知识

  ➤ 数据类型

  ➤ 延伸知识

预备知识

如果读者有其他编程语言的基础,如:C语言。就会发现python在使用“变量”时并不需要声明其数据类型。甚至,在python中,并没有“变量”这一概念!取而代之的称为对象引用。

之所以会存在上述特点大多是因为python是一种面向对象的编程语言。在python中,一切皆对象!所以,数据类型也是对象。可以通过下图加深对此问题的理解。

▼ python中的数据类型对象及对象引用:

可见,python中的数据类型是针对堆中的数据对象而言。而对象引用也就相当于数据存储地址的别称,故不需要声明其数据类型。在python中,对象引用也是标识符的一种,可使用标识符命名规则进行命名。

python标识符命名规则

1.  以字母或下划线开头,后接字母、数字或下划线。其中字母或下划线可以是Unicode编码中的字母或数字。

2. 标识符不能与关键字重复,标识符长度不限。

3. 应使标识符有意义且具可读性。如:"myName" 或 "my_name"。

▼ 查看Python中的关键字

数据类型

当我们改变存放在堆中的对象的值时,若其引用(地址)也随之改变,则我们称此对象的数据类型为不可变数据类型。反之,则称为可变数据类型。

>>>> 不可变数据类型

1. 整数类型和浮点类型

上述两种数据类型分别表示整数和浮点数。此外,python还支持复数。python中的整数类型默认使用十进制表示,其他进制的表示方法为:

进制 二进制 八进制 十六进制
前缀 0b 0o 0x

对这两种类型的数据的操作通常是各种算术运算。python可以提供良好的支持。这些运算符包括包括:"+", "-", "*", "/", "//", "**", "%"。可以看到,在python中,有两种除法:"/" 和 "//"。前者为精确除法,结果为float类型。后者为地板除,结果为int类型(值为商)。此外在交互式环境中,"_" 符号可用来保存上次运算结果。

2. 字符串类型

在python中,字符串类型即使用单引号或双引号括起来的内容。多行内容可用三引号括起来(有没有想起注释来呢?)。

对于字符串,常见的操作有大小写转换、字符串的连接等等。

 1# 字符大小写转换
2s1 = "hello World!"  # 示例字符串。
3s1 = s1.title()  # 首字母大写。
4s1 = s1.upper()  # 全部转换为大写。
5s1 = s1.lower()  # 全部转换为小写。
6
7# 字符串拼接
8s1 = "hello"
9s2 = "world!"
10s3 = s1 + s2  # s1,s2为待连接字符串,s3为拼接后的字符串。
11s4 = s1 * 2 + s2 * 2  # 同样乘法可将多次拼接同一字符串。
12
13# 删除字符串空白
14s1 = "   hello    world!   "
15s1 = s1.lstrip()  # 删除字符串开头空白字符。
16s1 = s1.rstrip()  # 删除字符串末尾空白字符。
17s1 = s1.strip()   # 删除字符串两端空白字符。

由于定义字符串的引号并不属于其内容,那么,当其内容包含引号时是如何处理的呢?除了在双引号(单引号)表示的字符串中使用单引号(双引号)外,我们还可以使用转义的方法,即用 \'和 \" 表示单引号和双引号。常用的转义字符可总结如下:

转义字符 \b \n \r \t \v \\ \ooo \xhh
含义 退格 换行 回车 水平制表符 垂直制表符 反斜杠 八进制字符 十六进制字符

此外,在字符串添加前缀 "r" 可使字符串中的转义字符失效而原样显示。有关转义的示例展示如下:

1# 打印内容:I’m fine, thanks.
2print("I'm fine, thanks.")
3print('I\'m fine, thanks.')  
4
5# 其他转义字符应用示例
6print("he\rllo\b wor\tld")     # 结果为:ll wor    ld
7print("\x68\x65\x6C\x6C\x6F")  # 结果为:hello
8print(r"he\rllo\b wor\tld")    # 结果为:he\rllo\b wor\tld

如果你了解C语言的话,就一定对其中字符串格式化不陌生。python有两种字符串格式化的方式:printf-形式字符串格式化和

printf-形式字符串格式化如同C语言一样,使用 % 进行格式化操作。语法格式为:

format % values

其中,format 为字符串,% 为格式化操作符,values 与 format 中的转换符一一对应,当转换符的数量多于一个时,values 为一个元组或字典。


>>>> 应用层:向用户提供服务

▼ 四种物理拓扑:

 

 

 

 

format中的转换符

完整的转换符由如下几个部分组成:

字符串类型(str)

在Python中,有两种方法可实现字符串的格式化操作:% 格式化操作符format函数



  • % 格式化操作符

首先,来看个简单的例子:

从上述例子中,我们可以看出:

  1. 可用tuple和dict变量对字符串进行格式化,结果仍为字符串。

  2. 字符串中的%与后面tuple和dict中的每个真实值相对应,并通过%后面的内容进行格式控制。

关于类型码的选择,可参考下表:

类型码及其描述
s 获取传入对象的__str__方法的返回值,并将其格式化到指定位置
r 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
c 整数:返回所代表的Unicode字符;字符:将字符添加到指定位置
o 将整数转换成八进制表示,并将其格式化到指定位置
x 将整数转换成十六进制表示,并将其格式化到指定位置
d 将整数、浮点数转换成十进制表示,并将其格式化到指定位置
e、E 将整数、浮点数转换成科学计数法,并将其格式化到指定位置
f、F 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
g、G 自动调整将整数、浮点数转换成浮点型或科学计数法表示,并将其格式化到指定位置
%

当字符串中存在格式化标志时,需要用 %%表示一个百分号

当不知选用何种类型符时,可使用万能的s类型符。



  • format函数

同样先看个简单的例子

通过上述例子,我们可以看出:

  1. format() 函数可接受若干个参数对字符串进行格式化。参数的使用与否与字符串的调用有关。

  2. 在字符串中使用 { }  : 进行格式控制。{ } 中的序号代表format() 函数参数次序。

猜你喜欢

转载自www.cnblogs.com/south-y/p/8973629.html
qq