【Python学习系列】数据类型(二)

文章目录

一、数值类型(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) 将一个整数转换为一个八进制字符串
相关推荐
databook1 天前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室1 天前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三1 天前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试
用户2519162427111 天前
Python之语言特点
python
刘立军1 天前
使用pyHugeGraph查询HugeGraph图数据
python·graphql
数据智能老司机1 天前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
数据智能老司机2 天前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构
c8i2 天前
django中的FBV 和 CBV
python·django
c8i2 天前
python中的闭包和装饰器
python
这里有鱼汤2 天前
小白必看:QMT里的miniQMT入门教程
后端·python