##################################################
目录
活动简介
不可变数据类型
数字 Number
声明及获取数字数据类型
字符串 String
声明及获取字符串
截取字符串
拼接字符串
重复字符串
元组 Tuple
声明和使用元组
元组可以包含可变对象
列表的取值以及 截取/拼接/重复
可变数据类型
列表 List
声明列表
列表的取值以及 截取/拼接/重复
字典 Dictionary
字典的声明
字典的取值
集合 Set
集合的定义
添加元素
移除元素
计算集合中元素的个数
清空集合
Other
列表元组字典集合的对比
Python 数据类型转换
##################################################
活动地址:CSDN21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰;一个人摸索学习很难坚持,想组团高效学习;想写博客但无从下手,急需写作干货注入能量;热爱写作,愿意让自己成为更好的人…
…
欢迎参与CSDN学习挑战赛,成为更好的自己,请参考活动中各位优质专栏博主的免费高质量专栏资源(这部分优质资源是活动限时免费开放喔~),按照自身的学习领域和学习进度学习并记录自己的学习过程,或者按照自己的理解发布专栏学习作品!
##################################################
——————————
Python 3 的数字类型有
int 长整型
float 浮点型
complex 复数
bool 布尔型
在 Python 3 里只有一种整数类型 int 长整型
没有 Python 2 中的 Long
在 Python 2 中是没有布尔型的
用数字 0 表示 False 假
用 1 表示 True 真
到 Python 3 中把 True 和 False 定义成关键字了
但她们的值还是 1 和 0
她们可以和数字相加
%%%%%
数字数据类型用于存储数值 是不可改变的数据类型
若改变数字数据类型会分配一个新的对象
当指定一个值时 Number 对象就会被创建 如
>>> a = 521 /* 创建一个实力对象 值为 521 */
>>> a /* 查看 a 的值 */
521
>>> a = 520 /* 当改变 a 的值为 520 时 会为变量 a 重新分配对象 */
>>> a
520
>>> del a /* 可以使用 del 删除对象的引用 */
>>> a /* 再次看就看不到了 */
Traceback (most recent call last):
File "", line 1, in
NameError: name 'a' is not defined
>>>
——————————
Python 的字符串或 串/String 是由
数字
字母
下划线
组成的一串字符
%%%%%
示例:
>>> str = "Love521"
>>> str
'Love521'
>>>
Python 字符串列表有 2 种取值顺序
从左到右索引默认 0 开始的最大范围是字符串长度少 1
从右到左索引默认 -1 开始的最大范围是字符串开头
从左到右索引 从 0 开始:
>>> str /* 确定有 7 个元素 */
'Love521'
>>> str[0] /* 查看第一个元素 */
'L'
>>> str[1] /* 查看第二个元素 */
'o'
>>> str[6] /* 查看第七个元素 */
'1'
>>>
从右到左索引 从 -1 开始:
>>> str
'Love521'
>>> str[-1]
'1'
>>> str[-2]
'2'
>>> str[-3]
'5'
>>> str[-4]
'e'
>>> str[-5]
'v'
>>> str[-6]
'o'
>>> str[-7]
'L'
>>>
Python 字符串是不能通过下标的方式修改指定下标索引的字符值的:
>>> str
'Love521'
>>> str[0]
'L'
>>> str[0] = '!' /* 试图将第一个元素值修改为感叹号 */
Traceback (most recent call last):
File "", line 1, in
TypeError: 'str' object does not support item assignment
>>>
%%%%%
从左到右:
>>> str_1 = str[:] /* 默认截取全部字符 */
>>> str_1
'Love521'
>>> str_1 = str[4:] /* 指定开始截取位置为第 5 个元素 */
>>> str_1
'521'
>>> str_1 = str[:5] /* 指定结束截取位置为第 6 个元素 */
>>> str_1
'Love5'
>>> str_1 = str[0:4] /* 指定截取范围为第一个元素到第 5 个元素 */
>>> str_1
'Love'
>>>
从右到左:
>>> str_1 = str[:-1] /* 指定从右往左数第 1 个位置结束截取 */
>>> str_1
'Love52'
>>> str_1 = str[-3:] /* 指定从右往左数第 4 个位置开始截取 */
>>> str_1
'521'
>>> str_1 = str[-1:-1] /* 指定开始截取第一个元素 结束位置也是第一个元素 就是取第一个元素 */
>>> str_1
''
>>>
%%%%%
>>> str_1 = "LOVE"
>>> str
'Love521'
>>> str_1
'LOVE'
>>> str_2 = str + str_1
>>> str_2
'Love521LOVE'
>>>
%%%%%
>>> str_3 = "1"
>>> str_3
'1'
>>> str_4 = str_3 * 5
>>> str_4
'11111'
>>>
——————————
Python 的元组类似于 list 列表
元组不能二次赋值!!!相当于只读列表
元组用
()
标识
内部元素用逗号隔开
%%%%%
>>> a = ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 )
>>> a
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
>>> a[0] = 0 /* 元组不能二次赋值! */
Traceback (most recent call last):
File "", line 1, in
TypeError: 'tuple' object does not support item assignment
>>>
只有 1 个元素的元组则需要在元素后面添加逗号:
>>> a = ( 1 )
>>> b = ( 1, )
>>> a
1
>>> b
(1,)
>>> type(a) /* 可以看到类型为 int */
>>> type (b)
/* 类型为元组 */
>>>
空元组可以直接用小括号或者 tuple() 表示:
>>> a = ()
>>> b = tuple()
>>> a
()
>>> b
()
>>> type (a) /* 使用 type() 可以查看类型 */
>>> type (b)
>>>
%%%%%
虽然元组的值不能改变 但是可以包含可变对象 例如包含一个 list 列表:
>>> a = [ '1', 'b', '.' ] /* 声明一个 list 列表 */
>>> a
['1', 'b', '.']
>>> b = ( 1, a, 3 ) /* 元组包含列表 */
>>> b
(1, ['1', 'b', '.'], 3)
>>>
%%%%%
同字符串的取值截取拼接重复
这边不再详细介绍 请自行搜索
##################################################
——————————
Python 的列表可以完成大多数集合类的数据结构实现
支持
数字
字符
字符串
甚至可以包含列表
即 嵌套列表 或者叫 多维列表 可以用来表示多维数组
列表用
[]
标识
是 Python 中最通用的复合数据类型
%%%%%
>>> a = [] /* 空列表 */
>>> a
[]
>>> b = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] /* 数字列表 */
>>> b
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> c = [ 'A', 'b', '!' ] /* 字符列表 */
>>> c
['A', 'b', '!']
>>> d = [ "Love", "123", "~@)#" ] /* 字符串列表 */
>>> d
['Love', '123', '~@)#']
>>> e = [ a, b, [ 0, 1, 2 ] ] /* 集合列表 */
>>> e
[[], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2]]
>>>
%%%%%
同字符串的取值截取拼接重复
这边不再详细介绍
列表的截取可以有三个参数:
开始位置 结束位置 步长
请自行搜索
——————————
字典 dictionary 是 Python 中除了列表之外最灵活的内置数据结构类型
列表是有序的对象集合 而字典是无序的对象集合
字典用
{}
来标识
字典由 索引/key 和所对应的 值/value 组成
%%%%%
需要注意:
键/key 必须使用不可变类型 例如 数字、字符串、元组
在同一个字典中的 键/key 必须是唯一的!!!
>>> a = {} /* 声明一个字典 a */
>>> a [ 'name' ] = "崽崽" /* 字典 a 中声明一个 'name' 键 对应的值为 "崽崽" */
>>> a['age']=14 /* 字典 a 中声明一个 'age' 键 对应的值为 14 */
>>> a[ 'sex' ] = '女' /* 字典 a 中声明一个 'sex' 键 对应的值为 '女' */
>>> a /* 查看字典内容 */
{'name': '崽崽', 'age': 14, 'sex': '女'}
>>>
%%%%%
字典当中的元素是通过键来存取的 而不是通过偏移存取!
>>> a['sex'] /* 获取单独的 'sex' 键所指向的值 */
'女'
>>> a [ 'name' ] /* 获取单独的 'name' 键所指向的值 */
'崽崽'
>>> a.keys() /* 查看键 */
dict_keys(['name', 'age', 'sex'])
>>> a.values() /* 查看值 */
dict_values(['崽崽', 14, '女'])
>>>
——————————
Python 的 集合/set 是由一个或数个形态各异的大小整体组成的
构成集合的事物或对象称作元素或是成员
集合是一个无序的不重复的元素序列
%%%%%
可以使用 {} 或者 set() 函数来创建一个集合
创建一个空集合的话必须使用 set() 这个方法而不能使用 {}
因为 {} 是用来创建空字典的
>>> a = { 1, 2, 3 }
>>> type (a)
>>> b = set()
>>> type(b)
>>>
set 函数只接受一个参数且该参数类型不为数字类型:
>>> a = [ 1, 2, ]
>>> b = set ( a )
>>> b
{1, 2}
>>> type (a)
>>> type (b)
>>>
%%%%%
add() 将元素添加到集合中 如果元素已经存在 则不进行任何操作
示例:
>>> a = set ( "Love" )
>>> a
{'L', 'e', 'o', 'v'}
>>> a.add("521")
>>> a
{'e', 'o', 'L', '521', 'v'}
>>>
update() 也可以添加元素 而且参数可以是列表元组字典等
update 函数跟 add 方法不同在于是把要传入的元素拆分成单个字符存于集合中并去掉重复的字符 可以一次添加多个值!
%%%%%
使用 remove() 来从集合中移除元素 如果移除前集合中本身就没有这个元素 那么就会报错
示例:
>>> a
{'e', 'o', 'L', '521', 'v'}
>>> a.remove( "521" )
>>> a
{'e', 'o', 'L', 'v'}
>>>
使用 discard() 来移除集合中的元素如过元素不存在也不会发生错误……
使用 pop() 这个方法可以随机删除集合中的一个元素!!!!!!
%%%%%
使用 len() 计算集合中元素的个数
示例:
>>> len(a)
4
>>> a
{'e', 'o', 'L', 'v'}
>>>
%%%%%
使用 clear() 清空集合
示例:
>>> a.clear()
>>> a
set()
>>>
##################################################
——————————
list 列表 [] 有序可改变集合 允许重复数据
tuple 元组 () 有序不可改变集合 允许重复数据
set 集合 {} 无序无索引集合 索引为键值 无重复数据
dictionary 字典 {} 无序 可变 有索引集合 无重复数据
——————————
最常见的转换方法:
int(参数) 转化为一个整数 向下取整
示例:
>>> int ( 521.1314 )
521
>>>
float(参数) 转化为一个浮点数
示例:
>>> float(521)
521.0
>>>
complex(参数列表) 转化为一个复数
示例:
>>> a=1
>>> b=2
>>> complex(a,b)
(1+2j)
>>> complex(a)
(1+0j)
>>>
其她常见转换方法:
str(参数) 转化为一个字符串
repr(参数) 将对象转换为表达式字符串
eval(参数) 计算字符串表达式得到结果
tuple(参数) 将序列转化为一个元组
list(参数) 将序列转化为一个列表
set(参数) 将序列转化为可变集合 可用于列表去重
dict() 创建一个字典
frozenset(参数) 转换为不可变集合
chr(参数) 将一个整数转化为其 ASCII 码对应的字符
ord(参数) 将一个字符转化为一个整数该整数为对应的 ASCII 码
hex(参数) 将一个整数转换为一个十六进制字符串
oct(参数) 将一个整数转换为一个八进制字符串