Python基础数据类型_I

二、具体内容

1.基础数据类型总览

  • 123456 456 --- int
  • 'sdfghji家' --- str 存储少量的数据
  • Ture False --- bool 判断真假
  • ['asdf','wer',[wer]] --- list 存储大量的数据
  • (12,'sd',true) --- tuple 存储大量的数据,不可改变里面的元素
  • {'nam':'chen'} --- dict 存储大量的数据,查询速度非常快
  • set 交集,并集,差集

2.int

  • 十进制转二进制

  • '''
    0000 1010
    '''
    b = 2**1+2**3
  • bit_length 十进制转化成二进制的有效长度

  • # 数值1 对应的二进制是1,长度一位,所以返回结果是1
    age = 1
    v = age.bit_length()
    print(v)
    # 数值2 对应的二进制是10,长度2位,所以返回的结果是2
    age = 2
    v = age.bit_length()
    print(v)
    # 数值3 对应的二进制是11,长度两位,所以返回的结果是2
    i = 3
    print(i.bit_length())
    # 数值4 对应的二进制是100,长度3位,所以返回的结果是3
    i = 4
    print(i.bit_length())
    # 数值5 对应的二进制是101,长度3位,所以返回的结果是3
    age = 5
    v = age.bit_length()
    print(v)

3.bool

  • bool、str、int三者之间的转换

  • #  str <---> int  
    s1 =10  int(s1) #必须是数字组成
    i =100  str(i)
    
    #非空即为True;空为Flase
    
    #bool <---> int
    True  1;Flase 0
    #非零即True;0是False

    应用

  • s = input('输入内容')
    if s:
       print('有内容')
    else:
       print('没有输入任何内容')

4.str

  • 索引切片步长

  • 对字符串进行索引,切片出来的数据都是字符串类型

  • 按照索引取值

  • 从左至右有顺序,下标,索引

  • 顾头不顾尾

    s1 = '上有天堂,下有苏杭'
    s2 = s1[0]
    print(s2,type(s2))
    s3 = s1[-1]
    
    s4 = s1[0:6]
    s4 = s1[:6]
    s5 = s1[6:]
    
    s6 = s1[:5:2]
    s7 = s1[:]
    s8 = s1[-1:-6:-1]
    
    #按索引:s[index]
    #按照切片:s[start_index:end_index+1]
    #按照切片步长:s[start_index:end_index+1:2]
    #反向按照切片步长:s[start_index:end_index后延一位:-2]
  • 字符串的常用操作方法:

    • upper lower

    • #不会对原字符串进行任何操作,都是产生一个新的字符串
      s = 'taiJGDS'
      s1 = s.upper()
      s2 = s.lower()
      
      #应用:
      username = input('用户名:')
      password = input('密码:')
      code = 'AedD'
      yourcode = input('验证码:不区分大小写')
      if yourcode.upper() == code.upper():
         if(username == 'alex' and password == '123'):
             print('登录成功')
         else:
             print('用户名或密码错误')
      else:
          print('验证码输入错误')
    • startwish endswith 判断以什么开头或结尾

    • print(s.startwish('t'))#True
      print(s.startwish('taia'))#False
      print(s.startwish('A',3,5))#判断A是从索引3开始到索引5结束的字符串
    • replace替换

      msg = 'Bob很厉害,Bob是老男孩教育的创始人之一,Bob很帅'
      msg1 = msg.replace('Bob','Test') #默认全部替换
      msg2 = msg.replace('Bob','Test',2)#替换前两个
    • strip去掉空白 \t \n

      s = '   \n er\t'
      s1 = s.strip()
      
      #可以去掉指定的字符
      s2 = '123asdf432'
      s3 = s2.strip('123432') #前后同时去判断,遇到非,就停止
      print(s3)
    • split分割

      • 默认按照空格分割,返回一个列表

      • 可以指定分隔符

      #str--->list
      s = 'Test alex Test1'
      s1 = s.split() #['Test','alex','Test1']
      
      s2 = 'Test:alex:Test1'
      s3 = s2.split(':') #['Test','alex','Test1']
      s4 = ':barry:nvshen:wu'
      s5 = s4.split(':',2) #只按前两个:分割       
    • join

      • 将字符串或列表有序的加入某个字符,此时列表里面的元素必须全部是字符串

      • s = 'alex'
        s1 = '+'.join(s) #a+1+e+x
        s2 = ['Test','alex','Test1']
        s3 = ','.join(s2) #Test,alex,Test1
    • count 找出字符串中某字符出现的个数

      s = 'asdfsgrreshdas'
      s1 = s.count('s')
    • format格式化输出

      #第一种用法
      msg = '我叫{}今年{}性别{}'.format('大壮','18','男') #我叫大壮今年18性别男
      #第二种用法 +索引
      msg1 = '我叫{0}今年{1}性别{2},我还叫{0}'.format('大壮','18','男') #我叫大壮今年18性别男,我还叫大壮
      #第三种用法
      mag2 = '我叫{name}今年{age}性别{sex}'.format(name='大壮',age='18',sex='男') #我叫大壮今年18性别男
      
    • is系列

      name = 'asdf2334'
      print(name.isalnum()) #判断字符串是否由字母,数字,中文组成
      print(name.isalpha()) #判断字符串是否只由字母,中文组成
      print(name.isdecimal()) #判断字符串是否只由十进制组成
      
      #应用
      num = input('请输入金额')
      if num.isdecimal:
          print(int(num))
      else:
         print('输入有误')
    • in, not in

      s = '天气之子tian'
      print('天' in s) #True
      print('天t' in s) #Flase
      print('天t' not in s) #True     

5.for 循环

  • len() 字符串的长度
s1 = '高晓松的小说带你穿越古今,游历世界'
index = 0
while index < len(s1):
     print(s1[index])
     index += 1
      
#for循环
for i in s1:
    print(i)
    
for i in s1:
    if 1 == '今':
        break
    print(1)
else:
    print(666)

#break continue
#for else 与 while else 用法一致
    

猜你喜欢

转载自www.cnblogs.com/wsq-1/p/12170472.html