s21day02 python笔记

时间:2023-12-20 14:48:32

s21day02 python笔记

一、昨日内容回顾及补充

  1. 内容回顾
  2. 补充
    • if条件语句嵌套
      • 10086示例
    • pycharm更改解释器
      • python3.7解释器
      • python2.7解释器

二、循环语句

  1. 基本循环结构

    while True:

    ​ print('你想要循环的东西')

  2. while后面加条件

    while 1>0 and 1<2:

    ​ print('你好')

  3. 数字相加

    count = 1

    number = count + 1

    print(number)

  4. 使每次循环count都加1

    count = 1

    while True:

    ​ print(count)

    ​ count = count +1

  5. 重点示例:使用循环,打印1,2,3,4,5,6,8,9,10.

    方法一(使用两个while):

    count = 1

    while count <= 6:

    ​ print(count)

    ​ count = count + 1

    count = 8

    while count <= 10:

    ​ print(count)

    ​ count = count + 1

    方法二(使用if语句):

    count = 1

    while count <=10:

    ​ if count != 7:

    ​ print(count)

    ​ count = count + 1

  6. 关键词

    • pass:通过

    示例5的方法三(使用if加pass):

    count = 1

    while count <=10:

    ​ if count == 7:

    ​ pass #跳过,不打印

    ​ else:

    ​ print(count)

    ​ count = count + 1

    • break:终止(当前循环)

    while True:

    ​ print('666')

    ​ while True:

    ​ print('888')

    ​ break #终止第二个while循环

    ​ break #终止第一个while循环

    • continue:继续

    示例5的方法三(使用if加continue):

    count = 1

    while count <=10:

    ​ if count == 7:

    ​ count = count + 1

    ​ continue #不再继续往下走,而是回到while条件的位置

    ​ print(count)

    ​ count = count + 1

  7. while-else结构

    count = 1

    while count <=10:

    ​ print(count)

    ​ count = count + 1

    else: #不再满足while后的条件时,或者条件=False时,触发

    ​ print(666)

三、字符串格式化

  1. 存在意义(使代码更加简洁直观)

  2. 直接做占位符(常用:%s,%d)

    • 示例:template = "我是%s,年龄%d,职业%s."%("alex",22,"老师",)
    • 特别注意:最后的右括号前面必须有逗号(,)
  3. 字符串格式化时,要想打印%,必须写两个%,即%%

    name = 'alex'

    template = "%s现在的手机电量是100%%"%(name,)

  4. 占位符较多或者前面的变量赋值较复杂时,为了美观,可以再赋值一个变量来填充占位符

    msg = "我是%s,年龄%d,职业%s."

    date = msg%("alex",22,"老师",)

四、运算符

  1. 算数运算

    示例:打印1-100之间的奇数

    count = 1

    while count <= 100:

    ​ val = count % 2

    ​ if val == 1:

    ​ print(count)

    ​ count = count + 1

  2. 赋值运算

    count += 1等价于count = count + 1

  3. 逻辑运算(and,or,not)

    • 一般情况,用于判断(布尔类型)

    • 二般情况,用于取值

      • or value = x or y

        如果x转化为布尔类型为False,则value = y

        如果x转化为布尔类型为True,则value = x

        如果有多个or条件,则从左到右依次进行上述流程

      • and value = x and y

        如果x转化为布尔类型为False,则value = x

        如果x转化为布尔类型为True,则value = y

        如果有多个and条件,则从左到右依次进行上述流程

      • 同时有and和or条件,有括号的先算括号,没有就先算and再算or

      • 优先级:( ) > not > and > or

    • 数字转化为字符串(用str)

      v1 = 666

      v2 = str(v1)

      print(v2)

    • 字符串转化为数字(用int)

      v1 = "666"

      v2 = int(v1)

      print(v2)

    • 数字转化为布尔类型

      只有0转化后是False,其余的全是True

    • 字符串转化为布尔类型

      只有""转化后是False,其余的全是True

    • 布尔类型转化为其他(情况较少)

五、编码补充

  1. 编码扩充(ascii,unicode,utf-8,utf-16,gbk,gb2312)
    • 电脑上用unicode保存,其实是用的utf-16保存的
    • unicode包含ecs2和ecs4,现在通常是用ecs4
    • gbk是gb2312的升级版,里面已全包含中文
    • 表示中文
      • utf-8用3个字节表示
      • gbk用2个字节表示
      • gb2312用2个字节表示
  2. 单位转化
    • 常用单位:位(bit),字节(byte),KB,兆(MB),GB.TB等
    • 常见转化:
      • 8 bit = 1 byte
      • 1024 byte = 1 KB
      • 1024 KB = 1 MB
      • 1024 MB = 1 GB
      • 1024 GB = 1 TB