Python 基本数据类型 索引和截取终极理解 步长的理解

一、标准的数据类型

Python3 中有六个标准的数据类型:

  • Number (数字) ——不可变数据
  • String (字符串) ——不可变数据
  • Tuple (元组) ——不可变数据
  • List (列表)——可变数据
  • Set (集合)——可变数据
  • Dictionary (字典)——可变数据

二、Number(数字)

python3 支持 int、 float、bool、complex
在python3中,只有一种整数类型 int,表示长整形,并没有long
这里介绍两个内置函数:
1、type()

a, b, c, d = 1, 3.14, True, 1+2j
print(type(a), type(b), type(c), type(d))

看一下输出结果:
在这里插入图片描述
可以看到 type() 函数可以用来查询变量所指的对象类型
2、isinstance()

num = 1
print(isinstance(num,int))

看一下输出结果:
在这里插入图片描述
两者的区别:

  • type() 不会认为子类是一种父类类型
  • isinstance() 会认为子类是一种父类类型

注意:
a、python3中 bool 是 int 的子类,Ture 和 False 可以和数字相加 ,True == 1,False == 0
Python 基本数据类型 索引和截取终极理解 步长的理解_第1张图片
b、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数
在这里插入图片描述

三、String(字符串)

字符串的截取的语法格式:
变量[头下标:尾下标]
索引值以 0 开始,-1 为最后的开始位置:
用一幅图直观的体现其差异:
Python 基本数据类型 索引和截取终极理解 步长的理解_第2张图片
这里 索引其实就是找到其对应的下标,而截取是指需要根据当前的坐标去输出内容!
前提:有完整的尾下标:(str[1:]这种的就不适用)!!!
从前面截取–> 左闭右开
从后面截取–> 左开右闭

用代码实例讲解一下:

str = 'fancy'

print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:4])     # 输出从第三个开始到第五个的字符  (从前面截取)
print (str[4:2:-1])  # 输出从第五个开始到第三个的字符,逆序输出,步长为1 (从后面截取)

Python 基本数据类型 索引和截取终极理解 步长的理解_第3张图片

四、List(列表)

列表是写在方括号之间[ ]之间,用逗号分隔开的元素列表。
列表是python中使用最频繁的数据类型,可以完成大多数集合类的数据结构实现,列表中元素的类型可以不相同,支持数字、字符串甚至列表。和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表的截取的语法格式:
变量[头下标:尾下标]
老规矩,文图并茂:
Python 基本数据类型 索引和截取终极理解 步长的理解_第4张图片
通过这两幅图,就可以对字符串和列表的截取彻底掌握。
与字符串不同的是,列表中的元素是可以改变的:

str = [ 1, 2, 3, 4, 5 ]
str[2:4]=[-1,-2]
print(str)

看一下输出结果:
Python 基本数据类型 索引和截取终极理解 步长的理解_第5张图片
可以看到在上面替换了之后,列表中的元素就发生了变化
python列表截取第三个参数,参数作用是截取的步长,步长决定了输出的间隔!
Python 基本数据类型 索引和截取终极理解 步长的理解_第6张图片
这里步长为2,所以输出结果为 ‘a’ ‘c’
注意:如果步长为负数,则代表逆序

str=['F','a','n','c','y']
print(str[::-1])

看一下运行结果:
在这里插入图片描述
Python 基本数据类型 索引和截取终极理解 步长的理解_第7张图片

五、Tuple(元组)

元组与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里面,元素用逗号隔开。

tuple = ( 'hello', 456, 3.14, 'fancy', 61.5)
tinytuple = (666, 'world')

print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (tinytuple * 2)     # 输出两次元组
print (tuple + tinytuple) # 连接元组

看一下输出结果:
Python 基本数据类型 索引和截取终极理解 步长的理解_第8张图片
注意:构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

tup1 = ()    # 空元组
tup2 = (1,) # 一个元素,需要在元素后添加逗号

六、Set(集合)

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。它的基本功能是进行成员关系测试和删除重复元素。
注意:可以使用大括号 { } 或者 set() 函数创建集合,创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:

#格式一
student = {value1,value2,...}
#格式二
set(value)

写一个简单的代码巩固一下:

sites = {'zhangsan', 'lisi', 'wangmazi', 'wangwu', 'zhaoliu', 'chenqi'}

print(sites)   # 输出集合,重复的元素被自动去掉

# 成员测试
if 'hello' in sites :
    print('hello 在集合中')
else :
    print('hello 不在集合中')

# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')

print(a)
print(a - b)     # a 和 b 的差集
print(a | b)     # a 和 b 的并集
print(a & b)     # a 和 b 的交集

Python 基本数据类型 索引和截取终极理解 步长的理解_第9张图片

七、Dictionary(字典)

列表是有序的对象集合,字典是无序的对象集合
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
实例:

dict = {}
dict['one'] = "北京"
dict[2]     = "上海"

tinydict = {'name': 'fancy','code':1, 'age': '20'}

print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值

运行结果如下:
Python 基本数据类型 索引和截取终极理解 步长的理解_第10张图片
注意:

  • 字典是一种映射关系,它的元素是键值对
  • 字典的关键字必须为不可变类型,且不能重复
  • 创建字典使用 { }

你可能感兴趣的:(Python,python,开发语言,深度学习)