博主平时编程用的最多是C++,python用的比较少,最近重新系统掌握下python,首先从pyhton的数据类型下手:
Python3总共有6个标准的数据类型:
- Number(数字)——不可变
- String(字符串)——不可变
- List(列表)——可变
- Tuple(元组)——可变
- Set(集合)——不可变
- Dictionary(字典)——不可变
Number(数字)
Python3支持int,float,bool,complex;可用type()函数查询变量所指的对象类型。对于布尔类型,Python2用数字0代表False,用数字1代表True;Python3中将True和False定义成关键字,值还是 1 和 0,它们可以和数字相加。
注意:
1、Python可以同时为多个变量赋值,如a, b = 1, 2。
2、一个变量可以通过赋值指向不同类型的对象。
3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数,如5/2=2.5,5//2=2。
4、在混合计算时,Python会把整型转换成为浮点数。
String(字符串)
str = "HelloWorld"
print(str) #打印字符串
print(str[0:5]) #打印下标为0到下标为4的字符
print(str[2:]) #打印下标为2到最后的所有字符
print(str*2) #输出字符串两次
print(str+"Hi") #连接字符串
print('Hello\nWorld') #将Hello和World分行打印
print(r'Hello\nWorld') #用r取消转义字符\n的作用
注意:
1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
2、字符串可以用+运算符连接在一起,用*运算符重复。
3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
4、Python中的字符串不能改变。
5、Python 没有单独的字符类型,一个字符就是长度为1的字符串。
6、与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm’会导致错误。
List(列表)
注意:
1、列表是写在方括号 [] 之间、用逗号分隔开的元素列表
2、和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表
3、与Python字符串不一样的是,列表中的元素是可以改变的
4、List 内置了有很多方法,例如 append()、pop() 等等
5、List可以使用+操作符进行拼接
6、列表内的元素类型可以不一样
7、可以设置步长截取列表如下图
list=['hello',13,'world',14]
print(list)
print(list[0:2])
print(list[2:])
print(list*2)
print(list+[521])
list[0:2]=[]
print(list)
print(list[0:3:2]) #设置步长截取列表
Tuple(元组)
注意:
1、元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
2、元组中的元素类型也可以不相同。
3、与字符串一样,元组的元素不能修改。
4、元组也可以被索引和切片,方法一样。
5、注意构造包含 0 或 1 个元素的元组的特殊语法规则。
6、元组也可以使用+操作符进行拼接。
7、空元组用()表示,如tup1=(),元组内只有一个元素,后面要加逗号,如tup2=(20,)
tuple = ('hello', 786, 2.23, 'world', 70.2)
tinytuple = (123, 'runoob')
othertuple=(666,) # 一个元素,需要在元素后添加逗号
print(tuple) # 输出完整元组
print(tuple[0]) # 输出元组的第一个元素
print(tuple[1:3]) # 输出从第二个元素开始到第三个元素
print(tuple[2:]) # 输出从第三个元素开始的所有元素
print(tinytuple * 2) # 输出两次元组
print(tuple + tinytuple) # 连接元组
print(othertuple)
Set(集合)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。可以使用大括号 { } 或者 set() 函数创建集合。
注意:
1、创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
2、基本功能是进行成员关系测试和删除重复元素
3、集合不支持jindex与加
4、set中的元素不可改变,但是set中可以包含list,list内的元素可以改变
基本语法:
parame = {value01,value02,…}
或者
set(value)
set = {'hello', 786, 2.23, 'world', 70.2,2.23}
tinyset = {123, 'runoob'}
print(set) # 输出集合,重复的元素被自动去掉
print(set-tinyset) #差集
print(set|tinyset) #并集
print(set&tinyset) #交集
print(set^tinyset) #不同时存在的元素
#print(set+tinyset) #TypeError: unsupported operand type(s) for +: 'set' and 'set'
#print(set[0]) #TypeError: 'set' object does not support indexing
set=("hello",521,"world",[1,2,5,6])
#set[0]=5 #TypeError: 'tuple' object does not support item assignment
set[3][2]=9
print(set)
Dictionary(字典)
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
注意:
1、字典是一种映射类型,它的元素是键值对。
2、字典的关键字必须为不可变类型,且不能重复。
3、创建空字典使用 { }。
4、键(key)必须使用不可变类型。
5、在同一个字典中,键(key)必须是唯一的。
dict = {}
dict['hello']=786
dict[2.23]='world'
tinyset = {123: 'h',456:'e',789:'l'}
print(dict[2.23])
print(tinyset) # 输出完整的字典
print(tinyset.keys()) # 输出所有键
print(tinyset.values())# 输出所有值