Python笔记——2 数据类型
Posted south-y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python笔记——2 数据类型相关的知识,希望对你有一定的参考价值。
目 录
? 预备知识
? 数据类型
? 延伸知识
壹
预备知识
如果读者有其他编程语言的基础,如:C语言。就会发现python在使用“变量”时并不需要声明其数据类型。甚至,在python中,并没有“变量”这一概念!取而代之的称为对象引用。
之所以会存在上述特点大多是因为python是一种面向对象的编程语言。在python中,一切皆对象!所以,数据类型也是对象。可以通过下图加深对此问题的理解。
▼ python中的数据类型对象及对象引用:
可见,python中的数据类型是针对堆中的数据对象而言。而对象引用也就相当于数据存储地址的别称,故不需要声明其数据类型。在python中,对象引用也是标识符的一种,可使用标识符命名规则进行命名。
python标识符命名规则
以字母或下划线开头,后接字母、数字或下划线。其中字母或下划线可以是Unicode编码中的字母或数字。
标识符不能与关键字重复,标识符长度不限。
应使标识符有意义且具可读性。如:"myName" 或 "my_name"。
▼ 查看Python中的关键字
贰
数据类型
当我们改变存放在堆中的对象的值时,若其引用(地址)也随之改变,则我们称此对象的数据类型为不可变数据类型。反之,则称为可变数据类型。
不可变数据类型
- 整数类型和浮点类型
上述两种数据类型分别表示整数和浮点数。此外,python还支持复数。python中的整数类型默认使用十进制表示,其他进制的表示方法为:
进制 二进制 八进制 十六进制
前缀 0b 0o 0x
对这两种类型的数据的操作通常是各种算术运算。python可以提供良好的支持。这些运算符包括包括:"+", "-", "*", "/", "//", "**", "%"。可以看到,在python中,有两种除法:"/" 和 "//"。前者为精确除法,结果为float类型。后者为地板除,结果为int类型(值为商)。此外在交互式环境中,"_" 符号可用来保存上次运算结果。
- 字符串类型
在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 为一个元组或字典。
应用层:向用户提供服务
▼ 四种物理拓扑:
python标识符命名规则
以字母或下划线开头,后接字母、数字或下划线。其中字母或下划线可以是Unicode编码中的字母或数字。
标识符不能与关键字重复,标识符长度不限。
应使标识符有意义且具可读性。如:"myName" 或 "my_name"。
字符串类型(str)
在Python中,有两种方法可实现字符串的格式化操作:% 格式化操作符和format函数。
% 格式化操作符
首先,来看个简单的例子:
从上述例子中,我们可以看出:
可用tuple和dict变量对字符串进行格式化,结果仍为字符串。
字符串中的%与后面tuple和dict中的每个真实值相对应,并通过%后面的内容进行格式控制。
关于类型码的选择,可参考下表:
类型码及其描述
s 获取传入对象的__str__方法的返回值,并将其格式化到指定位置
r 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
c 整数:返回所代表的Unicode字符;字符:将字符添加到指定位置
o 将整数转换成八进制表示,并将其格式化到指定位置
x 将整数转换成十六进制表示,并将其格式化到指定位置
d 将整数、浮点数转换成十进制表示,并将其格式化到指定位置
e、E 将整数、浮点数转换成科学计数法,并将其格式化到指定位置
f、F 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
g、G 自动调整将整数、浮点数转换成浮点型或科学计数法表示,并将其格式化到指定位置
%
当字符串中存在格式化标志时,需要用 %%表示一个百分号
当不知选用何种类型符时,可使用万能的s类型符。
format函数
同样先看个简单的例子
通过上述例子,我们可以看出:
format() 函数可接受若干个参数对字符串进行格式化。参数的使用与否与字符串的调用有关。
在字符串中使用 { } 和 : 进行格式控制。{ } 中的序号代表format() 函数参数次序。
以上是关于Python笔记——2 数据类型的主要内容,如果未能解决你的问题,请参考以下文章