• 初识Python-数据类型


    一、数值
     
    1:整型(int)
    整型数值可以存储2**32个数字,范围:-2147483648到2147483647,如:-100、0、100
    示例:
    >>> a = 100 
    >>> type(a) 
    <type 'int'>
    2:长整型(long)
    长整型的范围很大,几乎可以说任意大的整数均可以存储;为了区分普通整型,需要在整数后加L或l。如: 2345L、0x34al
    示例:
    >>> a = 100**32 
    >>> a 
    10000000000000000000000000000000000000000000000000000000000000000L >>> type(a) <type 'long'> >>> a = 100l >>> a
    100L >>> type(a) <type 'long'>
     
    3:浮点型(float)
    如:0.0、10.0、12.0、-18.8、3e+7
    示例:
    >>> a = 10.0/3 
    >>> a 
    3.3333333333333335 >>> type(a) <type 'float'>
     
    4:复数型(complex)
    Python对复数提供内嵌支持,这是其他大部分软件所没有的。如:- 3.14j,8.32e-36j
    示例:
    >>> num = 3.14j 
    >>> type(num)
    <type 'complex'>
    >>> num
    3.1400000000000001j
    >>> print num
    3.14j

    二、字符串(str)

    1:字符串赋值方式
    ①单引号(')
    abc字符串赋值到str变量。
    示例:
    >>> str = 'abc' 
    >>> print str 
    abc
    >>> type(str) <type 'str'>
    ②双引号(")
    abc字符串赋值到str变量。
    示例:
    >>> str = '123' 
    >>> print str 
    123 >>> type(str) <type 'str'>
    ③三重引号(''')/("""),三重引号可以是三个单引号或者是三个双引号,除了定义字符串,还可以当做注释使用。
    hello worde字符串赋值到str变量。
    示例:
    >>> str = '''hello ... worde ''' 
    >>> str 
    'hello worde ' >>> print str
    hello worde
    >>> str = ''' hello worde ''' >>> print str
    hello worde
    2:字符串索引
    ①从最左边第一个字符开始取值算,例如:abcde,即a(0)、b(1)、c(2)、d(3)、e(4)
    ②从最右边第一个字符开始取值算,例如:abcde,即e(-1)、d(-2)、c(-3)、b(-4)、a(-5)
    示例:
    >>> str = 'abcde' 
    >>> str[0] 
    'a' >>> str[-1]
    'e'
    3:字符串切片
    ①[str1:str1][头下标:尾下标]
    示例:
    在不输入头下标和尾下标情况下,[:]默认是取全部值
    >>> str = 'abcde' 
    >>> str[:] 
    'abcde'
    取头下标str0字符到尾下标str3字符。即:abc
    >>> str[0:3] 
    'abc'
    取头下标str1字符开始,a(0)不在取值内。即:bcde
    >>> str[1:] 
    'bcde'
    取到尾下标str4前的字符,e(4)不在取值内。即:abcd
    >>> str[:4]
    'abcd'
    ②[头下标:尾下标:间隔步数]
    示例:
    在不输入任何参数情况下,[::]默认是取全部值
    >>> list = 'abcdefg' 
    >>> list[::]
    'abcdefg'
    取头下标str0字符开始,尾下标不填,间隔步数3,即:第一个字符a(0),走步数3,第二字符为d,走步数3,第三个字符为g,所以得最终值:adg。
    >>> list[0::3] 
    'adg'
    取头下标str1字符,尾下标str6字符区间,间隔步数2,即:第一个字符b(1),走步数2,第二个字符d,走步数2,第三个字符为f,所以得最终值:bdf。
    >>> list[1:6:2]
    'bdf'
     三、元组()
     
    1:序列
    字符串、列表和元组都是序列;序列的两个主要特点是索引操作符和切片操作符,索引操作符让我们可以从序列中抓取一个特定项目,切片操作符让我们能够获取序列的一个切片,即一部分序列。
     
    ①len():获取序列的长度
    获取a变量里序列长度,即得到的长度:6。
    示例:
    >>> a = 'abcdef' 
    >>> len(a) 
    6
    ②+:连接两个序列
    在原有a变量序列中,连接'123'序列,即得到值:abcdef123。
    示例:
    >>> a 'abcdef' 
    >>> a + '123' 
    'abcdef123'
    ③*:重复序列元素
    重复a变量里的序列4次,即得到值:abcdef*4。
    示例:
    >>> a 'abcdef' 
    >>> a * 4 
    'abcdefabcdefabcdefabcdef'
    ④in:判断元素是否在序列中,返回布尔值True、False
    判断a和g元素是否在a变量里序列中,a变量里的序列元素为:abcdef,即a元素在序列中,返回True;g元素没有在序列中,返回False。
    示例:
    >>> a 'abcdef' 
    >>> 'a' in a 
    True
    >>> 'g' in a
    False
    ⑤max():获取序列元素最大值,字母:a最小,z最大,数字:0最小,9最大。
    获取a变量序列中的最大元素,a变量里的序列元素为:abcdef,即最大元素:f。
    示例:
    >>> a 'abcdef' 
    >>> max(a) 
    'f'
    ⑥min():获取序列元素最小值
    获取a变量序列中的最小元素,a变量里的序列元素为:abcdef,即最小元素:a。
    示例:
    >>> a 'abcdef' 
    >>> min(a) 
    'a'
    ⑦cmp(x:y):比较两个序列是否相等,通常会以下三种情况
    第一种序列长度相同元素不同返回值1
    第二种序列长度不同返回值-1
    第三种序列长度相同元素相同返回值0
     
    第一种情况,a和b两个序列长度相同,w、g元素不同,即返回值:1。
    示例:
    >>> a 
    'abcdefw' >>> b
    'abcdefg' >>> cmp(a,b) >>> 1
    第二种情况,a和b两个序列长度不同,即返回值:-1。
    示例:
    >>> a 
    'abcdef' >>> b
    'abcdefg' >>> cmp(a,b) >>> -1
    第三种情况,a和b两个序列长度相同、元素相同,即返回值:0。
    示例:
    >>> a 
    'abcdef' >>> b
    'abcdef' >>> cmp(a,b) >>> 0
    2:元组
    元组和列表十分相似,元组和字符串一样是不可变的,可以存储一系列的值,元组通常用在用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。
     
    ①创建元组
    在不输入任何参数的情况下,元组为空
    示例:
    >>> t = () 
    >>> t 
    ()
    创建t元组将a变量引入元组中。
    示例:
    >>> t = (a,) 
    >>> t 
    ('abcdef',)
    创建多个元素,以逗号作为分隔
    示例:
    >>> t = (a,1,'test') 
    >>> t ('abcdef', 1, 'test')
    ②元组操作
    .count查找元组里包含多少个查询的元素值
    查找t元组里是否有1数值和test字符串元素,t元组包含('abcdef', 1, 'test')元素,1、test都有一个元素,即最终返回索引值1。
    示例:
    >>> t 
    ('abcdef', 1, 'test') >>> t.count(1)
    1 >>> t.count('test')
    1
    .index查询元组里元素索引
    查询t元组里的元素索引分别所在的值,元组里第一个'abcdef'字符串由a变量引入,即a元素索引值为0,1元素索引值为1,test元素索引值为2。
    示例:
    >>> t 
    (abcdef', 1, 'test') >>> t.index(a)
    0
    >>> t.index(1)
    1 >>> t.index('test')
    2
    ③元组拆分
    将t元组里的a变量、数值1、字符串test三个元素分别拆分到one、two、three三个变量中。
    示例:
    >>> a = 'abcdef' 
    >>> t = (a,1,'test') 
    >>> one,two,three = t 
    >>> one 
    'abcdef' >>> two
    1 >>> three
    'test'
    四、列表 [ ]
     
    列表(list)是处理一组有序项目的数据结构,即可以在列表中存储一个序列的项目,也是可变类型的数据。
     
    1:列表操作
     
    ①创建列表
    创建列表的几种写法。
    示例:
    >>> list1 = [ ] 
    >>> list2 = list() 
    >>> list3 = [ ]
    创建list1列表,长度为4,内容分别包含字符串a、数值123、元组('b')、列表[123,'abc']。
    示例:
    >>> list1 = ['a',1234,('b'),[123,'abc']] 
    >>> list1 
    ['a', 1234, 'b', [123, 'abc']] >>> len(list1) 4 ##列表中4个元素 >>> type(list1) <type 'list'> ##类型为list(列表)
    ②取值切片
    列表和字符串一样,可以通过索引截取列表中的元素,截取list1列表中索引3的值。
    示例:
    >>> list1 ['a',1234,('b'),[123,'abc']] 
    0 1 2 3 ##对应的索引 >>> list1[3]
    [123, 'abc']
    ③更新列表
    list.append()
    list1列表添加新的值22222。
    示例:
    >>> list1.append(22222) 
    >>> list1 
    ['a', 1234, 'b', [123, 'abc'], 22222]
    说明:除了可以直接更新列表内容,通过表达式 + 将两个不同的列表进行组合。
    ##将list1和list2中的内容整合到list3。
    示例:
    >>> list1
    ['a', 1234, 'c', [123, 'abc'], 22222] 
    >>> list2 
    ['ggggg', '777777'] 
    >>>list3 = list1 + list2 
    >>> list3 
    ['a', 1234, 'c', [123, 'abc'], 22222, 'ggggg', '777777']
    ④修改列表
    list[] = x
    修改list1表中的b元素为c。
    示例:
    >>> list1 
    ['a', 1234, 'b', [123, 'abc'],22222] 
    >>> list1[2]= 'c' 
    >>> list1 
    ['a', 1234, 'c', [123, 'abc'],22222]
    ⑤删除列表
    del list
    删除整个list1列表。
    示例:
    >>> del list1 
    >>> list1 
    Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    NameError: name 'list1' is not defined 
    list.remove(list[ ])
    删除list2列表中的'ggggg'字符串。
    示例:
    >>> list2 = ['ggggg','777777'] 
    >>> list2.remove(list2[0]) 
    >>> list2 
    ['777777'] 
    2:列表其它用法
    ①list.sort()
    对列表中元素值进行升序排序。
    示例:
    >>> list3 
    ['a', 1234, 'c', [123, 'abc'], 22222, 'ggggg', '777777'] 
    >>> list3.sort() 
    >>> list3 
    [1234, 22222, [123, 'abc'], '777777', 'a', 'c', 'ggggg'] 
    ②list.reverse()
    对列表中元素值进行反转。
    示例:
    >>> list3 
    [1234, 22222, [123, 'abc'], '777777', 'a', 'c', 'ggggg'] 
    >>> list3.reverse() 
    >>> list3 
    ['ggggg', 'c', 'a', '777777', [123, 'abc'], 22222, 1234]
    ③list.pop()
    移除列表中的一个元素,并且返回该元素的值(默认最后一个元素)。
    示例:
    >>> list3 
    ['ggggg', 'c', 'a', '777777', [123, 'abc'], 22222, 1234] 
    >>> list3.pop(2) 
    'a' 
    >>> list3
    ['ggggg', 'c', '777777', [123, 'abc'], 22222, 1234] 
    ④list.count()
    统计列表中c的字符串出现的次数。
    示例:
    >>> list3 
    ['ggggg', 'c', '777777', [123, 'abc'], 22222, 1234] 
    >>> list3.count('c') 
    1
    ⑤list.insert()
    在索引1前插入字符串’bbb‘。
    示例:
    >>> list3 
    ['ggggg', 'c', '777777', [123, 'abc'], 22222, 1234] 
    >>> list3.insert(1,'bbb') 
    >>> list3 
    ['ggggg', 'bbb', 'c', '777777', [123, 'abc'], 22222, 1234] 
    ⑥list.extend()
    在list3列表末尾追加abc字符串。
    示例:
    >>> list3.extend('abc') 
    >>> list3 
    ['ggggg', 'bbb', 'c', '777777', [123, 'abc'], 22222, 1234, 'a', 'b', 'c']
    
    五、字典 { }
     
     字典是python中的唯一的映射类型(哈希表),字典对象是可变的,但是字典的键必须使用不可变对象,一个字典中可以使用不同类型的键值。
     
    1:字典操作
     
    ①创建字典
    创建字典的几种写法。
    示例:
    >>> dict1 = { a:1, b:2 }
    >>> dict2 = dict(a=1,b=2) 
    创建dict1字典,字典中包含小明、小华、小丽、小花四人考试的排名,小明排名第一,小华和小丽并列第二、小花第三。
    示例:
    >>> dict1 = {'xiaoming':1,('xiaohua','xiaoli'):2,'xiaohua':3}
    >>> dict1
    {'xiaoming': 1, 'xiaohua': 3, ('xiaohua', 'xiaoli'): 2}
    >>> len(dict1)
    3              ##字典中3个元素
    >>> type(dict1)
    <type 'dict'>  ##类型为dict(字典)
    ②访问字典
    通过键访问dict1字典中键=小明的排名,直接访问字典不加任何键,输出结果是无序的。
    示例:
    >>> dict1
    {'xiaoming': 1, 'xiaohua': 3, ('xiaohua', 'xiaoli'): 2}
    >>> dict1['xiaoming']
    1
    或者也可以通过dict.get方式去访问字典中的values。
    示例:
    >>> dict1.get('xiaohua') 
    3
    ③修改字典
    通过键修改dict1字典中小明的排位为4。
    示例:
    >>> dict1
    {'xiaoming': 1, 'xiaohua': 3, ('xiaohua', 'xiaoli'): 2}
    >>> dict1["xiaoming"] = 4
    >>> dict1
    {'xiaoming': 4, 'xiaohua': 3, ('xiaohua', 'xiaoli'): 2}
    或者也可以通过dict.update方式更新内键到字典中。
    通过.update方式往dict1字典中更新狗剩的排名5的信息。
    示例:
    >>> dict1.update({'gousheng':5})
    >>> dict1
    {'xiaoming': 4, 'xiaohua': 3, 'gousheng': 5, ('xiaohua', 'xiaoli'): 2}
    ④删除字典
    删除dict1字典中单个键小华的排名信息。
    示例:
    >>> dict1
    {'xiaoming': 4, 'xiaohua': 3, 'gousheng': 5, ('xiaohua', 'xiaoli'): 2}
    >>> del dict1['xiaohua']
    >>> dict1
    {'xiaoming': 4, 'gousheng': 5, ('xiaohua', 'xiaoli'): 2} 
    删除整个dict1字典。
    示例:
    >>> dict1
    {'xiaoming': 4, 'gousheng': 5, ('xiaohua', 'xiaoli'): 2}
    >>> del dict1
    >>> dcit1
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'dcit1' is not defined
    通过.clear方式清空dict1字典中的键值排名。
    示例:
    >>> dict1
    {'xiaoming': 1, 'xiaohua': 3, ('xiaohua', 'xiaoli'): 2}
    >>> dict1.clear()
    >>> dict1
    {}     ##空字典 
    2:字典其它用法
     
    ①dict.copy()
    通过.copy方式复制dict1字典到dict2新的字典中。
    示例:
    >>> dict2 = dict1.copy()
    >>> dict2
    {'xiaoming': 1, 'xiaohua': 3, 'gousheng': 5, ('xiaohua', 'xiaoli'): 2}
    ②dict.has_key()
    通过.has_key方式判断dict2字典中,是否存在小华和阿豪的排名信息,如果存在返回布尔值True,不存在返回布尔值False。
    示例:
    >>> dict2
    {'xiaoming': 1, 'xiaohua': 3, 'gousheng': 5, ('xiaohua', 'xiaoli'): 2}
    >>> dict2.has_key('xiaohua')
    True
    >>> dict2.has_key('ahao')
    False
    或者也可以通过键去判断是否存在字典中。
    示例:
    >>> dict2
    {'xiaoming': 1, 'xiaohua': 3, 'gousheng': 5, ('xiaohua', 'xiaoli'): 2}
    >>> 'xiaohua' in dict2
    True
    >>> 'ahao' in dict2
    False
    ③dict.items()
    通过.items方式以列表形式去遍历dict2字典中的排名信息。
    示例:
    >>> dict2.items()
    [('xiaoming', 1), ('xiaohua', 3), ('gousheng', 5), (('xiaohua', 'xiaoli'), 2)]
    ④dict.pop()
    通过.pop方式删除键=小明的排名信息,并输出信息values值。
    示例:
    >>> dict2
    {'xiaoming': 1, 'xiaohua': 3, 'gousheng': 5, ('xiaohua', 'xiaoli'): 2}
    >>> dict2.pop('xiaoming')
    1
    >>> dict2
    {'xiaohua': 3, 'gousheng': 5, ('xiaohua', 'xiaoli'): 2}
  • 相关阅读:
    T100——azzi600栏位问题
    E10——Sharedata 使用
    java 集合List remove 报错 ConcurrentModificationException
    java jsckson 深拷贝时 java 8 LocalDateTime 报错解决
    shell 参数定义报错 command not found
    shell 对txt文本的写入与读取
    java 实体类里浅拷贝 与 深拷贝
    Tesseract ocr java 报错JFIF APP0 must be first marker after SOI 解决
    Tesseract Java 调用其识别ocr 报错Not a JPEG file: starts with 0x89 0x50 解决
    Tesseract java 实现ocr的具体步骤 win10系统
  • 原文地址:https://www.cnblogs.com/douyi/p/13603379.html
Copyright © 2020-2023  润新知