文章目录
- 一、数值类型(Numbers)
- 二、序列(Sequences)
-
- [2.1 字符串](#2.1 字符串)
- [2.2 列表](#2.2 列表)
- [2.3 元组](#2.3 元组)
- 三、集合(Sets)
- 四、映射(Mappings)
- 五、布尔值(Booleans)
- 六、None类型
- 七、数据类型转换
一、数值类型(Numbers)
- 整数(Integers):表示整数,如 1, 2, -3 等。
- 浮点数(Floats):表示浮点数,即带有小数点的数,如 3.14, -0.5 等。
- 复数(Complex):表示复数,由实部和虚部组成,如 3 + 4j。
python
a = 10 # 整数
b = 3.14 # 浮点数
c = 3 + 4j # 复数
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'complex'>
二、序列(Sequences)
- 字符串(Strings):表示文本数据,由字符组成,用单引号、双引号或三引号括起来,如 'hello', "world", '''multi-line string'''。
- 列表(Lists):表示有序的元素集合,元素可以是不同类型,用方括号 [] 括起来,如 [1, 2, 3], ['a', 'b', 'c']。
- 元组(Tuples):表示有序的不可变元素集合,用圆括号 () 括起来,如 (1, 2, 3), ('a', 'b', 'c')。
python
s = "hello" # 字符串
l = [1, 2, 3] # 列表
t = (1, 2, 3) # 元组
print(type(s)) # <class 'str'>
print(type(l)) # <class 'list'>
print(type(t)) # <class 'tuple'>
2.1 字符串
如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。注:获取的子字符串包含头下标的字符,但不包含尾下标的字符。
python
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = 'abcdefg'
print str # 输出完整字符串,执行结果:abcdefg
print str[0] # 输出字符串中的第一个字符,执行结果:a
print str[2:5] # 输出字符串中第三个至第六个之间的字符串(其中不包含第六个字符),执行结果:cde
print str[2:] # 输出从第三个字符开始的字符串,执行结果:cdefg
print str * 2 # 输出字符串两次,执行结果:abcdefgabcdefg
print str + "TEST" # 输出连接的字符串,执行结果:abcdefgTEST
2.2 列表
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始。其中加号 + 是列表连接运算符,星号 * 是重复操作。
python
#!/usr/bin/python
# -*- coding: UTF-8 -*-
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 输出完整列表,执行结果:['runoob', 786, 2.23, 'john', 70.2]
print list[0] # 输出列表的第一个元素,执行结果:runoob
print list[1:3] # 输出第二个至第三个元素,执行结果:[786, 2.23]
print list[2:] # 输出从第三个开始至列表末尾的所有元素,执行结果:[2.23, 'john', 70.2]
print tinylist * 2 # 输出列表两次,执行结果:[123, 'john', 123, 'john']
print list + tinylist # 打印组合的列表,执行结果:['runoob', 786, 2.23, 'john', 70.2, 123, 'john']
2.3 元组
python
#!/usr/bin/python
# -*- coding: UTF-8 -*-
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # 输出完整元组,执行结果:('runoob', 786, 2.23, 'john', 70.2)
print tuple[0] # 输出元组的第一个元素,执行结果:runoob
print tuple[1:3] # 输出第二个至第四个(不包含)的元素 ,执行结果:(786, 2.23)
print tuple[2:] # 输出从第三个开始至列表末尾的所有元素,执行结果:(2.23, 'john', 70.2)
print tinytuple * 2 # 输出元组两次,执行结果:(123, 'john', 123, 'john')
print tuple + tinytuple # 打印组合的元组,执行结果:('runoob', 786, 2.23, 'john', 70.2, 123, 'john')
三、集合(Sets)
- 集合(Sets):表示无序的不重复元素集合,用大括号 {} 括起来,如 {1, 2, 3}。也可以使用 set() 函数创建空集合。
python
my_set = {1, 2, 3} # 集合
empty_set = set() # 创建空集合
print(type(my_set)) # <class 'set'>
print(type(empty_set)) # <class 'set'>
四、映射(Mappings)
- 字典(Dictionaries):表示键值对的集合,用大括号 {} 括起来,键必须是不可变类型,如 {1: 'one', 2: 'two'}, {'a': 1, 'b': 2}。
python
my_dict = {'a': 1, 'b': 2} # 字典
print(type(my_dict)) # <class 'dict'>
字典与列表最大区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取,具体使用案例如下:
python
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}
print dict['one'] # 输出键为'one' 的值,输出结果:This is one
print dict[2] # 输出键为 2 的值,输出结果:This is two
print tinydict # 输出完整的字典,输出结果:{'dept': 'sales', 'code': 6734, 'name': 'runoob'}
print tinydict.keys() # 输出所有键,输出结果:['dept', 'code', 'name']
print tinydict.values() # 输出所有值,输出结果:['sales', 6734, 'runoob']
五、布尔值(Booleans)
- 布尔值(Booleans):表示逻辑值,只有两个值:True 和 False。
python
is_true = True # 布尔值
is_false = False # 布尔值
print(type(is_true)) # <class 'bool'>
print(type(is_false)) # <class 'bool'>
六、None类型
- None:表示空值或无值,只有一个值 None。
python
nothing = None # None类型
print(type(nothing)) # <class 'NoneType'>
七、数据类型转换
函数 | 描述 |
---|---|
int(x [,base]) | 将x转换为一个整数 |
long(x [,base] ) | 将x转换为一个长整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个序列 (key,value)元组。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
unichr(x) | 将一个整数转换为Unicode字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |