4 基本数据类型
4.1 数字
数字包含整形、浮点型、复数、布尔
4.1.1 整型(int):
任意大小的整数,如:1,20,0, -100。
操作:/:除法,返回浮点数;//:整除、地板除 ,忽略小数部分,返回整数;%:取余。*:加权计算,如<5*2=25>
2进制、8进制、10进制、16进制
0b开头表示2进制
0o开头表示8进制
0x开头表示16进制
10进制直接用数字表示
不同进制之间转换:
bin()转换为2进制
>>>bin(10)
ob1010
int()转换为10进制
hex()转换为16进制
oct()转换为8进制
4.1.2 浮点型(float):
小数,如:1.0, -0.22。
4.1.3 布尔值:
True、False
布尔值可以和数字类型转换,0表示False,其他表示True
>>>int(True)
1
>>>int(False)
0
>>>bool(2)
True
字符串也可以和布尔类型转换显示,空字符串表示False,其他表示True。 注意:空值转换成布尔类型均为False
>>>bool('')
False
>>>bool('reedo')
True
4.2 组
组分为序列和集合,列表、元组、字符串可视为序列,dict和set是集合,两者的区别是序列是有序的,集合是无序的。
4.2.1 字符串(str)
用单引号、双引号包含起来的字符为字符串。 注意:引号均为英文状态下输入,用于表示字符串时需要成对出现。
>>>'hello,reedo'# 字符串可以用单引号也可以用双引号,同"hello,reedo"
'hello,reedo'
>>>'1'#此时表示字符串,而部署数字, 可用type('1') 查看
'1'
>>>"let's go"# 双引号成对表示字符串,其中单引号为字符串内容
"let's go"
多行字符:
多行输入字符串使用三引号
>>>"""hello
world
"""
'hello \n word'
换行前输入\也可实现换行输入
>>>'hello\
word'
'hello word'
转译字符:用于表示无法看见的或语法冲突的字符
\n换行
\r回车
\'单引号
\\反斜杠\
原始字符串:字符串不转译,直接输出: 使用r''
>>>print(r'c:/nobody/now')
'c:/nobody/now'
字符串操作:
>>>'hello'+'world'#字符串拼接
'helloworld'
>>>'hello'*3#字符串复制
'hellohellohello'
>>>'hello'[0]#字符串截取,根据字符串下标,第一个字符下标为0,截取为区间时左闭右开
'h'
>>>'hello'[0:3]
'hel'
空值:None 注意:None不等同于0、False等。
4.2.2 列表(List)
List是Python内置的一种有序的、可变的复合数据类型,用于将其他值组合在一起。用方括号包含,不同值之间用逗号分隔开,列表的值可为不同类型。
>>>MyList= [11,'aa',True]#定义一个列表,可包含不同数据类型
>>>MyList
[11,'aa',True]
像字符串(以及所有其他内置的序列类型),列表可以被索引和切片
>>>MyList[0]# 索引,访问MyList索引为0的值,列表中第一个值的索引为0,后面的值依次为1,2,3...
11
>>>MyList[-1]# 索引,访问MyList索引为-1的值,列表中倒数第一个索引为-1,右到左依次为-1,-2,...
True
>>>MyList[-2:]#切片,会返回一个包含请求元素的新的列表
['aa',True]
>>>MyList[:]# 返回一个列表的新副本
[11,'aa',True]
列表连接:和其他列表连接(返回新的列表,不改变之前的列表数据),如下操作:
>>>MyList+[11,22,33]
[11,'aa',True,11,22,33]
与不可变字符串不同,列表是一个可变的类型(改变现有列表内容),也就是说可以改变他们的内容:
>>>cubes= [1,8,27,65,125]# 定义一个列表
>>>cubes[3] =64# 更改列表索引为3(即第四个值65)的值为65
>>>cubes
[1,8,27,64,125]
>>>cubes[2:4]=['a','b']# 替换某些值
>>>cubes
[1,8,'a','b',125]
>>>cubes[-2:]=[]#删除某些值
[1,8,'a']
>>>cubes[:] = []#通过用空列表替换所有元素来清除列表
[]
也可以使用append()方法在列表末尾添加新的值(改变现有列表内容)
>>>cubes.append(216)
>>>cubes.append(7**3)
>>>cubes
[1,8,27,64,125,343]
内置函数len()可以用于获取列表长度
>>>letters= ['a','b','c','d']
>>>len(letters)
4
4.2.3元组(tuple)
元组(Tuble)和列表非常类似,只是元组一旦初始化就不能修改,用()表示,如:
Tuble= ('11',1,'aa')
总结:
str、list、tuple都时序列,都可通过角标、切片等访问、+、*、
in判断 、len()方法、max()\min(),
>>>2in[1,2,3]#in判断是否在序列中,返回True或False
True
>>>len('reedo')
5
>>>max('abcdef')#是字符串是按照assic码返回,可用方法ord()查看对于的assic码
f
4.2.4 集合(set)
集合是无序的,不可重复的
集合(set)同字典类似,是一组key的集合,但不存储value,用{}表示,如:
set= {'1',1,'aa'}
集合的常见操作:差积、并集、交集
>>>{1,2,3,4}-{3,4}#排除第一个集合中的第二个集合中的元素
{1,2,}
>>>{1,2,3}|{3,4,5}#求两个集合的并集
{1,2,3,4,5}
>>>{1,2,3}&{3,4,5}#求两个集合的交集
{3}
定义空的集合set()。
>>>set()
set()
>>>type({})#{}表示空的字典,而不是空的集合。
4.2.5 字典(dict)
Python内置了字典,用{}表示,使用“key:value”存储,如{key1:value, key2:value2...}也属于集合类型,如:
>>>dict= {'name':'mike','age':21,'position':'pm'}#定义一个dict
>>>ditc['name']#通过key访问value
mike
字典中value可以是任意类型如int、str、dict等,但key必须是不可变类型,如key不可以是列表(列表是可以变的)