Python 数据类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 数据类型相关的知识,希望对你有一定的参考价值。

一、数据类型简介

(1) Python 数据类型包括数值类型、字符串类型、元组、列表、字典
(2) 数值类型可以分为整型、长整型、浮点型、复数型
(3) 字符串、元组、列表都属于序列的一种,三种类型都可以使用序列的一些特性(比如索引与切片,以及下面列举的一些基本操作)

len()     # 求序列的长度
+         # 连接两个序列
*         # 重复序列元素
in        # 判断元素是否在序列中
not in # 判断元素是否不在序列中 max() # 返回最大值 min() # 返回最小值 cmp(x,y) # 比较两个序列是否相等

二、数值类型

1. 整型

In [1]: a = 123              # 定义整数类型

In [2]: type(a)              # 查看数据类型
Out[2]: int

-2147483648 —— 2147483647 # 整型的取值范围,如果超过了这个范围则成为长整型

2. 长整型

In [7]: a = 123456789123456789123456789    # 定义长整型

In [8]: type(a)                            # 查看数据类型
Out[8]: long

In [9]: a                                  # 长整型后面会带有字母(l或L)以标识这是长整型
Out[9]: 123456789123456789123456789L

3. 浮点型

In [10]: a = 1.0    # 带小数点的数据类型则为浮点型
In [11]: b = 3e+7 # 科学计数法也属于浮点型
In [11]: type(a) # 查看数据类型 Out[11]: float

4. 复数型

In [14]: a = 123j    # 字母 j 用于标识这是一个复数类型

In [15]: type(a)     # 查看数据类型
Out[15]: complex

三、字符串类型

1. 定义字符串

In [16]: str = ‘this is a string‘        # 可以使用单引号/双引号/三引号来定义字符串类型
In [17]: str = "this is a string"        # 在 python 中,单引号和双引号并没有什么区别
In [18]: str = ‘‘‘this is a string‘‘‘    # 三引号可以写成‘‘‘或""" ,三引号除了能定义字符串类型外还能用来做注释
In [21]: str = "Hello\nWorld"    # 单引号和双引号如果要跨行定义需要加上 \n 作为换行符

In [24]: str = """Hello          # 三引号可以直接回车在下一行输入
   ....: World"""

2. 字符串的索引与切片

In [26]: a = ‘abcde‘

In [27]: a[0]      # 索引值从0开始,表示取字符串中的第一个字符
Out[27]: ‘a‘

In [28]: a[1]      # 取字符串中的第二个字符
Out[28]: ‘b‘

In [29]: a[-1]     # -1 表示倒数一个字符,-2 表示倒数第二个字符,以此类推
Out[29]: ‘e‘

In [30]: a[0:2]    # 表示取第一个到第三个(不包括第三个)这个范围的字符
Out[30]: ‘ab‘

In [31]: a[:2]     # 零可以省略,如果省略表示从第一个索引开始取
Out[31]: ‘ab‘

In [32]: a[1:]     # 这样写表示从第二个取到最后一个索引
Out[32]: ‘bcde‘

In [33]: a[-4:-2]  # 表示取倒数第四个到倒数第二个(不包括倒数第二个)这个范围的字符
Out[33]: ‘bc‘

In [34]: a[::1]    # 表示每隔一个数取一次(如果是负数则从右向左取)
Out[34]: ‘abcde‘

In [35]: a[::2]    # 表示每隔两个数取一次
Out[35]: ‘ace‘

3. 字符串的方法

In [1]: a = ‘abc‘

In [2]: a.lower()    # lower()用于将字符串转换成小写字母
Out[2]: ‘abc‘

In [3]: a.upper()    # upper()用于将字符串转换成大写字母
Out[3]: ‘ABC‘
In [4]: a.startswith(‘ab‘) # startswith()用于判断是否以指定的字符开头,如果是则返回 True ,否则返回 False Out[4]: True
In [6]: a.isdigit() # isdigit()用于判断是否是纯数字的字符串
Out[6]: False

In [7]: a.capitalize() # capitalize()用于使字符串首字母变成大写
Out[7]: ‘Abc‘

In [8]: a.replace(‘a‘, ‘A‘) # replace()用于替换字符串,默认只替换一次,如果要替换多次可以在后面指定次数,如 a.replace(‘a‘, ‘A‘, 3)
Out[8]: ‘Abc‘

In [9]: a.split(‘b‘) # split()用于切分字符串,括号里可以指定分割符,如果不指定默认以空格/Tab键/换行符来切分
Out[9]: [‘a‘, ‘c‘]

In [9]: a.find(‘b‘) # find()用于返回指定字符的索引值,如果没有找到该字符则返回-1
Out[9]: 1

In [9]: ‘-‘.join(a) # join()用于将序列中的元素以指定的字符连接生成一个新的字符串,详细用法参考菜鸟教程
Out[9]: a-b-c
In [69]: a = ‘ abc ‘

In [70]: a.strip()            # strip()用于把左右两边的空格去掉
Out[70]: ‘abc‘

In [71]: a.lstrip()           # lstrip()用于把最左边(left)的空格去掉
Out[71]: ‘abc ‘

In [72]: a.rstrip()           # rstrip()用于把最右边(right)的空格去掉
Out[72]: ‘ abc‘
In [73]: name = ‘xiaoming‘    # format()用法与print的格式化输出字符串用法一致

In [74]: age = 21

In [75]: print(‘my name is {0}, my age is {1}‘).format(name, age)
my name is xiaoming, my age is 21

4. string 模块

In [1]: import string

In [2]: string.lowercase                     # string.lowercase 用于打印所有小写字母
Out[2]: ‘abcdefghijklmnopqrstuvwxyz‘

In [3]: string.uppercase                     # string.uppercase 用于打印所有大写字母
Out[3]: ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ‘

In [4]: string.capitalize(‘hello‘)           # string.capitalize()用于指定字符串的首字母大写
Out[4]: ‘Hello‘

In [5]: string.replace(‘hello‘, ‘h‘, ‘H‘)    # string.replace()用于替换字符串
Out[5]: ‘Hello‘

四、列表

1. 列表的基本操作

In [65]: a = [‘abc‘, 123, 456]    # 创建列表
In [66]: a[0] = ‘def‘             # 修改列表元素
In [67]: type(a)                  # 查看数据类型
In [68]: del a                    # 删除列表
In [69]: del a[0] # 删除列表的某个元素

2. 列表的方法

In [74]: a = [‘a‘, ‘b‘, ‘c‘]

In [75]: a.append(‘d‘)        # append()用于追加指定的列表元素

In [76]: a.remove(‘d‘) # remove()用于删除指定的列表元素,如果有多个相同的列表元素,则默认只删除一个

In [77]: a.insert(2,‘c‘) # insert()用于在指定的索引前面插入元素,这里表示在索引为 2(即‘c‘)的前面插入字符‘c‘ ,结果为 [‘a‘, ‘b‘, ‘c‘, ‘c‘]

In [77]: a.index(‘b‘) # index()用于返回指定元素的索引值

In [78]: a.sort() # sort()用于给列表排序(正向排序)

In [79]: a.reverse() # reverse()用于反转列表元素,比如 a = [‘a‘, ‘b‘, ‘c‘] ,则 a.reverse() 结果为 [‘c‘, ‘b‘, ‘a‘]

In [80]: a.pop(2) # pop()用于返回并删除指定索引位置的元素,如果不指定索引值则默认返回并删除最后一个

In [81]: a.extend(range(5)) # extend()用于将可迭代的对象追加到列表中,括号内的 range(5) 是可迭代的对象,一般用来把一个列表的内容追加到另一个列表中
五、元组

五、元组

1. 元组简介

(1) 元组用括号来定义,可以存储一系列的值
(2) 元组与字符串一样是不可变的,也就是说,当你定义完一个元组之后,你不能改变某个元素的值,除非你把整个元组重新定义
(3) 元组通常用在用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变

In [50]: t = (‘abc‘, 123, 456)    # 定义元组

In [50]: t = (‘abc‘,) # 当元组中只有一个元素的时候后面要加逗号,否则 python 会认为这是一个字符串类型而不是元组类型
In [51]: type(t) # 查看数据类型 Out[51]: tuple

2. 元组的方法

In [56]: t = (‘a‘, ‘b‘, ‘c‘, ‘a‘, ‘a‘)

In [57]: t.count(‘a‘)    # count()用于统计元素的个数
Out[57]: 3

In [59]: t.index(‘b‘)    # index()用于返回元素对应的索引值
Out[59]: 1

六、字典

1. 字典简介

(1) 字典是 python 中唯一的映射类型(key-value)
(2) 字典的 value 是可变的,但是字典的 key 不可变,且 key 唯一,不能有重复的 key 值

In [1]: a = {1:‘a‘, 2:‘b‘, 3:‘c‘}    # 定义字典
 
In [2]: type(a)    # 查看数据类型
Out[2]: dict

In [3]: a[2] # 根据 key 访问字典元素
Out[3]: ‘b‘

2. 字典的方法

In [4]: a = {1:‘a‘, 2:‘b‘, 3:‘c‘}

In [5]: a.keys()            # keys()用于返回字典中所有的 key
Out[5]: [1, 2, 3]

In [6]: a.values()          # values()用于返回字典中所有的 value
Out[6]: [‘a‘, ‘b‘, ‘c‘]

In [7]: a.get(2)            # get()用于返回指定 key 的 value 值,这里表示返回 key 为 2 的 value 值
Out[7]: ‘b‘
In [8]: a.has_key(1) # has_key()用于判断字典中是否有指定的 key 值 Out[8]: True In [9]: a.items() # items()用于以元组的形式返回字典中的 key-value 对,且外层是一个列表,该方法可以用循环来遍历字典 Out[9]: [(1, ‘a‘), (2, ‘b‘), (3, ‘c‘)]
In [10]: a.iteritems() # iteritems()用于与 items() 一致,但返回的是一个迭代器,不占用内存,只有在需要的时候才调用,就像 print 和 return 的关系一样
Out[10]: <dictionary-itemiterator at 0x297ac58>
In [11]: a.copy() # copy()相当于复制字典,一般将它赋值给某个变量,比如 b = a.copy() Out[11]: {1: ‘a‘, 2: ‘b‘, 3: ‘c‘} In [12]: a.pop(2) # pop()用于返回并删除指定 key 所对应的元素 Out[12]: ‘b‘

In [13]: a.update(b) # update()用于合并两个字典,比如 a = {1:‘a‘} ,b = {2:‘b‘} ,则 a.update(b) 结果为 {1:‘a‘, 2:‘b‘}
In [14]: a.clear() # clear()用于清除字典中的所有元素
In [37]: a = {1:‘a‘, 2:‘b‘, 3:‘c‘}    

In [38]: a.setdefault(2)          # setdefault()作用与 get() 一致,用于返回指定 key 的 value 值,当然前提是 key 存在的情况下
Out[38]: ‘b‘

In [46]: a.setdefault(4, ‘d‘)     # 当指定的 key 不存在时,返回我们设置的默认值并把 key-value 追加到字典中
Out[46]: ‘d‘

In [47]: a
Out[47]: {1: ‘a‘, 2: ‘b‘, 3: ‘c‘, 4: ‘d‘}

 

 

 

 

   

     

以上是关于Python 数据类型的主要内容,如果未能解决你的问题,请参考以下文章

13 个非常有用的 Python 代码片段

在python 3.6中处理自定义编码时遇到类型错误

在代码片段中包含类型转换

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段

Python 向 Postman 请求代码片段