zoukankan      html  css  js  c++  java
  • Day 03 基础数据类型总览:int: bool: str: for 循环

    Day03 课程大纲

    一.今日内容大纲

    1. 基础数据类型总览

    2. int

    3. bool

    4. str

    • 索引,切片

    • 常用操作方法

    5. for 循环

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

    1. Pycharm 简单使用

      ctrl + d ,ctrl + ?continue :代表底部并返回判断条件

    2. while 循环

    1.结构

    2.pass

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

    ​1. % , s(str) ,d(digit),i(int)

    ​2.单纯表示百分号: %%

    1. 编码的初识:

      1. 编码: 密码本: 二进制与文字的对应关系
        • ASCII:最早的密码本:二进制 与 英文字符,数字,特殊字符的对应关系

          ​ 01100001 a

          ​ 01100010 b

        'abc':01100001 01100010 01100101:三个字节

        • GBK国标:
          • 英文字符,数字,特殊字符,完全沿用ASCII
          • 中文自己编写的,一个中文占2个字节

        'ab太白':6个字节

        • Unicode:万国码。兼容性高,与任何密码本都有映射关系

          01100001 01100001 01100001 01100001 a

          01100001 01100001 01100001 01100001 中

        • UTF-8:

          01100001 a 使用的ASCII

          01100001 01100001 欧洲 葡萄牙文等(2个字节)

          01100001 01100001 01100001 中文(3个字节)

        'ab太白':8个字节

    三.具体内容

    1. 基础数据类型总览:

      • 123 1234 3348 int 加减乘除
      • '今天吃了没' str 存储少量数据 加,乘数字(遍数) 切片,其他操作方法
      • True False bool 判断真假
      • [12,True,'alex',[1,2,3]] list 存储大量的数据
      • (12,True,'alex',[1,2,3]) tuple ** 存储大量**的数据 不可改变里面的变量
      • {'name':'太白金星'} dict 存储大量的关联型数据,查询速度非常快。
      • set 交集,并集差集
    2. int

      • 主要用于运算 加减乘除

      • 不同进制的转换,十进制,二进制

        • 二进制转换成十进制 (从后往前,2的0次方到2的7次方)

          0001 1010------->26
          b=0*2^0+1*2^1+0*2^3+1*2^4+1*2^5
          print(b)=26
          
        • 十进制转换成二进制(除以2的余数,逆序排列)

          42-------->0010 1010
          
      • i.bit_length():二进制的有效长度

        i = 4
        print(i.bit_lenfth())   #3
        
    3. bool : 非0即True,0是False

    4. str

      1. str ----> int

        s1 = 10   int(s1)#必须是数字
        i = 100   str(i)
        
      2. str- ----> bool

        s1 = ' '  #空格
        print(bool(s1))  #True
        
        s1 = ''  #空字符串
        print(bool(s1)) #False
        
        s = input('请输入内容')  #字符串可以转换成bool值,可以充当if条件
        if s:
            print('有内容')
        else:
            print('没有输入任何内容')
        
      3. str 取值
        s1 = 'Python全栈22期'
        #     01234567891011
        #对字符串进行索引,切片出来的数据都是字符串类型。
        #按照索引取值
        #从左至右有顺序,下标,索引,012345
        # s2 = s1[0]
        # print(s2,type(s2))
        # s4 = s1[-1]
        # print(s4)
        
        • 按照切片取值

          #按照切片取值
          #顾头不顾腚
          # s5 = s1[0:5]
          # print(s5)  #pytho
          
          # s5 = s1[0:6]
          # print(s5)  #python
          
          # s6 = s1[6:-1]
          # print(s6)  #全栈22
          # s6 = s1[6:]
          # print(s6)   #全栈22
          
        • 切片步长

          s7 = s1[:5:2]   #步长2
          print(s7)
          
        • 倒叙

          #倒序:
          s8 = s1[-1:-5]
          print(s8)   #不报错 但 取不出
          
          s8 = s1[-1:-6:-1]  #往左加1位,不是-5 是-6
          print(s8)
          #按索引:s1[index]
          #按照切片:s1[start_index;end_index+1]
          #按照切片步长:s1[start_index;end_index+1:2]
          #反向按照切片步长:s1[start_index;end_index后延一位:2]
          
        • 思考题:能否倒序全部取出???

        • 练习题:

          1.有字符串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"
          能否倒序全部取出???
          
      4. 字符串的常用操作方法
        1. upper lower:
        • s = 'taiBai中国'
          #字符串的常用操作方法
          #upper lower
          #s1与原字符串无关,不会对原字符串产生任何操作,都是产生一个新的字符串
          s1 = s.upper()
          print(s1)
          s1 = s.lower()
          print(s1,type(s1))
          

      • 应用

        username = input('用户名:')
        password = input('密码:')
        code = 'QWer'
        your_code = input('请输入验证码,不区分大小写')
        
        if your_code.upper() == code.upper():    #统一大小写
            if username == '353913575' and password == 'daaipengge123':
                print('登陆成功')
            else:
                print('用户名或密码错误')
        
        else:
            print('验证码错误')
        
      1. startswith endswith:

        s = 'taiBai'
        print(s.startswith('t')) ***
        print(s.startswith('taiBai'))***
        了解
        print(s.startswith('B',3,6))   # 3--6是否以B为开头
        
        replace
        msg = 'alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅'
        msg1 = msg.replace('alex','太白',2) # 从左至右替换2个alex
        print(msg)  #alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅
        print(msg1)  #太白 很nb,太白是老男孩教育的创始人之一,alex长得很帅
        
      2. strip: 空白:空格, (tab制表符) , (换行)

        s4 = '     
        太白	'
        print(s4)
        
        s5 = s4.strip()  # 去除换行符制表符
        print(s5)
        
        • 了解

          #可以去除指定的字符
          s4 = 'rre太rr白qsd'
          s5 = s4.strip('qsdre')   #不需要去除
          print(s5)   #太rr白
          

      3. split 非常重要********

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

        • 指定分隔符

        • str ------> list

          s6 = '太白 女神 吴超'
          l = s6.split()
          print(l)    #['太白', '女神', '吴超']
          
          s6 = '太白:女神:吴超'  #指定 ':' 为分隔符
          l = s6.split(':')
          print(l)    #['太白', '女神', '吴超']
          了解:
          s6 = ':barry:nvshen:吴超'
          print(s6.split(':'))    #['', 'barry', 'nvshen', '吴超'] 第一个 空字符串
          print(s6.split(':',2)) #['', 'barry', 'nvshen:吴超']   #按前两个分割
          

      4. join 非常好用(字符串类型)

        s1 = ['太白', '女神', '吴超']
        s2 = '+'.join(s1)    #iterable 可迭代字符,由多个元素组成
        print(s2,type(s2))    # 太白+女神+吴超 <class 'str'>
        
        s3 = ':'.join(s1)    # 太白:女神:吴超
        print(s3)
        
      5. count 计数

        s8 = 'djhasgdjasjhghfgklakajasdjfagh'
        print(s8.count('a'))
        
      6. format 格式化输出

        第一种方法:
        msg = '我叫{}今年{}性别{}'.format('大壮','25','男')  #  {}代表%,无空格
        print(msg)
        第二种方法:
        msg = '我叫{0}今年{1}性别{2}我依然叫{0}'.format('大壮','25','男')   #带索引
        print(msg)
        第三种方法:
        msg = '我叫{name}今年{age}性别{sex}'.format(name = '大壮',age = '25',sex = '男')  #不要求顺序
        
      7. is 系列

      name = 'taibai123'
      name1 = '100'
      print(name.isalnum())   #字符串由字母或数字组成
      print(name.isalpha())   # #字符串只由字母组成
      print(name.isdecimal())  # #字符串只由十进制数字组成
      
      s1 = input('请输入您的金额:')
      if s1.isdecimal():
          print(int(s1))
      else:
          print('输入有误')
      
    5. for 循环:

      1. in

        s1 = '老男孩edu'
        print('老'in s1)    #True
        print('老男' in s1)   #True
        print('老ed' in s1)   #False   整体
        print('老ed' not in s1)  #True
        
      2. len

        # len: 获取可迭代对象的元素总个数
        
        s1 = '老男孩教育最qweqwdasdasd好的讲师:太白'#12
        '''
        老 s1[0]
        男 s1[1]
        孩 s1[2]
        教 s1[3]
        育 s1[4]
        最 s1[5]
        .....
        '''
        #0~12
        print(len(s1))
        index = 0
        while index < len(s1):
            print(s1[index])
            index += 1
        
      3. for 循环

        '''
        有限循环
        for 变量 in iterable:  #iterable可以是字符串 可以是列表.....
            pass
        '''
        s1 = '老男孩教育最好的讲师:太白'
        # for i in s1:
        #     print(i)
        
        # 到'讲'为止
        for i in s1:
            print(i)
            if i == '讲':
                break
        
        # break continue
        # for else == while else
        
        • break continue
        • for else == while else(中断就不else)
  • 相关阅读:
    Android 关于ExpandableListView控件setOnChildClickListener无效问题
    Android SnapHelper
    Android java判断字符串包含某个字符段(或替换)
    Android中的CharSequence和String
    Java时间和时间戳的相互转换
    比较运算符和函数(四十一)
    数值运算符和函数(四十)
    字符函数(三十九)
    多表删除(三十八)
    无限级分类表设计(三十七)
  • 原文地址:https://www.cnblogs.com/Redbean1231/p/13227375.html
Copyright © 2011-2022 走看看