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

                                        一、 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位,取值范围是-231~231-1,即-2147483648~214748364;    在64位系统上,整数的位数为64位,取值范围为-263~263-1, 即9223372036854775808~9223372036854775807。

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元组包含了以下内置函数

序号方法及描述
1cmp(tuple1, tuple2)
比较两个元组元素。
2 len(tuple)
计算元组元素个数。
3max(tuple)
返回元组中元素最大值。
4min(tuple)
返回元组中元素最小值。
5tuple(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(不包括结束位本身)

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在下周周ovo

感谢帅气又多金的您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值