吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 4363|回复: 73

[其他] Python-【六大数据标准类型】-002

  [复制链接]
让IP飘一会 发表于 2022-3-17 13:49 | 显示全部楼层 |阅读模式

本帖最后由 让IP飘一会 于 2022-3-17 13:54 编辑

运行环境:
WIN10
涉及工具:
PyCharm
编程语言:
Python

以下为主题内容:



0x1 回顾
前面内容是 Python的了解、注释、变量

0x2 Python的六大标准数据类型


1.Number    数字类型
2.String        字符串类型
3.List            列表类型

4.Set            集合类型
5.Dict           字典类型
6.Tuple        元组类型



0x3 Number (int float bool complex)
数字类型对应上面顺序包括  整型、浮点型、布尔值、复数


这里穿插两个内置方法:type() 、id()


type()  ——>获取一个值的类型
id()      ——> 获取一个值的地址


int
[Python] 纯文本查看 复制代码
# int 整型 (正整数 0 负整数)
intvar = 123
print(intvar)
print(type(intvar))
print(id(intvar))

"""
打印结果:

123
<class 'int'>
1863088976

"""

fakename.png

float
[Python] 纯文本查看 复制代码
# float 浮点型 小数
floatvar = 9.02
print(type(floatvar))
print(id(floatvar))

"""
打印输出结果:

<class 'float'>
2269879345944

Process finished with exit code 0
"""


fakename.png

bool
[Python] 纯文本查看 复制代码
# bool 布尔型 True 为真 False 为假 只有两个值
boolvar1 = True
boolvar2 = False
print(boolvar1)
print(type(boolvar1))
print(boolvar2)
print(type(boolvar2))

"""
打印输出结果:

True
<class 'bool'>
False
<class 'bool'>

"""

fakename.png

complex
[Python] 纯文本查看 复制代码
# complex 复数
"""
complex 复数  实数 + 虚数  2 + 9j
2是实数 9j是虚数
如果有一个数,他的平方等于-1,那么这个数就是j
表达一个高精度的类型,科学家认为有。
"""

# 表达方式一
complexvar = 6-5j
print(complexvar)
print(type(complexvar))

# 表达方式二
# complex(实数,虚数)
complexvar = complex(9,-6j)
print(complexvar)
print(type(complexvar))

# 只有虚数,没有实数
complevar = 8j
print(type(complexvar))


"""
打印结果为:

(6-5j)
<class 'complex'>
(9-6j)
<class 'complex'>
<class 'complex'>
"""

fakename.png

0x4 String   用引号引起来的就是字符串  '' "" ''' ''' """

穿插部分
# 转义字符: \ + 某个字符
将有意义的字符变得无意义
将无意义的字符变得有意义

\n , \r\n 换行
\t 缩进 水平制表符
\r 将\r后面的字符直接拉到当前行首

(1)单引号字符串

[Python] 纯文本查看 复制代码
# (1)单引号字符串
strvar = '我是52HB'
print(strvar)
print(type(strvar))

"""
输出结果:

我是52HB
<class 'str'>
"""


(2)双引号字符串
[Python] 纯文本查看 复制代码
# (2)双引号字符串
strvar = "大帅锅一枚"
print(strvar)
print(type(strvar))

"""

输出结果:

大帅锅一枚
<class 'str'>
"""



(3)三引号字符串(支持跨行操作)
[Python] 纯文本查看 复制代码
# (3)三引号字符串(支持跨行操作)
strvar = """大帅锅一枚,
我还是解密组滴!
"""
print(strvar)
print(type(strvar))

"""

输出结果:

大帅锅一枚,
我还是解密组滴!

<class 'str'>
"""



0x5 List  可获取,可修改,有序

(1)定义空列表
[Python] 纯文本查看 复制代码
# 定义空列表
listvar = []
print(listvar)
print(type(listvar))

"""
输出结果:

[]
<class 'list'>
"""


(2)正向、逆向【python特有】索引
[Python] 纯文本查看 复制代码
# 正向索引  0    1   2    3     4
listvar = [123, "wonder", 0.8, False]
# 逆向索引  -5   -4  -3   -2    -1


(3)获取列表里的值
[Python] 纯文本查看 复制代码
# 正向索引  0      1       2     3        4
listvar = [123, "wonder", 0.8, False, 6 - 2j]
# 逆向索引 -5     -4       -3    -2      -1

# 获取列表里面的值
res = listvar[1]
print(res)  # wonder

# 获取最后一个值 (python特有)
res = listvar[-1]
print(res)  # (6-2j)

"""
打印输出结果:

wonder
(6-2j)
"""


(4)修改列表里的值
[Python] 纯文本查看 复制代码
# 正向索引  0      1       2     3      4
listvar = [123, "wonder", 0.8, False,"亚瑟王"]
# 逆向索引  -5     -4       -3   -2     -1

# 修改列表里面的值
listvar[3] = "李白"
print(listvar)

"""
打印输出结果:

[123, 'wonder', 0.8, '李白', '亚瑟王']
"""


fakename.png

(5)获取列表里值的总个数【使用内置方法 ——> len : 获取容器类型数据的长度,元素的总个数.
[Python] 纯文本查看 复制代码
# 正向索引  0      1       2     3      4
listvar = [123, "wonder", 0.8, False,"亚瑟王"]
# 逆向索引  -5     -4       -3   -2     -1
print(len(listvar))

"""
打印输出结果:

5
"""



0x6 Set  无序,自动去重 作用:用作 交差并补 操作;
(1)定义空集合
[Python] 纯文本查看 复制代码
# 定义空集合
setvar = set()
print(setvar,type(setvar))  # 打印结果:set() <class 'set'>


(2)创建集合输出看到 是无序的数据
[Python] 纯文本查看 复制代码
# 定义空集合
setvar = {"让IP飘一会",123,'成龙',3.14}
print(setvar)  # {'成龙', 3.14, '让IP飘一会', 123}

"""

打印结果可以看到输出是 无序的!!

{'成龙', 3.14, '让IP飘一会', 123}
"""


(3)集合的去重功能
[Python] 纯文本查看 复制代码
# 定义空集合
setvar = {"让IP飘一会",123,'成龙',3.14,"成龙"}
print(setvar)  # {3.14, 123, '成龙', '让IP飘一会'}

"""

打印结果可以看到输出是 原集合两个成龙,集合去重后只有一个!!

{3.14, 123, '成龙', '让IP飘一会'}
"""

fakename.png

0x7 Dict  由键值对存储的数据,字面上有序,本质上无序

语法:
"""
dictvar = {"键1":"值1","键2":"值2"}
由键值对存储数据,
左边是键,右边是值,键值之间用冒号隔开,
键值对之间用逗号,隔开

3.6版本之前都是 字典和集合都是无序的
3.6版本之后,把字典的字面顺序记录下来,当从内存拿数据的时候,
根据字面顺序重新排序,所以看起来像有序,但本质上无序

(1)定义一个字典并打印字典以及字典类型

[Python] 纯文本查看 复制代码
dictvar = {"521":"恒大","522":"让IP飘飘","wonder":"Android"}
print(dictvar ,type(dictvar)) #{'521': '恒大', '522': '让IP飘飘', 'wonder': 'Android'} <class 'dict'>


(2)通过键获取字典的值
[Python] 纯文本查看 复制代码
# 获取字典当中的值:
res = dictvar["521"]
print(res) # 恒大


(3)修改字典的值
[Python] 纯文本查看 复制代码
dictvar = {"521":"恒大","522":"让IP飘飘","wonder":"Android"}
print("未修改的字典:",dictvar ,"字典类型:",type(dictvar)) #{'521': '恒大', '522': '让IP飘飘', 'wonder': 'Android'} <class 'dict'>

# 修改字典当中的值
dictvar["521"] = "Shark恒大大"
print("修改后的字典:",dictvar)

"""
打印输出结果:

未修改的字典: {'521': '恒大', '522': '让IP飘飘', 'wonder': 'Android'} 字典类型: <class 'dict'>
修改后的字典: {'521': 'Shark恒大大', '522': '让IP飘飘', 'wonder': 'Android'}

"""

fakename.png

字典当中的键 和 集合当中的值 底层都是通过哈希算法 算出来的


0x8 tuple 可获取,不可修改,有序


(1)定义空元组
[Python] 纯文本查看 复制代码
# 定义空元组
tuplevar = ()
print(tuplevar ,type(tuplevar)  ) # () <class 'tuple'>


(2)逗号是元组的标志性符号,如果想要表达空元组,可以用()
[Python] 纯文本查看 复制代码
# 逗号是元组的标志性符号,如果想要表达空元组,可以用()
tuplevar1 = (1)  # 不加逗号是整型
tuplevar2 = (1,)  # 加逗号是元组
print(tuplevar1, type(tuplevar1))  # 1 <class 'int'>
print(tuplevar2, type(tuplevar2))  # (1,) <class 'tuple'>


(3)获取元组的值、以及元组最后一个值
[Python] 纯文本查看 复制代码
# 可以获取元组当中的值
#             0       1     2     3
tuplevar = ("奇迹", "唐太宗", 111, "李世民")
#             -4      -3    -2    -1 
print(tuplevar, type(tuplevar))  # ('奇迹', '唐太宗', 111, '李世民') <class 'tuple'>
# 可以获取元组最后一个的值
print(tuplevar[-1])  # 李世民


评分

参与人数 18HB +17 THX +9 收起 理由
花盗睡鼠 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
消逝的过去 + 1
风里去 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
taykey + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
于理 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
louhaihua + 2 + 1
agan8888 + 1
a83460116 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
武清一点点 + 1 + 1
DeeDarrick + 1
Chris皇 + 2 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
拉灯的小手 + 1 + 1
一蓑烟雨 + 1 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
weiran324 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
瀧tz + 1
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
大鹏展翅 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
FDQLVPn 发表于 2022-3-17 13:54 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
oQP27 发表于 2022-3-17 13:55 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
LSABYgo2164 发表于 2022-3-17 13:55 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
CAemdn4780 发表于 2022-3-17 13:58 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
WOoJhZzI4596 发表于 2022-3-17 13:59 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
NQYHnsv4372 发表于 2022-3-17 14:04 | 显示全部楼层

甘拜下风,谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
nUFzSs 发表于 2022-3-17 14:47 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
LxAsK 发表于 2022-3-17 15:04 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
rhEVPFvsG 发表于 2022-3-17 15:37 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表