Python的基本数据类型
type() 可以打印出数据的类型
1、Number
1) int 整数
当整数与浮点数进行运算时,其结果的数据类型都是浮点数,科学计数法亦是浮点数。"/"相除时会自动转型成浮点数; "//"相除是整除,只会保留整数部分, 所以其结果是整数类型
2) float 浮点型
带小数点的数值
0) 2进制、8进制、10进制、16进制
0b:二进制标识符,放在开头。例:0b10–2
0o:八进制标识符
0x:十六进制标识符
bin() 转换成二进制
oct() 转换成八进制
int() 转换成十进制
hex() 转换成十六进制
3) bool 布尔类型:表示真、假
真:true、非零数值、非空字符串…
假:false、0、空字符串、none…
4) complex 复数
用"j"表示, 例: 36j
2、组
1) 序列(有序)
① str 字符串
用单引号、双引号、三引号表示
三引号多用来表示长字符,三引号可以换行,单引号和双引号不可以,在换行的时候加一个"\",则单引号和双引号字符串也可以换行。
IDLE中显示换行的三引号字符串时会把换行这一行为通过转义字符显示出来。反之手动编写换行的转义字符输出时并不会换行,只会当初普通的字符输出,用"print()"打印则可以
0) 转义字符 \
是一种特殊的字符,用来表示无法"看见"的字符、与语言本身语法有冲突的字符
字符串前加一个"r或R",则该字符串就不是一个普通字符串,而是原始字符串
例:
print(r'c:\northwind\northwest')
c:\northwind\northwest
A、字符串运算一
+是字符串的拼接
字符串与数字m相乘则会得到m个的重复字符串(一个);字符串与字符串相乘则会报错
B、字符串运算二
字符串[n]:会获得指定位置的一个字符
字符串[m:n]:会截取出该字符串的一段字符,其中m表示起始序号,n表示结束序号,当n是正数时需要改为n+1。当n为负数时,则表示截取除倒数到n位置以外的字符。没有n时,则会从m开始一直截取到最后;没有m时,则会从开头一直截取到n。如果有第三个参数,则表示间隔
例:
print("hello world"[0:5])
hello
print("hello world"[0:-3])
hello wo
print("hello world"[6:])
world
② list 列表
[] 符号包裹,每个元素之间用逗号隔开,元素数据类型可以不统一。
例:
[1,2,3,4,5,6]
["hello","world",1,9,True,False]
[[1,2],[3,4],[True,False]] #嵌套列表
列表截取某个元素或者多个元素的方法和字符串一样。截取多个元素时得到的还是一个列表。
两个列表进行+运算, 则会合成一个列表。列表乘以数字n,则会得到一个重复n次原列表的新列表。两个列表进行 -、* 则会报错。
③ tuple 元祖
() 符号包裹,每个元素之间用逗号隔开,元素数据类型可以不统一。特点与 list 相同。
当元祖只有一个元素时,其数据类型不再是元祖,而是该元素的类型。在该元素后加上逗号,才是元祖类型。
④ 序列总结
str、list、tuple都属于序列。截取多个字符或者元素的方式叫做切片。
len() 获取序列的长度
max() 获取序列的最大值
min() 获取序列的最小值
ord() 获取参数的ascII
in 序列是否含有某个元素
not in 判断是否没有某个元素
例:
1 in [1,2,3]
True
1 not in [1,2,3]
False
2) set 集合 (无序)
{} 符号包裹,每个元素之间用逗号隔开。
集合不能有重复的元素,不会报错,但输出的时候,会去掉重复的元素。
集合不具有序列的截取方法。
具有len()、in、not in
set() 表示空的集合
- 获取两个集合之间的差集。
& 获取两个集合之间的交集。
| 获取两个集合的合集。
例:
{1,2,3,4,5,6} - {3,4}
{1,2,5,6}
{1,2,3,4,5,6} & {3,4}
{3,4}
{1,2,3,4,5,6} | {3,4}
{1,2,3,4,5,6,7}
3) dict 字典
dict不是序列,类似set,是无序的
定义方式:{key1:value1, key2:value2…}
value 可以是几乎任意数据类型
key 必须是不可变的类型
dict不能有相同的key, 否则会自动去重
{} 表示空的dict