字符串常用操作,for循环,基础数据类型,进制转换 day03

  1. 基础数据类型总览

    • 10203 123 3340 int +-*/等
    • '今天吃了没?' str 存储少量的数据,+ *int (重复多个数字的字符串)切片, 其他操作方法
    • True False bool 判断真假
    • [12, True, 'alex', [1,2,3 ]] list 存储大量的数据。
    • (12, True, 'alex', [1,2,3 ]) tuple 存储大量的数据,不可改变里面的元素。
    • {'name': 'holting'} dict 存储大量的关联型的数据,查询速度非常快。
    • set 交集,并集差集。。。
  2. int

    • 进制转换 : 2,8,16进制转换成10进制,10进制转换即除2,8,16,余数倒过来

      (1).  (1101101)2  =1 *2^6+1*2^5+1*2^3+1*2^2+1*2^0 =109
      (2).    (563)8   =5*8^2+6*8^1+3*8^0 =371
      (3).  (123AF)16   =1*16^4+2*16^3*16^2+10*16^1+15*16^0 =74671
      带有小数
      (4)0. 1011.873
      1011 /2 =505 505/2=252 252/2=126 126/2 =63 63 /2=31 31/2=15 15/2=7
      7/2= 3 3/2=1 1/2=0
      0.873*2=1.746 0.746*2=1.492 0.492*2=1.984 0.984*2 =1.968
      即为 1111110011.1101
             
             原码是一种简单的机器数表示法。即正数的原码,反码和补码是完全相同的。
      负数原码与补码除符号位不变,其他位0变1,1变0,而他的补码是在反码
      的基础上,最低位加一。
      

      bit_lenth 十进制转化成二进制的有效长度

      # bit_lenth 有效的二进制的长度
      i = 4
      print(i.bit_length())
      
      1. bool

      bool str int 三者之间的转换

      # bool str int
      # bool  <---> int
      '''
      True    1   False     0
      非零即True    0 是 False
      '''
      
      # str   <--->   int  ***
      '''
      s1 = 10     int(s1)  : 必须是数字组成
      i = 100     str(i)  
      '''
      # str  bool  ***
      # 非空即True
      s1 = ' '
      print(bool(s1))
      
      s1 = ''  # 空字符串
      print(bool(s1))
      # bool  ---> str  无意义
      print(str(True))
      
  3. str

    • 索引切片步长

      # 对字符串进行索引,切片出来的数据都是字符串类型。
      # 按照索引取值
      # 从左至右有顺序,下标,索引
      按照切片取值
      s ='holting'
      s[0:5]左闭右开
      切片步长
      s[0:6:2]
      倒叙(要写步长,不然运行结果会出现错误)
      s[-1:-8:-1]
      
    • 常用操作方法

      不会对原字符串进行任何操作,都是产生一个新的字符串。

      1. str.upper()或lower()#改变字符串中字母大小写
      # 应用:
      username = input('用户名')
      password = input('密码')
      code = 'QweA'
      print(code)
      your_code = input('请输入验证码:不区分大小写')
      if your_code.upper() == code.upper():
          if username == 'holting' and password == '123':
              print('登录成功')
          else:
              print('用户名密码错误')
      else:
          print('验证码错误')
          
      2. startswith endswith(判断字符是否从哪开始结束)
      s = holting
       print(s.startswith('h'))  ***
      # print(s.startswith('holtin'))  ***
      # 了解
      # print(s.startswith('t',3,6))
      
      3.replace
      msg = 'alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅'
      # msg1 = msg.replace('alex','holting')  # 默认全部替换
      # msg1 = msg.replace('alex','holting',2)
      
      4. strip(去除 空白,\t\n,和指定字符)
      s.strip(',')
      
      5.split 默认按照空格分隔,返回一个列表 *****
      指定分隔符: s.split(':',2)
       s = 'holting,hao,ni,在键'
      # s2 = s[-1:-8:-1]
      # print(s2)
      # s3 = s.split(',',2)
      # print(s3)
      
      6. join 非常好用(可将列表转换成字符串)
      前提列表里的元素必须都是str类型
      
      s1 ='holting'
      # s2 ='+'.join(s1)
      # print(s2,type(s2))
      
      #前提是:列表里面的元素必须都是str类型
      s1 = ['holting','haoren','shuai']
      s3 = ':'.join(s1)
      print(s3,type(s3))
      
      7. count(统计次数)
       s8 = 'sdfsdagsfdagfdhgfhgfhfghfdagsaa'
      # print(s8.count('a'))
      
      8. format : 格式化输出
      第一种用法
      msg = '我叫{}今年{}性别{}'.format('haoren','20','男')
      第二种用法
      msg = '我叫{0}今年{1}性别{2}我依然交(0)'.format('haoren','20','男')
      第三种用法
      a = 0
      msg = '我叫{name}今年{age}性别{sex}'.format(age=a,sex='男',name='haoren')
      
      9. is 系列:
      name = 'holting123'
      print(name.isalnum()) #字符串由字母或数字组成
      # # print(name.isalpha()) #字符串只由字母组成
      # print(name.isdecimal()) #字符串只由十进制组成
      常见于
      s = input('请输入您的金额:')
      if s.isdecimal():
      	print(int(s1))
      else:
      	print('输入有误')
      
  4. for循环

    len :获取可迭代对象的元素总个数
    # print(len(s1))
    index = 0
    # while index < len(s1):
    #     print(s1[index])
    #     index += 1
    
    for i in s:
    	print(i)
    	
    break continue
    # for else: while else:用法一样。
    

猜你喜欢

转载自www.cnblogs.com/zhaoxinblog/p/13171550.html
今日推荐