====== Python中的数据类型 ======
===== Python中常见的数据类型 =====
* 数值(Numbers)
* 布尔 (Bool)
* 字符串(String)
* 列表(List)
* 元组(Tuple)
* 字典(Dictionary)
* 集合(Set)
* 变量
* 数值型
数值型包含整数、浮点数和复数。其基本表示情况如下表:
{{https://i.postimg.cc/fbmP4jbr/image.png?500}}
==== 布尔型 ====
所有内置的数据类型与标准库提供的数据类型都可以转换为一个布尔型值。使用and、or、not三个逻辑操作符可以将对象之间的关系以True或False来表示,这就是布尔值。
==== 字符串型 ====
* 可以用单引号或双引号标识,反斜杠转义
* 可以使用乘号快速生成字符串
* 可以直接当做字符的列表
以下是关于字符串应用的示例:
{{https://i.postimg.cc/c1XbNJs0/image.png}}
===== print与格式输出 =====
使用print函数,配合各类字符串格式化方法,可以进行格式化输出。 一般如下行代码所示:
print('%s is %d years old' %('Jack',25))
对于变量的修饰部分有如下要求:
'% [-] [+] [0] [m] [.n] 格式字符' % x
其中:
'-'表示指定左对齐输出
'+'表示对正数加正号
'0'表示指定空位填0
'm'表示指定最小宽度
'n'表示指定精度
'格式字符'表示显示时指定的类型
'x' 表示待转换的表达式
对于格式字符的类型可见下表:
^ 格式 ^ 说明 ^
| %c | 格式化字符或编码 |
| %s | 格式化字符串 |
| %d | 格式化整数 |
| %u | 格式化无符号整数 |
| %o | 格式化八进制数 |
| %x | 格式化十六进制数 |
| %f | 格式化浮点数,可指定小数位数 |
| %e | 用科学计数法格式化浮点数 |
**小练习:**设计一个程序,实例以下输出。
请输入表格的宽度:30
==============================
项目 价格
------------------------------
苹果 6.00
桔子 3.20
香蕉 2.50
葡萄 14.80
红提 15.00
西瓜 1.50
==============================
**提示:**使用 fm="%-*s%*s"
===== 运算符与表达式 =====
==== 运算符 ====
1. 标准运算符
Python中的标准运算符有以下几种,分别是:
+ - * / // % ** (加、减、乘、除、整除、模、幂)
2. 比较运算符 Python中的比较运算符有:
< <= > >= == <> !=
3. 逻辑运算符 Python中逻辑运算符有:
and or not
==== 运算表达式 ====
所谓运算表达式即是以上述运算符连接对象进行计算的式子
如:
x+y
x-y
x and y
x in y
===== 序列 =====
Python中包含了6种内建的序列,分别是:
* 字符串
* 列表
* 元组
* Unicode字符串
* buffer对象
* xrange对象
其中最为常用的就是列表和元组。这两者的区别在于列表中的信息可以修改,而元组中的信息不能修改。序列中可以包含各种数据,当然序列中也可以包含序列。
例:
zhangsan=['zhangsan','male',32]
lisi=['lisi','female',30]
user=[zhangsan,lisi]
==== 通用的序列操作 ====
**1. 序列的索引**
序列中所有的元素都有编号,且从0开始递增。可以通过这个编号来访问序列中的元素。编号的设置可以为正数,表示从左向右计数;也可以为负数,表示从右向左计数,起始值为-1。
**2. 序列的分片**
分片是指使用两个索引值来指定序列中的一个部分。需要注意的是:第1个索引是需要提取部分的第1个元素的编号,而最后的索引则是分片之后剩下部分的第1个元素的编号。 例:
numbers=[1,2,3,4,5,6,7,8,9]
print(numbers[3:6])
# 如需要访问这个序列的最后三个值可以有以下几个方法,哪些是可行的
numbers[6:9]
numbers[-3:-1]
numbers[-3:0]
numbers[-3:]
带有步长的分片:所谓步长,是指每隔几个元素指定一个对象。
例:
numbers=[1,2,3,4,5,6,7,8,9]
print(numbers[::2])
步长可以是一个正数,也可以是一个负数。
例:
numbers=[1,2,3,4,5,6,7,8,9]
print(numbers[9:0:-2])
**3. 序列相加**
使用加号加多个序列连接起来。
例:
['1','2','3']+['a','b','c']
**4. 序列乘法**
使用乘法可以将当前序列生成一个重复n次的新的序列
例:
['a','b','c']*5
**5. 成员资格**
该项是指检查一个值是否存在于一个序列中,采用in运算符。返回值为布尔值。
例:
classmates=['Jack','Tom','Helen']
buddy='Jack'
buddy in classmates
**6. 长度、最小值和最大值**
可以使用函数len、max、min来分别得出序列中的长度、最大以及最小值。