在Python中数据类型与其他语言大同小异,分别有整型(int)、浮点型(float)、布尔型(bool)、字符串(str)、空值(None)。
其中整型和浮点型都是数字类型,在Python中还有其他两个数字类型长整型(long)、复数(complex)。
此外,Python还提供了字典、列表等, 还允许创建自定义数据类型 。注意:long 类型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 类型数据溢出后会自动转为long类型。在 Python3.X 版本中 long 类型被移除,使用 int 替代
整型
整型即整数,Python可以处理任意大小的整数,其中也包括负整数。
浮点型
浮点型也就是小数,浮点数对于很大或很小的数值,计算机会以科学记数法进行存储,把10用e来代替,例:1.23e9=1.23x109或者 0.000012=1.2e-5
字符串
Python中的字符串使用 “” 或者 ‘’ 包裹任意字符,比如: ‘abc’ 或 “abc” ,如果 ‘ 也想当成一个字符输出的话可以使用包裹起来 “I ‘m Sam”
\n # 表示换行
\t # 表示制表符
r'' # 表示默认不需要转义任何字符
# Python可以使用'''...'''来表示多行字符串
提示符会从>>>变成…,这表示你可以接着上一行的代码继续输入,…不是代码的一部分
获取字符串长度
len()
a='abc'
len(a)
3
替换字符串字符
str.replace()
这里需要注意的是,str是变量,而’love’才是字符串对象。在使用str.replace()时,不会作用在变量str上,str.replace()作用在’love’字符串对象上,并不会改变str变量的指向。我们只需要将str.replace()返回的新的字符串对象赋值给新的变量即可。
str = 'love'
print(str.replace('l', 'L'))
print(str)
# 输出结果
# Love
# love
布尔型
Python中的布尔型使用True和False来表示,与布尔代数的表示完全一致,需要注意的是大小写的问题,其他语言中首字母可以是小写的,例如:PHP布尔值可以通过逻辑运算、比较运算得到。需要注意的是,逻辑运算中 x and y ,如果x或y为False或0,会返回布尔值False或0,否则它会返回y的值。
空值
空值是Python中非常特殊的值,用 None 表示, None 不可以理解为0,因为 None 是有意义的,而 None 是一个特殊的空值。
列表
Python中内置了一种有序集合来存储数据,与php中的数组非常相似。
列表中的元素值可以是任意数据类型。
# 比如列出员工的姓名
staff=['李某','张某','王某','胡某'] # 输出 ['李某','张某','王某','胡某']
# 添加
staff.append(val) # 追加
staff.insert(index, val) # 指定索引增加
# 删除
staff.pop(index) # 默认末尾删除,可指定索引
# 排序
staff.sort() # 可对列表进行排序
元组
元祖与列表非常相似,唯一不同的是元祖一旦定义,元祖中的元素不可修改,并且元祖也没有增加和删除元素的操作,获取元素等操作与列表一致。如果进行修改元祖中的元素Python会报TypeError: ‘tuple’ object does not support item assignment错误
loser=('y某') # 输出 ('y某')
字典
在Python中内置了字典(dict)数据类型,使用键和值(key:value)来存储,和php中的关联数组类似,更像是一个json字符串。
key必须是唯一的,value可重复,value可以是任意数据类型。
dict = {'key1':'value1', 'key2':123, 'key3':[1,2,3]}
print(dict);
# 输出结果
# {'key1': 'value1', 'key2': 123, 'key3': [1, 2, 3]}
print(dict['key1']); # value1 key不存在会报错
# 以下方式可以规避报错
print('key' in dict) # 不存在返回false
print(dict.get('key', default)) # 不存在发挥none,可指定默认值
# 添加和修改
dict['key'] = True # 如果key存在会修改值
# 删除
dict.pop('key')
字典的忒点
字典的查找速度特别快,为什么?举个“栗子”来说明:
就像我们差字典,知道首字符,找到对应的词后,查看页码就可以了。
dict就是根据这种机制来查找到对应的“页码”,直接取出数据,所以速度非常快。
字典和列表比较有以下几个特点:
字典:
- 查找和插入极快,不会随着key的增加而变慢
- 随着key的增加,会占用更多的内存
列表:
- 查找和插入随着元素的增加而增加
- 占用内存少
集合
集合和字典非常相似,但是集合不存储value,只存储key,同样key也不可重复。
要创建一个集合需要提供一个列表。并且必须是一维的列表
list = [1, 2, 3, 'ddd', True] #
s = set(l) # 输出结果 {1, 2, 3, 'ddd', True}
# 增加
s.add(val)
# 删除
s.remove(index) # 索引从1开始不是0
- 本文链接:http://codersam.cn/2019/05/06/Python%E6%AF%8F%E5%A4%A9%E4%BA%94%E5%88%86%E9%92%9F-%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。