三、for int str

一. 今日内容大刚

  1. 基础数类型总览
  2. int
  3. bool
  4. str
    • 索引,切片
    • 常用操作方法
      5.for 循环

二. 昨日内容以及作业讲解

  1. pycharm 简单使用

  2. while 循环

    1. 结构
    2. pass
  3. 格式化输出:str :让字符串的某些位置变成动态可变的,可传入的。

    1. % s str d digit i int r
    2. %%
  4. 编码的初识:

    1. 编码:密码本:二进制 与 文字的对应关系。
      • ASCII:最早的密码本:二进制与 英文字母,数字,特殊字符的对应关系
        01100001 a
        01100010 b
        'abc' : 01100001 01100010 01100011 : 3个字节
      • GBK 国标: 英文.... 1个字节 中文 2个字节
        • 英文字母,数字,特殊字符 ASCII
        • 中文自己编写的。
          'ab太白' :6个字节
      • Unicode: 万国码。(兼容性高,他与任何的密码本都有映射关系)
        01100001 01100001 01100001 01100001 a
        01100001 01100001 01100101 01100001 中
      • UTF-8:
        01100001 a 使用的ASCII
        01100001 01100001 欧洲.. 2字节
        01100001 01100101 01100001 中 3 字节
        'ab太白' 8个字节

    三.具体内容:

     1.基础数据类型总览
    
  • int 例:100,20,3 可进行 + - * / 等等
  • str 例:'今天吃饭了吗' 存储少量的数据,+ ,*int 切片,其他操作方法
  • boor 布尔类型 判断真假 True False
  • list 例: [12, True, 'alex', [1,2,3 ]] 存储大量的数据
  • tuple 例:(1,2,3,[1,2,3],'alex') 存储大量的数据,不可改变里面的元素
  • dict 例: {'name':'九日天'} 存储大量的关联型的数据,查询速度非常快
  • set 交集,并集,差集
    2.int
    • 十进制 二进制 转换
      '''
      二进制转换成十进制
      0001 1010 ------> ? 26
      '''
      b = 1 * 24 + 1 * 23 + 0 * 22 + 1 * 21 + 0 * 2**0
      print(b) # 26

    • bit_lenth 十进制转化成二进制的有效长度
      i = 4
      print(i,bit_length()) # 3
      i = 5
      print(i,bit_length()) # 3
      i = 42
      print(i,bit_length()) # 4
      3.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)) # True

      s1 = '' # 空字符串
      print(bool(s1)) # Fales

      bool -----> str 无意义

      print (str(True))

      应用

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

    1. str
      • 索引切片步长
        s1 = 'python全栈22期'

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

        按照索引取值

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

        s2 = s1[0]
        print(s2,type(s2))

        s3 = s1[2]
        print(s3)

        s4 = s1[-1]
        print(s4)

        按照切片取值

        顾头不顾尾

        s5 = s1[0:6]

        s5 = s1[:6]

        print(s5)

        s6 = s1[6:]
        print(s6)

        切片步长

        s7 = s1[:5:2]
        print(s7)
        print(s1[:])

        倒序

        s8 = s1[-1:-6:-1]
        print(s8)

        按索引:s1[index]

        按照切片:s1[star_index:end_index + 1]

        按照切片步长:s1[star_index:end_index + 1:2]

        反向按照切片步长:s1[star_index:end_index 后延一位:2]

        思考题:倒序全部取出来

        s9 = s1[::-1]
        print(s9)

      • 练习题
        2.有字符串s = "123a4b5c"

        通过对s切片形成新的字符串s1,s1 = "123"
        通过对s切片形成新的字符串s2,s2 = "a4b"
        通过对s切片形成新的字符串s3,s3 = "1345"
        通过对s切片形成字符串s4,s4 = "2ab"
        通过对s切片形成字符串s5,s5 = "c"
        通过对s切片形成字符串s6,s6 = "ba2"

        s = '123a4b5c'
        s1 = s[:3]
        print(s1)

        s2 = s[3:6]
        print(s2)

        s3 = s[:7:2]
        print(s3)

        s4 = s[1:6:2]
        print(s4)
        s5 = s[-1]
        print(s5)
        s6 = s[-3::-2]
        print(s6)

      • 常用操作方法
        s = 'taiBAifdsa'
        # 字符串常用操作方法
        # 不会对原字符串进行任何操作,都产生一个新的字符串
        # upper 大写
        # lower 小写

        s1 = s.upper()
        print(s1)
        
        s2 = s.lower()
        print(s2)
        
        # 应用
        
        # username = input('user>')
        # password = input('passwd>')
        # code = 'QweR'
        # print(code)
        #
        # your_code = input('请输入code(不区分大小写)>')
        # if your_code.upper() == code.upper():
        #     if username == 'rjt' and password == '123':
        #         print('登录成功')
        #     else:
        #         print('用户名/密码错误')
        # else:
        #     print('验证码错误')
        #
        
        
        # startswith  以....开头        endswith  结尾
        print(s.startswith('t'))  # ***
        print(s.startswith('taiBAi')) # ***
        # 了解
        print(s.startswith('B',3,6)) # index [3:6]
        
        
        # replace
        
        msg = 'alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅'
        
        msg1 = msg.replace('alex','太白')  # 默认全部替换
        msg2 = msg.replace('alex','太白',2) # 从左至右 依次替换 替换两次
        print(msg1)
        print(msg2)
        
        # strip 空白--->   空格,\t,\n
        
        str01 = '  \n太白\t'
        print(str01)
        
        str02 = str01.strip()  # 去掉空白
        print(str02)
        
        # 了解
        # 可以去除指定的字符
        
        str03 = 'rre太r白qsd'
        str05 = str03.strip('qrsed')
        print(str05)
        
        
        # split 非常重要
        # 默认按照空格分隔,返回一个列表
        # 指定分隔符
        # str ----> list
        
        a = '太白 女神 吴超'
        l = a.split(' ')
        print(l,type(l))
        
        b = '太白:女神:吴超'
        l = b.split(':')
        print(l,type(l))
        
        # 了解:
        c = ':barry:nvshen:wu'
        print(c.split(':'))  # ['', 'barry', 'nvshen', 'wu']
        print(c.split(':',2))
        
        
        # join 非常好用
        
        f = 'alex'
        f1 = '+'.join(f)
        print(f1,type(f1))
        
        #
        l1 = ['太白', '女神', '吴超']
        # # 前提: 列表里面的元素必须都是str类型
        s3 = ':'.join(l1)
        print(s3,type(s3))
        
        # count 计数
        str10 = 'sdfsdagsfdagfdhgfhgfhfghfdagsaa'
        print(str10.count('a'))
        
        # format : 格式化输出
        
        # 用法一
        msg3 = '我叫{},今年{},性别{}'.format('日九天',25,'男')
        print(msg3)
        
        # 用法二
        msg4 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('日九天',25,'男')
        print(msg4)
        # 用法三
        mgs5 = '我叫{name},今年{age},性别{sex}'.format(age = 26,sex = '男',name = '日九天')
        print(mgs5)
        
        # is 系列
        name = 'taibai123'
        name1 = '100①'
        
        print(name.isalnum()) # 字符串由字母或数字组成
        print(name.isalpha()) # 字符串只是由字母组成
        print(name1.isdecimal()) # 字符串只有十进制组成
        
        e1 = input('请输入金额:')
        if e1.isdecimal():
            print(int(e1))
        else:
            print('输入有误')
        
      • # s1 = '老男孩edu'
        # print('老' in s1)
        # print('老男' in s1)
        # print('老ed' in s1)
        # print('老ed' not in s1)
        

s1 = '老男孩教育最好的讲师:太白'
'''
老 s1[0]
男 s1[1]
孩 s1[2]
教 s1[3]
育 ....

...
'''

# len : 获取可迭代对象的元素总个数
print(len(s1))
s1 = '老男孩教育最好的讲师:太白'
index = 0 
while index < len(s1):
    print(s1[index])
    index += 1
  • for 循环
    '''
    有限循环
    for 变量 in iterable:
    pass
    '''
    s1 = '老男孩教育最好的讲师:太白'
    for i in s1:
    print(i)

    s1 = '老男孩教育最好的讲师:太白'
    for i in s1:
        print(i)
        if i == '好':
            break
    

    break continue
    for else: while else:用法一样。

posted @ 2019-05-05 19:46  你站在冰箱上干嘛!  阅读(199)  评论(0编辑  收藏  举报