• DAY3 python基础之数据类型总览


    一.数据类型总览

      int : 数值,用于数学计算,计数;例如:1,2,3,4,...

      str :字符串,用于少量数据的存储,方便操作。

      bool : 布尔型,只有两个状态True,False。机器反馈给用户“对”或“错”。

      list : 列表,存储大量数据,各种数据。例如:{1,'alex',True,[],{}...}

      tuple :(),元组,又称为只读列表,只能阅读不能修改。

      dict :{},键值对的形式存储数据,存储大量的关联型数据

      set :{},集合,用于关系测试。

    二. 数值

      详细的操作,看之前的博客。

      关键知识点:

        bit_length():  十进制数转为二进制所占的最小位数

        1 0000 0001 有效位数为1

         2 0000 0010 有效位数为2

        例子:     

                 i = 2
    print(i.bit_length())
           >>> 2

    三. bool布尔型

      数值转换:

        int ----> bool  :   只有0是False,非0都是True

        bool---->int    :    True对应的是1,False对应的是0

        

        bool---->str   : bool(str),只有空字符串对应的bool值为False。

    四. 字符串

      对字符串的下面两个部分操作:形成的都是一个新的字符串,与原字符串没有关系。

      (一)索引,切片,步长

      在Python中,从左向右,第一个元素的索引值为0;从右往左,索引值从-1,-2...所以最后一个元素的索引值为-1.

      # 按索引取值  s1 = 'python1期骑士计划'

      print(s1[0],type(s1[0]))
      print(s1[2])
      print(s1[4])

     # 按切片取值,取一段范围的元素。
      [start:end] : 顾头不顾尾,取不到结尾值。
      [:end] : 表示从头开始取
      [start:] : 表示取到结尾
      s1 = 'python1期骑士计划'
      print(s1[-4:])
      print(s1[1:])
     # 按切片+步长来取值,[start:end:step]
      
    s1 = 'python1期骑士计划'
    print(s1[0::2])
      
      # 如果想倒叙取值,可以用反向步长“-”
       
    print(s1[1::-1])
      
     (二)字符串常用的方法(*代表重要程序)
      '''capitalize():首字母大写 *** '''
    name = 'oldboy'
    print(name.capitalize())
    >>> Oldboy

      '''center(长度,填充符号): 字符串居中,前后填充指定字符  **'''

    name = 'oldboy'
    print(name.center(10,'*'))
    >>>**oldboy**

      '''upper():英文全部转为大写

        lower():英文全部转为小写

       ***** '''

    name = 'oldboy'
    print(name.upper())
    >>> OLDBOY
    
    name2 = 'OLDBOY'
    print(name.lower())
    >>> oldboy
    

      '''title():字符串中的首字母大写。 **

       # title 非字母隔开的每个部分的首字母大写

      '''

    name = 'i love python'
    print(name.title())
    >>>I Love Python
    

      '''

      ***

      startswith(): 判断字符串是否以指定字符开头,返回True/False。

      endswith(): 判断字符串是否以指定字符结尾,返回True/False。

      '''

    name = 'oldboy'
    print(name.startswith('ol'))
    >>> True print(name.endswith('oy'))
    >>> True

      # 还可以判断字符串其中的切片是否以指定字符为开头

    startswith(prefix,start=None,end=None)
    print(name.startswith('ld',1,5))
    

      '''通过元素找索引

      index():找到字符串中第一个指定元素的最左索引,如果不存在,报错。

      find():找到字符串中第一个指定元素的最左索引,如果不存在,返回-1。

      '''

    name = 'oldboy'
    print(name.index('o'))
    print(name.find('o'))
    print(name.index('ld'))
    

      '''

      *****

      strip(): 去掉字符串中指定部分,默认去除空格。

      lsrtip():去除左边的空白字符。

      rstrip(): 去除右边的空白字符。

      '''

    name = ' python is cool   '
    print(name.strip()) #去除空格
    print(name.strip('is cool'))  #去掉指定部分
    name1 = 'weralexqwe'
    print(name1.strip('erw')
    

      例子:username = input('>>>:').strip()

      '''
      *****
      split():根据指定的字符(默认:空格)分割字符串,返回列表
      # 将字符串分割为列表:str--->list
      # 以空格分割符有一个bug,谨记
      '''
    s1 = 'alex bob taibai'
    l1 = s1.split()
    print(l1)
    >>> ['alex','bob','taibai']
    #设置分割次数
    # s1 = 'alexlwe'
    # print(s1.split('l',1))
    >>>['a','lexlwe']
    # 以空格为分割符有一个bug
    s1 =' python java c++'
    print(s1.split())
    >>>['python','java','c++'] #注意这里会把python开头的空白字符省略掉,bug!!

    空格正确分割:
    print(s1.split(" ")) #需要指定分割符为“ ”
    >>> ['','python','java','c++']

      '''

      *****

      join():通过指定的链接字符串,将可迭代对象的元素连接起来

      ### 把列表转化为字符串:list---> str

      '''

    s1 = 'alex'
    s2 = '*'.join(s1)
    s3 = '_'.join(s1)
    print(s2)
    >>>a*l*e*x*
    print(s3)
    >>>a_l_e_x
    # 把列表转为为字符串
    l1 = ['python','is','cool']
    li_to_str = ''.join(l1)
    print(li_to_str)
    

      '''

      *****

      replace(old,new,count=None):用新的字符串替换旧的字符串

      '''

    s1 = 'java is cool,java is fast'
    s2 = s1.replace('java','python')   #全部替换
    s3 = s1.replace('java','python',1)  #限制次数
    print(s2)
    >>> python is cool,python is fast
    print(s3)
    >>> python is cool,java is fast
    

      '''

      format():格式化输出

      '''

    第一种方式:按顺序输入
    s1 = '我叫{},今年{},性别{}'.format('he','23','男')
    print(s1)
    
    第二种方式:索引,可以重复使用 *****
    s1 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('he','23','男')
    print(s1)
    
    第三种方式:传参,可以打乱传参位置
    s1 = '我叫{name},今年{age},性别{sex}'.format(name='he',age='23',sex='男')
    print(s1)
    

      '''

    is系列:返回True/False
    isdigit():判断是否都为数字
    isalpha():判断是否都为字母
    isalnum():判断是否只有数字或字母组成
    ...

      '''

    language = 'python'
    print(language.isdigit())
    >>>False
    print(language.isalpha())
    >>>True
    

      '''

      公共方法:

      count():计算指定字符出现的次数

      len(): 计算长度---> 元素的个数

      '''

     

     

     
  • 相关阅读:
    POJ 2661
    POJ 2643
    POJ 2656
    POJ 2612
    POJ 2636
    搭建WordPress个人博客
    【个人笔记】ximo早期发的脱壳教程——手脱UPX壳
    2.1【欢乐向】攻防世界新手逆向刷题被虐哭日常记录
    吾爱破解培训第一课个人笔记
    第五章 计算机组成
  • 原文地址:https://www.cnblogs.com/hebbhao/p/9431090.html
Copyright © 2020-2023  润新知