python笔记-基础2

Python基础2

  • while循环、格式化输出、运算符、编码
  1. while循环

    1.1 while循环语法格式:

    • 基本while循环格式:

      while 条件:

      ​ 循环体

    • while....else:

      while 条件:

      ​ 循环体

      else:

      ​ 代码

    1.2 while循环的原理:

    • 判断条件是否成立
    • 条件成立进入循环体,否则不执行循环
    • 循环体执行到底部
    • 再次判断条件是否成立

    1.3 终止while循环

    • 改变条件,终止循环

      flag = True
      while flag:
          print("下山")
          print("归寻")
          flag = False
          print("让酒")
          print("天下")
      结果:
      下山
      归寻
      让酒
      天下
      #注意while循环的原理,是执行到循环体底部之后再次判断条件
    • 使用break终止

      flag = True
      while flag:
          print("下山")
          print("归寻")
          break
          print("让酒")
          print("天下")
      结果:
      下山
      归寻
      #while循环体中遇到break是直接退出,不会继续执行break后的语句
    • 使用系统命令终止

    1.4 break和continue的区别

    count = 0
    while count < 3:
        count = count + 1
        if count == 1:
            break
        print("下山")
        print("归寻")
        print("让酒")
        print("天下")
    结果:
    
    count = 0
    while count < 3:
        count = count + 1 #条件一定要写到continue上面否则满足continue的条件之后,count不会继续累加,会报错。
        if count == 1:
            continue
        print("下山")
        print("归寻")
        print("让酒")
        print("天下")
    结果:
    下山
    归寻
    让酒
    天下
    下山
    归寻
    让酒
    天下
    #while循环中遇见break是直接终止循环,continue是跳出本次循环进入下一次循环
  2. 格式化输出

    %格式化输出时是占位符,s代表字符串类型,d代表整数

    name = input("请输入姓名:")
    age = input("请输入年龄:")
    job = input("请输入工作:")
    hobby = input("请输入爱好:")
    msg = '''
    ------------info of %s------------
    name:%s
    age:%s
    job:%s
    hobby:%s
    ---------------end----------------
    '''%(name,name,age,job,hobby)
    print(msg)
    
    结果:
    请输入姓名:alex
    请输入年龄:18
    请输入工作:teacher
    请输入爱好:reading
    
    ------------info of alex------------
    name:alex
    age:18
    job:teacher
    hobby:reading
    ---------------end----------------
    #就像一个通用的模板,输入数据就可以规范输出

    在格式化状态下百分号为:%%

    name = input("请输入姓名:")
    age = input("请输入年龄:")
    msg = '我的名字:%s,我的年龄:%s,我的学习进度:1%%'%(name,age)
    print(msg)
    
    结果:
    请输入姓名:alex
    请输入年龄:18
    我的名字:alex,我的年龄:18,我的学习进度:1%
  3. 运算符

    • 算数运算符:

      加:+ 减:- 乘:* 除:/ 取余:%取商:// 幂运算:**

      print(3+2)
      print(3-2)
      print(3*2)
      print(3/2)
      print(3%2)
      print(3**2)
      print(3//2)
      结果:
      5
      1
      6
      1.5
      1
      9
      1
    • 比较运算:==、!=、<>、>、<、<=、>=

      print(3==2)
      print(3!=2)
      print(3>2)
      print(3<2)
      print(3<=2)
      print(3>=2)
      结果:
      False
      True
      True
      False
      False
      True
    • 赋值运算:=、+=、-=、*=、/=、%=、**=、//=

    • 逻辑运算:and or not

      • 在没有()的情况下,优先级为:not>and>or,同一优先级从左到右依次计算

      • 在两边都是比较运算的情况下,print之后的值为True/False

        print(3 > 4 and 2 < 1 or 3 > 2 and 2 > 1)
        结果:
        True
      • 两边都是数字的情况下:

        x or y, x为真,则结果为x值,x为假,则结果为y值,and与or相反

        print(3 and 4 or 0 and 1)
        结果:
        4
      • 数字与比较运算混合存在

        print(1 > 2 and 3 or 4)
        结果:
        4
        #首先1 > 2 结果为 false,bool值转化为数字,false应该为0
        #这里就变为0 and 3 or 4,0为假,0 and 3 取值为 0 
        # 0 or 4,0为假,应该取 y值,y值为4
  4. 编码

    • 编码就是二进制与文字的对应关系表

    • 编码的进化史:

      • 第一个二进制与文字的对照表为ASCII:只包含英文字母、数字、特殊字符,每个字符占7bit,所以ASCII的二进制最左边一位都为0

      • GBK:包含了中文、英文、数字、特殊字符、英文字符每个占1byte,中文每个占2bytes

      • Unicode:万国码,包含了世界上所有文字,每个字符占4bytes

      • Utf-8:万国码的压缩版本,最少用1byte,英文字符为1byte,中文用3bytes

        '你好22ha'
        以GBK编码:8bytes
        以utf-8编码:10bytes
    • 存储单位的换算:

      8bit = 1Byte
      1024Bytes = 1KB
      1024KB = 1MB
      1024MB = 1GB
      1024GB = ITB

猜你喜欢

转载自www.cnblogs.com/vvbear/p/12426591.html