Error[8]: Undefined offset: 72, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

                                        一、 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转义字符

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

  •         append:在末尾添加元素
  •         用于逻辑运算,有两个值:True(真)和False(假)

  •         insert:在指定位置插入元素
  •           列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序 *** 作。

    1、列表中的增删改查

    (1)添加元素

    •         extend:合并两个列表
    •         查找即查看指定元素是否否存在,使用in(存在就返回true),not in
    •         del:根据下标进行删除
    #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)查找元素

    #待查找的列表
    >>>nameList = ['张三','李四','王五']
    #获取用户要查找的名字
    >>>findName = input('请输入要查找的姓名:')
    
    #查找想要的数据是否在列表中
    >>>if findName in nameList:
    >>>    print('有')
    >>>else:
    >>>    print('没有找到,一边去')
    
    请输入要查找的姓名:张三
    有
    请输入要查找的姓名:耀阳
    没有找到,一边去

    (4)删除元素

    #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]

    序号


            元组和列表一样,也是一种序列,方法及描述,元组用”()”标识,内部元素用逗号隔开。定义只有一个元素的元组,需要在唯一的元素后面写一个逗号。

    #元组是不可以修改里面的内容的
    >>>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))
    
    >>>b_tuple =(5,)
    >>>print(type(b_tuple))
    

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

    10、dict(字典类型)什么是键值对?
    12
    3cmp(tuple1, tuple2)
    比较两个元组元素。
    4 len(tuple)
    计算元组元素个数。
    5max(tuple)
    返回元组中元素最大值。
    min(tuple)
    返回元组中元素最小值。
    tuple(seq)
    将列表转换为元组。


     
  • 除了使用key查找数据,还可以使用get来获取数据
  •           字典是一种键值对的集合,是除列表以外Python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。

    注:(

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

    (1)查看元素

    >>>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) 修改元素

    >>>info = {'name':'班长', 'id':100}
    >>>print('修改之前的字典为 %s:' % info)
    修改之前的字典为:{'name':'班长', 'id':100}
    
    >>>info['id'] = 200 # 为已存在的键赋值就是修改
    >>>print('修改之后的字典为 %s:' % info)
    修改之后的字典为:{'name':'班长', 'id':200}
    
    

    (3)添加元素 

    #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

    (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  男

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

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

    [+++]

    >>> 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(不包括结束位本身)

    )
    File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
    File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
    File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
    Error[8]: Undefined offset: 73, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
    File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

                                            一、 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转义字符

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

  •         append:在末尾添加元素
  •         用于逻辑运算,有两个值:True(真)和False(假)

  •         insert:在指定位置插入元素
  •           列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序 *** 作。

    1、列表中的增删改查

    (1)添加元素

    •         extend:合并两个列表
    •         查找即查看指定元素是否否存在,使用in(存在就返回true),not in
    •         del:根据下标进行删除
    #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)查找元素

    #待查找的列表
    >>>nameList = ['张三','李四','王五']
    #获取用户要查找的名字
    >>>findName = input('请输入要查找的姓名:')
    
    #查找想要的数据是否在列表中
    >>>if findName in nameList:
    >>>    print('有')
    >>>else:
    >>>    print('没有找到,一边去')
    
    请输入要查找的姓名:张三
    有
    请输入要查找的姓名:耀阳
    没有找到,一边去

    (4)删除元素

    #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]

    序号


            元组和列表一样,也是一种序列,方法及描述,元组用”()”标识,内部元素用逗号隔开。定义只有一个元素的元组,需要在唯一的元素后面写一个逗号。

    #元组是不可以修改里面的内容的
    >>>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))
    
    >>>b_tuple =(5,)
    >>>print(type(b_tuple))
    

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

    10、dict(字典类型)什么是键值对?
    12
    3cmp(tuple1, tuple2)
    比较两个元组元素。
    4 len(tuple)
    计算元组元素个数。
    5max(tuple)
    返回元组中元素最大值。
    min(tuple)
    返回元组中元素最小值。
    tuple(seq)
    将列表转换为元组。


     
  • 除了使用key查找数据,还可以使用get来获取数据
  •           字典是一种键值对的集合,是除列表以外Python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。

    注:(

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

    (1)查看元素

    >>>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) 修改元素

    >>>info = {'name':'班长', 'id':100}
    >>>print('修改之前的字典为 %s:' % info)
    修改之前的字典为:{'name':'班长', 'id':100}
    
    >>>info['id'] = 200 # 为已存在的键赋值就是修改
    >>>print('修改之后的字典为 %s:' % info)
    修改之后的字典为:{'name':'班长', 'id':200}
    
    

    (3)添加元素 

    #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

    (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  男

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

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

    >>> 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(不包括结束位本身)

    )
    File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
    File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
    File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
    Pthon基础笔记——八大数据类型以及食用方法_python_内存溢出

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

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

                                            一、 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转义字符

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

  •         append:在末尾添加元素
  •         用于逻辑运算,有两个值:True(真)和False(假)

  •         insert:在指定位置插入元素
  •           列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序 *** 作。

    1、列表中的增删改查

    (1)添加元素

    •         extend:合并两个列表
    •         查找即查看指定元素是否否存在,使用in(存在就返回true),not in
    •         del:根据下标进行删除
    #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)查找元素

    •         pop:删除最后一个元素
    #待查找的列表
    >>>nameList = ['张三','李四','王五']
    #获取用户要查找的名字
    >>>findName = input('请输入要查找的姓名:')
    
    #查找想要的数据是否在列表中
    >>>if findName in nameList:
    >>>    print('有')
    >>>else:
    >>>    print('没有找到,一边去')
    
    请输入要查找的姓名:张三
    有
    请输入要查找的姓名:耀阳
    没有找到,一边去

    (4)删除元素

    •         remove:根据元素的值直接删除
    • 9、tuple(元组类型)与列表不同的是,元组是不可修改的
    #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]

    序号


            元组和列表一样,也是一种序列,方法及描述,元组用”()”标识,内部元素用逗号隔开。定义只有一个元素的元组,需要在唯一的元素后面写一个逗号。

    #元组是不可以修改里面的内容的
    >>>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))
    
    >>>b_tuple =(5,)
    >>>print(type(b_tuple))
    

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

    10、dict(字典类型)什么是键值对?
    12
    3cmp(tuple1, tuple2)
    比较两个元组元素。
    4 len(tuple)
    计算元组元素个数。
    5max(tuple)
    返回元组中元素最大值。
    min(tuple)
    返回元组中元素最小值。
    tuple(seq)
    将列表转换为元组。


     
  • 除了使用key查找数据,还可以使用get来获取数据
  •           字典是一种键值对的集合,是除列表以外Python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。

    注:(

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

    (1)查看元素

    • 如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
    >>>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) 修改元素

    • del
    >>>info = {'name':'班长', 'id':100}
    >>>print('修改之前的字典为 %s:' % info)
    修改之前的字典为:{'name':'班长', 'id':100}
    
    >>>info['id'] = 200 # 为已存在的键赋值就是修改
    >>>print('修改之后的字典为 %s:' % info)
    修改之后的字典为:{'name':'班长', 'id':200}
    
    

    (3)添加元素 

      clear:清空字典
    • >>>info = {'name':'班长'}
      >>>print('添加之前的字典为:%s' % info)
      添加之前的字典为:{'name': '班长'}
      
      # 为不存在的键赋值就是添加元素
      >>>info['id'] = 100 
      >>>print('添加之后的字典为:%s' % info)
      添加之后的字典为:{'name': '班长', 'id': 100}

      (4)删除元素

    •                                         
    #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
    • 查看变量类型(    print(type(变量名称))  )
      >>>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  男

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

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

    >>> 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(不包括结束位本身)

    欢迎分享,转载请注明来源:内存溢出

    原文地址: https://outofmemory.cn/langs/714905.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-04-25
    下一篇 2022-04-25

    发表评论

    登录后才能评论

    评论列表(0条)

    保存