Python基础笔记——八大数据类型以及使用方法

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: Python基础笔记——八大数据类型以及使用方法

目录

一、 Python中的数据类型以及食用方法

1、number(数字类型)

2、int(整型)

3、long(长整型)

4、float(浮点型)

5、complex(复数)

6、string(字符串类型)

7、Boolean(布尔值类型)

8、list(列表类型)

9、tuple(元组类型)

10、dict(字典类型)

11、集合

二、切片

1、number(数字类型)

2、int(整型)

在32位机器上,整数的位数是32位,取值范围是-231231-1,即-2147483648214748364;    在64位系统上,整数的位数为64位,取值范围为-263263-1, 即92233720368547758089223372036854775807。

3、long(长整型)

       Python长整型没有指定位宽。

4、float(浮点型)

 浮点型也就是带有小数点的数,其精度和机器有关。

5、complex(复数)

Python还支持复数,复数由实数部分和虚数部分构成(如 a+bi)。

6、string(字符串类型)

       在Python中,加了引号的字符都被认为是字符串,其声明有三种方式,分别是:单引号、双引号和三引号;Python中的字符串有两种数据类型,分别是str类型和unicode类型,str类型采用的ASCII编码,无法表示中文,unicode类型采用unicode编码,能够表示任意字符,包括中文和其他语言。

注:(什么是unicode?在python中,unicode是内存编码集,一般我们将数据存储到文件时,需要将数据先编码为其他编码集,比如utf-8、gbk等。读取数据的时候再通过同样的编码集进行解码即可。)

(1)python转义字符

转义字符 描述
(在行尾时)   续行符
\ 反斜杠符号
' 单引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\f 换页
\0yy 八进制数,y 代表 0~7 的字符,例如:\012 代表换行。
\xyy 十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行
\other  其它的字符以普通格式输出
\r 回车

7、Boolean(布尔值类型)

       用于逻辑运算,有两个值:True(真)和False(假)

8、list(列表类型)

         列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序操作。

1、列表中的增删改查

(1)添加元素

  •        append:在末尾添加元素
  •        insert:在指定位置插入元素
  •        extend:合并两个列表
#append:
#append会把新元素添加到列表末尾
#定义变量A,默认有3个元素
>>>A = ['张三','耀阳','大仙']
>>>print("‐‐‐‐‐添加之前,列表A的数据‐‐‐‐‐A=%s" % A)
#提示、并添加元素
>>>temp = input('请输入要添加的学生姓名:')
>>>A.append(temp)
>>>print("‐‐‐‐‐添加之后,列表A的数据‐‐‐‐‐A=%s" % A)
['张三','耀阳','大仙','A']
#insert:
>>>insert(index, object) 在指定位置index前插入元素object
>>>strs = ['a','b','m','s']
>>>.strs.insert(3,'h')
>>>print(strs) 
 ['a', 'b', 'm', 'h', 's']
extend:
通过extend可以将另一个列表中的元素逐一添加到列表中
>>>a = ['a','b','c']
>>>b = ['d','e','f']
>>>a.extend(b)
>>>print(a) 
 ['a', 'b', 'c', 'd', 'e', 'f'] #将 b 添加到 a 里
>>>print(b) 
 ['d','e','f']  #b的内容不变
复制代码

   (2)修改元素

       通过下表访问列表元素,修改列表是,为指定列表下表赋值就行。

#定义变量A,默认有3个元素
>>>A = ['大仙','狗叫','地位']
>>>print(A)
['大仙','狗叫','地位']
#修改元素
>>>A[0] = '耀阳'
>>>print(A)
['耀阳','狗叫','地位']
复制代码

   (3)查找元素

  •        查找即查看指定元素是否否存在,使用in(存在就返回true),not in
#待查找的列表
>>>nameList = ['张三','李四','王五']
#获取用户要查找的名字
>>>findName = input('请输入要查找的姓名:')
#查找想要的数据是否在列表中
>>>if findName in nameList:
>>>    print('有')
>>>else:
>>>    print('没有找到,一边去')
请输入要查找的姓名:张三
请输入要查找的姓名:耀阳
没有找到,一边去
复制代码

(4)删除元素

  •        del:根据下标进行删除
  •        pop:删除最后一个元素
  •        remove:根据元素的值直接删除
#del
#根据下标来来删除列表中的元素(下标从零开始哟)
#在爬取的数据中有个别我们不想要的,就可以根据下标删除
>>>movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
>>>print(movieName)
 ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
>>>del movieName[2]
>>>print(movieName)
 ['加勒比海盗','骇客帝国','指环王','霍比特人','速度与激情']
#pop
#pop是删除列表中的最后一个元素
>>>movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
>>>print(movieName)
['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
>>>movieName.pop()
>>>print(movieName)
['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人']
#remove
#它是根据元素来删除列表中的数据,如果列表中有多个对应的重复数据,他默的是删除第一个找到的数据
>>>list=[34,1,2,34,2]
>>>print(list)
[34,1,2,34,2]
>>>list.remove(34)
>>>print(list)
[1,2,34,2]
复制代码

9、tuple(元组类型)

元组和列表一样,也是一种序列,与列表不同的是,元组是不可修改的,元组用”()”标识,内部元素用逗号隔开。定义只有一个元素的元组,需要在唯一的元素后面写一个逗号。

#元组是不可以修改里面的内容的
>>>a_tuple = (1,2,4,5)
>>>a_tuple[3]=5
print(a_tuple)
直接报错
#列表中的元素是可以修改的而元组中的元素是不可以被修改
>>>a_list = [1,2,3,4]
>>>print(a_list[0])
>>>a_list[3]=5 
>>>print(a_list)
[1,2,3,5]
#当元组中只有一个元素的时候那么它类型取决于该元素的类型
>>>a_tuple =(5)
>>>print(type(a_tuple))
<class 'int'>
>>>b_tuple =(5,)
>>>print(type(b_tuple))
<class 'tuple'>
>>>c_tuple =('5')
>>>print(type(c_tuple))
>>><class 'str'>
复制代码

1、元组内置函数,Python元组包含了以下内置函数

序号 方法及描述
1 cmp(tuple1, tuple2) 比较两个元组元素。
2  len(tuple) 计算元组元素个数。
3 max(tuple) 返回元组中元素最大值。
4 min(tuple) 返回元组中元素最小值。
5 tuple(seq) 将列表转换为元组。

 

10、dict(字典类型)

         字典是一种键值对的集合,是除列表以外Python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。

注:(什么是键值对? 键值对问题:键值对(“key = value”),顾名思义,每一个键会对应一个值。举个栗子:身份证号和你本人的绑定关系,在系统中输入身份证号(键)都会对应一个小可爱(值)。咱在登陆微信、游戏或外卖账号时,需要输入手机号验证身份,这时,系统会向该手机号发送一条验证短信。这里的手机号码(键),对应的接收用户就是“值”。每个键对应着相应的值, 当按下相应的键时, 就会输出相应的结果。)

(1)查看元素

  • 除了使用key查找数据,还可以使用get来获取数据
>>>info = {'name':'班长','age':18}
>>>print(info['age']) # 获取年龄
18
>>>print(info['sex']) # 使用的[]方式获取不存在的key,会发生异常
报错
#不能使用.的方式来访问字典的数据(其他语言可以)
>>>print(info.name)
报错
>>>print(info.get('sex')) #使用的()方式 获取不存在的key,获取到空的内容,不会出现异常
None
>>>print(info.get('sex','男')) # 获取不存在的key, 可以提供一个默认值,但不会添加到字典中
复制代码

(2) 修改元素

  • 字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
>>>info = {'name':'班长', 'id':100}
>>>print('修改之前的字典为 %s:' % info)
修改之前的字典为:{'name':'班长', 'id':100}
>>>info['id'] = 200 # 为已存在的键赋值就是修改
>>>print('修改之后的字典为 %s:' % info)
修改之后的字典为:{'name':'班长', 'id':200}
复制代码

(3)添加元素

  • 如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
>>>info = {'name':'班长'}
>>>print('添加之前的字典为:%s' % info)
添加之前的字典为:{'name': '班长'}
# 为不存在的键赋值就是添加元素
>>>info['id'] = 100 
>>>print('添加之后的字典为:%s' % info)
添加之后的字典为:{'name': '班长', 'id': 100}
复制代码

  • (4)删除元素
  • del
#demo:del删除指定的元素
>>>info = {'name':'班长', 'id':100}
>>>print('删除前,%s' % info)
删除前,{'name': '班长', 'id': 100}
>>>del info['name'] # del 可以通过键删除字典里的指定元素
>>>print('删除后,%s' % info)
删除后,{'id': 100}
#del删除整个字典
>>>info = {'name':'monitor', 'id':100}
>>>print('删除前,%s'%info)
删除前,{'name': 'monitor', 'id': 100}
# del 也可以直接删除变量
>>>del info
>>>print('删除后,%s'%info)
直接报错:NameError: name 'info' is not defined
复制代码

  • clear:清空字典
>>>info = {'name':'monitor', 'id':100}
>>>print('清空前,%s'%info)
清空前,{'name': 'monitor', 'id': 100}
>>>info.clear()
>>>print('清空后,%s'%info)
清空后,{}
复制代码

(5)字典的遍历

>>>dict={'name':'吴签','sex':'男'}
#遍历字典的key键,key是一个变量的名字 我们可以随便取
>>>for key in dict.keys():
>>>    print (key)
name
sex
#遍历字典的value值,value是一个变量的名字 我们可以随便取
>>>for value in dict.values():
>>>    print (value)
吴签
#遍历字典的项(元素)[一组一组拿]
>>>for item in dict.items():
>>>    print (item)
('name', '吴签')
('sex', '男')
#遍历字典的key-value(键值对)
>>>for key,value in dict.items():
>>>    print (key,value)
name 吴签
sex  男
复制代码

****                                        查看变量类型(    print(type(变量名称))  )

# list 列表
# 应用场景:当获取到多个数据时,我们可以把它储存在列表中,然后直接用列表访问
>>>name_list = ['周杰伦','杨洋']
# tuple 元组
>>>age_tuple = (13,14,18,19)
# dict 字典
# 应用场景:scrapy框架使用
# 格式:变量名字={'key':'value',……}   key :关键字 vaule:值
>>>person = {'name':'七七','age':'18'}
>>>print(type(person))
<class 'dict'>
复制代码

11、集合

       集合是无序的、不重复的数据集合,它本身是可变的,但里面的元素是不可变类型(这里要注意,即使是含有列表的元组也不可以,必须是完全不可变类型)

>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket)                      # 这里演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket                 # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket
False
>>> # 下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b                              # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b                              # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b                              # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}
复制代码

集合内置方法完整列表

网络异常,图片无法展示
|

网络异常,图片无法展示
|

                                              二、切片

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

切片的语法:[起始:结束:步长],也可以简化使用[起始:结束]

注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。(遵循左闭右开,取左不取右)

#索引是通过下标取某一个元素

#切片是通过下标删去某一段元素

s = 'Hello World!' print(s)

print(s[4])    #o字符串里的第4个元素

print(s[3:7]) #low包含下标3,不含下标7

print(s[1:])   #ello World!从下标为1开始,取出后面所有的元素(没有结束位)

print(s[:4])   #Hell 从起始位置开始,取到下标为4的前一个元素(不包括结束位本身)

print(s[1:5:2])# el 从下标为1开始,取到下标为5的前一个元素,步长为2(不包括结束位本身)


作者:在下周周ovo

链接:https://juejin.cn/post/7148402397893623821

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
20天前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
28 1
|
21天前
|
数据处理 Python
【编程入门必读】Python数据类型大揭秘:掌握这些,让你的代码瞬间高大上!
【8月更文挑战第22天】Python提供多样数据结构支持编程需求。基本数据类型如数值(整型、浮点型、复数)、布尔型、字符串;复合数据类型含列表(有序、可变)、元组(有序、不可变)、字典(键值对)、集合(无序、唯一元素)。还有特殊类型如`NoneType`和`range`。Python内置数据类型转换如`int()`, `float()`, `str()`等方便使用。掌握这些类型有助于编写高效Python代码。
23 0
|
9天前
|
存储 数据挖掘 程序员
揭秘Python:掌握这些基本语法和数据类型,你将拥有编程世界的钥匙!
【9月更文挑战第3天】Python 是一种简洁强大的高级编程语言,其清晰的语法和丰富的功能深受程序员喜爱。本文从基本语法入手,介绍 Python 的代码结构特点,如通过缩进区分代码块,使逻辑更清晰。接着详细讲解主要数据类型:数值型、字符串、列表、元组、集合与字典,每个类型均附有示例代码,帮助初学者快速掌握 Python,为后续学习打下坚实基础。
23 2
|
13天前
|
索引 Python
Python 中常见的内置数据类型
【8月更文挑战第29天】
15 3
|
20天前
|
存储 测试技术 数据格式
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(二)
本文通过数据类型转换和文件读取的练习,复习了Python中的数据类型、循环、条件判断、内置函数等基础知识,并演示了如何将字符串数据转换为字典列表,以及如何从文本文件中读取和转换数据。
30 1
|
20天前
|
测试技术 Python 容器
Python接口自动化测试框架(基础篇)-- 常用数据类型dict
这篇文章详细介绍了Python中字典(dict)数据类型的使用,包括字典的创建、取值、增删改操作以及内置函数的应用,并探讨了字典的扩展特性,如键的唯一性和不可变性。
12 0
Python接口自动化测试框架(基础篇)-- 常用数据类型dict
|
20天前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 常用数据类型Number
这篇文章是关于Python接口自动化测试中常用数据类型Number的基础介绍,涵盖了int、float、bool类型以及数学函数和常量的使用,强调了这些数据类型在自动化测试框架中的广泛应用。
11 0
Python接口自动化测试框架(基础篇)-- 常用数据类型Number
|
20天前
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 常用数据类型list&set()
本文介绍了Python中list和set两种数据类型的使用,包括它们的创建、取值、增删改查操作、排序以及内置函数的使用,还探讨了list的比较函数和set的快速去重功能。
14 0
|
20天前
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 常用数据类型tuple
Python中tuple(元组)的数据结构,包括元组的创建、访问、修改,以及元组支持的运算符和内置函数,还探讨了元组的特性如不可变性和特殊用法,最后扩展介绍了命名元组的概念和使用。
13 0
|
22天前
|
Python
【python】】Python 的 queue 模块使用笔记
【python】】Python 的 queue 模块使用笔记
23 0