zoukankan      html  css  js  c++  java
  • 基本数据类型及内置方法

    优先掌握

    1、整型int

      用途:一般用于定义整数,如年龄,手机号等

      定义方式:age = 18 即 age = int(18)

      常用于数学计算

      可用int来进行进制间的转换:print(int('110', 2))

                   print(int('123', 8))

                   print(int('801', 16))

      类型总结:int 是 无序,不可变类型,只能存一个值。

    2、浮点型float

      用途:记录小数,身高,体重等

      定义方式: height = 1.80 即 height = float(1.80)

      用于数学计算

      类型总结:float是无序,不可变类型,只能存一个值

    3、字符串

      用途:用于储存描述性信息,姓名等

      定义方式:s = ' '  s = ''  ''  s = '''  '''   s = ''''''   ''''''    引号使用无区别,但不能混用   补充:字符串前加r转义,把特殊意义符号转为字符串

      常用方法:1、索引取值(可正向也可反向,只能取不能存)

            

    s1 = 'hello world'
    print(s1[4]) # 正向取o
    print(s1[-7]) # 反向取o

           2、索引切片:截取字符串中的一小段字符串

    s1 = 'hello world'
    print(s1[2: 5]) # 取llo
    print(s1[4:]) # 取o world
    print(s1[: 5]) # 取hello
    print(s1[0: -2: 2]) # 设置步长为2,取hlowr
    print(s1[:: -1]) #颠倒字符串 dlrow olleh

            3、成员运算:in,not in  返回布尔值

            4、strip:去除字符串左右两边的空格或符号

    name = input('输入姓名').strip()
    print(name)
    
    a1 = '***lzn***'
    print(a1.strip('*'))

            5、split:切分,对字符串进行切分,可以指定切分的分隔符(默认为空格),返回列表

    a1 = 'lzn*25*male'
    print(a1.split('*'))
    
    # ['lzn', '25', 'male']

           6、长度len:获取当前字符串的长度,即字符的个数

            print(len('hello'))

            >>> 5

                7、循环for:一次取出字符串中每一个字符

    s = 'hello world'
    for i in s:
        print(i)

    需要掌握

          8、restriplstrip:切除右边空格切除左边空格

          9、lowerupper: 大小写转换

             str.lower() 将英文字符串全部变为小写

             str.upper()将英文字符串全部变为大写

          10、startswithendswith:判断当前字符串以什么开头,返回布尔值

          11、格式化输出format:{ }中可以索引传值,也可指定传值

    print('我叫{},今年{}岁'.format('lzn', 25))
    # >>>我叫lzn,今年25岁
    print('我叫{0},今年{1}岁'.format('lzn', 25))
    # >>>我叫lzn,今年25岁
    print('我叫{1},今年{0}岁'.format('lzn', 25))
    # >>>我叫25,今年lzn岁

           12、split split:按照从左往右从右往左的顺序对字符串进行切分,可指定分隔符和切割次数。

    str = 'lzn*25*male'
    print(str.rsplit('*', 1))
    >>> ['lzn*25', 'male']

          13、jion:将可迭代对象中每个元素按照指定的分隔符进行拼接,拼接结果为字符串

     

    l1 = ['lzn', '25', 'male']
    print('|'.join(l1))
    >>>lzn|25|male

          14、replace:将字符串中的元素进行替换

            语法:replace('旧内容', '新内容')

            

    str = 'lzn,18'
    print(str.replace('lzn', 'Bill'))
    >>>'Bill,18'

          15、isdigit:判断字符串是否是纯数字组成,返回布尔值 

    num = '1233211234567'
    print(num.isdigit())
    >>>True

    了解操作

          16、find:查找当前字符串中某个元素的位置(可指定范围),返回索引,找不到返回-1

          17、index:同find,找不到返回异常

          18、count:统计当前字符串中某个元素的个数

          19、centerljust justzfill:设定总宽度,居中左对齐右对齐右对齐,字符串宽度不够用指定符号填充,zfill用0填充

          20、is系列

    字符串类型总结:有序,不可变类型,只能存一个值

    4、列表

        用途:用于存一个或多个不同类型的值

        定义方式:通过[]存值,每个值间用逗号分隔

          1、索引取值(正反都可),可取可存

             l1 = [1,2,3,4,5]

             print(l1[2])

             >>>3

          2、索引切片

             print(l1[1: 4])

             >>>[2,3,4]]

          3、添加

          3.1 append():追加值,只能添加到最后一位,一次只能添加一个值

              l1.append(1000)

              print(l1)

              >>>[1,2,3,4,5,1000]

          3.2 insert():插入值,通过索引指定插入位置

              l1.insert(3, 999)

              print(l1)

              >>>[1,2,3,999,4,5]

           3.3 extend():一次可增加多个值(必须是可迭代对象)

              l1.extend([6,7,8])

              print(l1)

              [1,2,3,4,5,6,7,8,9]

            4、删除

            4.1 remove():把指定值删除(只删除出现的第一个值)

            l1.remove(1)

            print(l1)

            >>>[2,3,4,5]

            4.2 pop():不传值默认从最后一个开始删,删除的值有返回值

            l1.pop()                                    l1.pop(2)

            print(l1)                                    print(l1)

            >>>[1,2,3,4]        >>>[1,2,4,5]

    4.3 del()
    l = [1,2,3,4,5]
    del l[2] # 删除索引为2的元素
    print(l)
    >>>[1, 2, 4, 5]
    
    5.len()
    print(len(l))
    >>>5
    
    6.成员运算 in 和 not in
    l = [1,2,3,4,5]
    print(1 in l)
    >>>True
    print(6 not in l)
    >>>True
    
    7.reverse()颠倒列表内元素顺序
    l = [1,2,3,4,5]
    l.reverse()
    print(l)
    >>[5,4,3,2,1]

    8.sort()给列表内所有元素排序
    l = [2,1,4,3,5] # 排序时列表内元素必须为相同类型,否则报错
    l.sort()
    print(l)
    >>[1,2,3,4,5] # 默认从小到大排序
    l.sort(reverse = True) # reverse用来判断是否颠倒排序,默认为False
    >>[5,4,3,2,1]

    9.clear() # 清空列表数据
    l.clear()
    >>>[]

    10.循环
     for i in l:
        print(i)
       

    5、元组

      用途:储存多个任意类型的元素,无法修改,只能取不能存。

      定义方式:在()中用逗号分隔任意类型的值

          t1 = ('a','b')  # t1 = tuple(('a','b'))

          若只有一个值,需要在值后面添加逗号,否则为字符串(‘a’,)

      使用:1.索引取值(正反都可取)

         2.索引切片

         3.成员运算 in 和not in

         4.len()

         5.循环for

         内置方法 :

              1.count()  统计元素个数

              2.index()获取元素位置

      元组是一个有序不可变类型,可以存多个值

    六、字典

      定义:通过{}储存数据,以key:value来定义键值对数据,每个键值对用逗号分隔

        d1 = {'name':'lzn','age':25}   # d1 = dict({......})

        d1 = dict(name = 'lzn',age = 25)

      使用:

        1.按key:value的关系取值(可存可取)

        print(d1['name']) >>> lzn

          更改value:d1['name'] = 'Bill'

        print(d1) >>> {'name':'Bill','age':25}

          添加键值对:d1['gender'] = 'male'

        print(d1) >>>{'name':'Bill','age':25,'gender':'male'}

        2.成员运算 in 和 not in

        3.len() 获取当前字典中键值对个数

      内置方法:

        1.get() 获取指定key的值,如果值不存在,默认返回None

          

    d1 = {'name':'lzn','age':25,'gender':'male'}
    print(d1.get('name'))
    >>>lzn
    print(d1.get('hobby'))
    >>>None
    print(d1.get('hobby',666))   # 通过设置第二个参数改变返回内容
    >>>666

        2.keys(),values(),items()

    d1 = {'name':'lzn','age':25,'gender':'male'}
    print(d1.keys())
    >>>dict_keys(['name', 'age', 'gender'])
    print(d1.values())
    >>>dict_values(['lzn', 25, 'male'])
    print(d1.items())
    >>>dict_items([('name', 'lzn'), ('age', 25), ('gender', 'male')]) # 返回值列表套元组,每个键值对存在于元组

        3.循环遍历

    for key in d1.keys():
        print(key)
        >>>name
           age
           gender
    for value in d1.values():
        print(value)
        >>>lzn
           25
           male
    for key,value in d1.items():
        print(key,value)   
        >>>name lzn
           age 25
           gender male
    for item in d1.items():
      print(item)
      >>>('name', 'lzn')
        ('age', 25)
        ('gender', 'male')

        4.pop():指定key进行删除,返回值为对应的value

      

    d1 = {'name':'lzn','age':25,'gender':'male'}
    print(d1.pop('name'))
    >>>lzn
    print(d1)
    >>>{'age': 25, 'gender': 'male'}

        5.popitem():随机弹出一个键值对,有返回值,返回元组

    d1 = {'name':'lzn','age':25,'gender':'male'}
    print(d1.pop('name'))
    >>>lzn
    print(d1)
    >>>{'age': 25, 'gender': 'male'}

        6.update:用新字典替换旧字典,有则更改,无则增加

    d1 = {'name':'lzn','age':25,'gender':'male'}
    d2 = d1.update({'name':'Bill'})
    print(d1)
    d3 = d1.update({'hobby':'basketball'})
    print(d1)
    >>>
    {'name': 'Bill', 'age': 25, 'gender': 'male'}
    {'name': 'Bill', 'age': 25, 'gender': 'male', 'hobby': 'basketball'}

        7.fromkeys() 生成一个新字典,以第一个参数(列表)中的元素为key,第二个参数为value,组成新的字典

    print(dict.fromkeys(['yyh','zwl'],'gay'))
    >>>
    {'yyh': 'gay', 'zwl': 'gay'}

        8.setdefault()

    # key存在则不做任何修改,并返回对应value
    d2 = d1.setdefault('name','Bill')
    print(d2)
    >>>lzn
    # key不存在则新增键值对,有返回值,返回新增value
    d3 = d1.setdefault('hobby','basketball')
    print(d3)
    >>>basketball
    print(d1)
    >>>{'name': 'lzn', 'age': 25, 'gender': 'male', 'hobby': 'basketball'}

    字典类型总结:无序可变类型,可存多个值  

      七、集合

        用途:去重,关系运算。

        定义方式:用{}储存,每个元素用逗号分隔

        定义空集合需要用set(),  d = {}默认为字典

        类型转换:但凡能被for循环遍历的数据类型(遍历出的数据类型必须为不可变类型)都可以传给set()转化为集合类型

          

    s = set([1,2,3,4])
    s1 = set(('a','b','c','d'))
    s2 = set({'name':'lzn','age':25})
    s3 = set('jason')
    print(s)
    >>>{1, 2, 3, 4}
    print(s1)
    >>>{'b', 'd', 'a', 'c'}
    print(s2)
    >>>{'name', 'age'}
    print(s3)
    >>>{'j', 'n', 's', 'o', 'a'}

        使用:

          1.去重:只能针对不可变类型,去重之后无法保留之前的顺序

    l = ['a','b','a','c']
    s = set(l)
    print(s) # 将列表转换为集合
    >>>{'a', 'c', 'b'}
    l1 = list(s) # 再将集合转换为列表,列表顺序为集合随机生成的顺序
    print(l1)
    ['a', 'c', 'b']

              针对不可变类型,又能保持原来的顺序  举例:

    l = [{'name':'lzn','age':25,'gender':'male'},
         {'name':'lzn','age':25,'gender':'male'},
         {'name':'Bill','age':18,'gender':'male'},
         {'name':'Abby','age':20,'gender':'female'},
         {'name':'lzn','age':25,'gender':'male'}]
    new_l = []
    for dict in l:
        if dict not in new_l:
            new_l.append(dict)
    print(new_l)
    >>>[{'name': 'lzn', 'age': 25, 'gender': 'male'}, {'name': 'Bill', 'age': 18, 'gender': 'male'}, {'name': 'Abby', 'age': 20, 'gender': 'female'}]

        2.关系运算:合集|   交集&   差集-   对称差集^   是否相等==  父集>  >=    子集<   <=

    s1 = {'lzn','Bill','Abby','Tony'}
    s2 = {'Bill','Lucy','yyh','Jack'}
    print(s1 | s2) # 合集 求s1 s2 所有好友 重复只留一个
    >>>{'lzn', 'Lucy', 'Abby', 'Bill', 'yyh', 'Jack', 'Tony'}
    print(s1 & s2) # 交集 s1 s2 共同好友
    >>>{'Bill'}
    print(s1 - s2) # 差集 s1独有的好友
    >>>{'lzn', 'Tony', 'Abby'}
    print(s2 - s1) # 差集 s2独有的好友
    >>>{'Jack', 'Lucy', 'yyh'}
    print(s1 ^ s2)  # 对称差集 s1 s2 独有的好友们(即去掉共同好友)
    >>>{'lzn', 'Lucy', 'Abby', 'yyh', 'Jack', 'Tony'}
    print(s1 == s2) # 值是否相等
    >>>False
    #父集  子集
    
    s = {1,2,3}
    s1 = {1,2}
    s2 = {1,3,5,6}
    print(s > s1)
    >>>True
    print(s >= s1)
    >>>True
    print(s2 > s)
    >>>False
    print(s2 >= s)
    >>>False
    print(s1 < s)
    >>>True
    print(s1 <= s)
    >>>True

        

        

        

  • 相关阅读:
    pip安装不成功的解决办法
    nginx常用的请求头参数和防DDOS攻击
    nginx报错:‘open too many files’解决
    nginx根据http_user_agent来拦截访问
    centos7安装logstash
    aws创建实例ec2时关联IAM
    docker清理多余的镜像和stop的容器
    理想
    +: indexed part-select
    Features Download Pricing Mind Maps Blog XMind的快捷键
  • 原文地址:https://www.cnblogs.com/littleb/p/11798589.html
Copyright © 2011-2022 走看看