变量赋值
Python 中的变量赋值不需要类型声明。
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
Python中允许为多个变量同时赋值
a = b = c =1 a, b, c = 1, ‘b‘, 1.1 # 将1, ‘b‘分别赋值给a、b,1.1赋值给c
标准数据类型
Python有五个标准的数据类型
- String(字符串)
- List(列表)
- Numbers(数字)
- Tuple(元组)
- Dictionary(字典)
Python字符串
String(字符串)是Python中最忙,被操作最多的数据类型,一般形式如下:
a = "123456789a~zA~z...."
字符串可以被切割,因为字符串是不可变的,切割实质上是生成了新的字符串,
示例:
a = ‘you are the sunshine!‘ print(a) # 输出完整字符串 print(a[0]) # 输出字符串中的第一个字符 print(a[2:5]) # 输出字符串中第三个至第五个之间的字符串 print(a[2:]) # 输出从第三个字符开始的字符串 print(a * 2) # 输出字符串两次 print(a+"TEST") # 输出连接的字符串
以上的输出结果如下:
you are the sunshine! y u a u are the sunshine! you are the sunshine!you are the sunshine! you are the sunshine!TEST
Python列表
List(列表) 是 Python 中除字符串外使用最频繁的数据类型,是一个可变的有序表。
它的元素可以是五个标准的数据类型中的任何一个,也就是说列表中可以嵌套列表。
列表常用的操作示例:
>>> a = [1, 2.1, ‘a‘, [‘b‘]] # 定义一个列表 >>> a.append(‘c‘) # 往列表里面添加一个字符串c >>> print(a) [1, 2.1, ‘a‘, [‘b‘], ‘c‘] >>> a.insert(1, ‘d‘) # 往列表里面指定的位置插入字符串d >>> print(a) [1, ‘d‘, 2.1, ‘a‘, [‘b‘], ‘c‘] >>> a.pop() # 删除列表最后一个元素 ‘c‘ >>> print(a) [1, ‘d‘, 2.1, ‘a‘, [‘b‘]] >>> a.pop(1) # 指定删除列表的第二个元素 ‘d‘ >>> print(a) [1, 2.1, ‘a‘, [‘b‘]] >>> a[1] = ‘e‘ # 将列表的第二个元素替换为字符串e >>> print(a) [1, ‘e‘, ‘a‘, [‘b‘]]
Python元组
元组类似于列表,但是不能二次赋值,相当于只读列表;但是这个也不是绝对的
元组常用操作示例:
>>> a = ("a",) # 定义一个元素的元组,必须加逗号以区别于普通的括号 >>> b = (1, 1.2, ‘a‘) # 定义一个元组 >>> b[1] # 取出元组的第二个数据 1.2 >>> b[1:3] # 取出元组的第二到三个数据 (1.2, ‘a‘) >>> a = (‘a‘,‘b‘,[‘A‘,‘B‘]) # 定义一个‘可变的’元组 >>> a[2][1] = ‘C‘ >>> a (‘a‘, ‘b‘, [‘A‘, ‘C‘])
上面的示例中,表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。
即指向‘a‘
,就不能改成指向‘b‘
,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
Python数字
Python支持四种不同的数字类型:
- int(有符号整型)
- long(长整型[也可以代表八进制和十六进制])
- float(浮点型)
- complex(复数)
一些数值类型的实例:
int | long | float | complex |
---|---|---|---|
10 | 51924361L | 0.0 | 3.14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32.3e+18 | .876j |
-0490 | 535633629843L | -90. | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2E-12 | 4.53e-7j |
Python 字典
dict全称dictionary,在其他语言中也称为map,是除列表以外python之中最灵活的内置数据结构类型。
列表是有序的对象集合,字典是无序的对象集合。
常用操作示例:
dict = {} # 定义一个空字典 dict[‘tips‘] = "you are the sunshine!" # 给空字典添加一个key为tips,value值为"you are the sunshine!"的键值对 testdict = {‘name‘: ‘bingo‘, ‘socre‘: 99} print(dict[‘tips‘]) # 输出键为‘tips‘ 的值 print(testdict) # 输出完整的字典 print(testdict.keys()) # 输出所有键 print(testdict.values() ) # 输出所有值
输出结果:
you are the sunshine! {‘name‘: ‘bingo‘, ‘socre‘: 99} dict_keys([‘name‘, ‘socre‘]) dict_values([‘bingo‘, 99])
dict获取值时,如果值不存在就会报错,有两种方法避免:
通过in
判断key是否存在
>>> ‘c‘ in dict False
通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:
>>> dict.get(‘tipsssssss‘,-1) -1 >>> dict.get(‘tips‘,-1) 1
其他操作:
testdict.pop(‘name‘) # 删除testdict中key为name的元素 print(testdict) dict.update(testdict) # 合并两个字典的值 print(dict)
list和dict对比,dict是用空间来换取时间的一种方法。
dict和list比较,dict有以下几个特点:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
而list相反:
- 查找和插入的时间随着元素的增加而增加;
- 占用空间小,浪费内存很少。
Python 集合
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:
>>> s = set([1, 2, 3]) >>> s {1, 2, 3}
注意,传入的参数[1, 2, 3]
是一个list,而显示的{1, 2, 3}
只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。
重复元素在set中自动被过滤:
>>> s = set([1, 1, 2, 2, 3, 3]) >>> s {1, 2, 3}
通过add(key)
方法可以添加元素到set中,可以重复添加,但不会有效果:
>>> s.add(4) >>> s {1, 2, 3, 4} >>> s.add(4) >>> s {1, 2, 3, 4}
通过remove(key)
方法可以删除元素:
>>> s.remove(4) >>> s {1, 2, 3}
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
>>> s1 = set([1, 2, 3]) >>> s2 = set([2, 3, 4]) >>> s1 & s2 {2, 3} >>> s1 | s2 {1, 2, 3, 4}
set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。试试把list放入set,看看是否会报错。
原文地址:https://www.cnblogs.com/Detector/p/8444119.html