今日内容整合6.21

今日内容整合

运算符

  • 逻辑运算符
    • 逻辑运算符有 and 、 or、not。这三种运算符
    • 它们都是配合条件一起使用的。也可以理解为“与”、“或”、”非“。
  1. 首先and。它链接的多个条件必须都成立结果才为True,也可以称之为真。

    示例:

    print(10 == 10 and 5 > 10 and True and 4 < 2)
    # 输出结果:False
    

如果链接条件的符号都是and,那么判断就非常简单了如果有一个不成立那么就可以直接判断为False后面都不需要再看了。

  1. 其次是or。它链接的多个条件有一个成立结果就成立。

    示例:

    print(10 == 10 or 5 > 10 or True or 4 < 2)
    # 输出结果:True
    

    如果链接条件的符号都是or,那么判断也非常的简单看到有一个成立的就可以直接判断为True了如图所示我们看到第一个成立后面直接不用看了就是True。

  2. 然后是not。它是将条件取反,用于布尔值类型True、False。

    示例:not False(取反)就是True

    ​ not True(取反)就是False

  3. and、or、not三者是有优先级的,如果需要混合使用那么应该用小括号将其优先级区分出来。

    示例:

    print(3 < 5 and True or 7 > 10 and 4 != 4 or 3 > 3 )
    # 不合理方式
    print((3 < 5 and True) or ((7 > 10 and 4 != 4) or 3 > 3 )) #合理方式
    # 输出结果 True
    
  • 成员运算符

    • in “判断成员在不在群体之内。”

    • not in “判断成员不在群体之内。”

    • 示例1:

      str1 = 'beautiful'
      # 列如:判断某些字符有没有在字符串里面
      print('beautiful' in str1)  # True
      print('beau' in str1)  # True
      print('bea' in str1)  # True
      
      

      字符串在做成员运算的时候,最小单位是是单个字符,它还可以增加字符数量。

    • 示例2:

      list1 = ['beautiful', 'age', 'height', 'weight']
      # 列如:判断某个数据值有没有在列表里面
      print('beautiful' in list1)  # True
      print('beautiful''age' in list1)  # False
      print('bea' in list1)  # False
      

      列表在做成员运算的时候,最小运算的单位是数据值整体,不能拆分也不能合并,如上所看到的结果合并的数据值和拆分后的数据值都显示为False。

    • 示例3:

      dict1 = {'age': 18, 'height': 175, 'weight': 96}
      # 列如:判断某个数据有没有在字典里面
      print(18 in dict1)  # False  
      print('height' in dict1)  # True
      print('age' in dict1)  # True
      
      

      字典在做成员运算的时候,它是根据K来做运算的,K来参与成员运算,V默认不会暴漏在外界。

  • 身份运算符

    • is 它是判断数据值的内存地址是否一致。

    • == 它是判断数据值的内容是否一致。

    • id()小知识点,使用print(id())括号里输入名字打印可以反馈给你该名字的数据值的内存地址。

      age = 18
      print(id(age))  # 140735990925504
      
    • 示例1:

      list1 = [123,456,789]
      list2 = [123,456,789]
      print(id(list1))  # 2139670758720
      print(id(list2))  # 2139670757760
      print(list1 is list2)  # False 判断数据值的内存地址是否相等
      print(list1 == list2)  # True 只判断数据值是否相等
      

      可以总结为值相等的数据,内存地址不一定相等

      内存地址相等的数据,值一定相等。

    • python在针对数据量小并且常用的数据会做出些内存优化叫做小整数池。

      int1 = 15
      int2 = 15
      print(id(int1))  # 140735786125408
      print(id(int2))  # 140735786125408
      
    • 有些IDE工具也会在这些方面做出更多的优化处理,比如我现在使用pyCharm软件如下就是我使用pyCharm举例:

      int1 = 99999999
      int2 = 99999999
      print(id(int1))  # 1388842035920
      print(id(int2))  # 1388842035920
      

流程控制

流程控制之理论

流程控制的本质

它所表达的就是事物的执行流程,事物的执行流程分为三种。

  1. 顺序结构

    它是按照从上往下的顺序来逐步进行的,比如有三行代码需要执行,它是先从第一行开始执行,执行完后执行第二行依次类推按照顺序执行下去。

  2. 分支结构

    它是根据条件的不同来执行的。比如条件正确,执行条件正确的分支内容。条件不正确,执行不正确的分支内容

  3. 循环结构

    它是根据条件的判断绝对是否一直做某一件事。

流程控制的储备知识

  1. python中使用代码的缩进来表示代码的从属关系

    缩进的代码能否运行也取决于上面没有缩进的父代码

    使用的时候父代码的末尾需要有冒号来当结束标志

  2. 缩进量其实没有要求,只要缩进了即可,但是为了美观一般推荐缩进四个空格,可以使用Tab键快捷缩进在pyCharmzhongTab默认是四个空格。

  3. 并不是所有的代码都可以拥有子代码的或者说分支,能够拥有子代码的如下列举几个

    if、else、elif(其中elif、else不能单独使用需要配合if等其他能够拥有分支权限的关键字使用)

  4. 同属于一个父代码的多行子代码应该保证相同的缩进量,
    如果代码缩进了,那就必须往上找一个缩进量比它小的代码作为父代码
    这个父代码如果可以拥有子代码那么没有问题,不可以则会直接报错

  5. 相同缩进量的代码彼此之间没有主次之分都是按照顺序依次执行它们就等于是同级别的代码。

流程控制之分支结构
  • 在python中如果想要编写分支结构,那么需要使用到关键字 if

    1. 单if分支

      if 条件 :# if后面跟上条件跳到下方空四个输入子代码

      ​ 子代码: # 条件成立则会执行子代码

      示例:

      1#1.定义一个女人的年龄
      age = 28
      # 2.判断女人的年龄
      if age < 30:  # 判断女人的年龄是否小于30,如果成立则立即执行子代码。
          print('小姐姐你好呀!!!')  # 如果父代码判断成立,我就会立即执行。2#1.定义一个女人的年龄
      age = 28    
      # 2.判断女人的年龄
      if age < 30:  # 判断女人的年龄是否小于30,如果成立则立即执行子代码
          print('小姐姐你好呀!!!')  # 如果父代码判断成立,我就会立即执行。
          if True:  # if后面跟的是布尔值True,直接判断为成立会立即执行子代码。
              print('跟我学习吧!!!')  # 执行子代码,将其打印出来
      
    2. if判断之else分支

      if条件: #条件成立后执行它下方的子代码

      ​ 子代码

      else: #条件不成立时执行它的子代码

      if后面跟的判断的条件可以是一个,也可以是由逻辑运算符链接的多个

      示例:

      # 1.获取用户名和密码
      name = input('name>>>:')
      pwd = input('pwd>>>:')
      # 2.判断用户名和密码是否正确(目前只能写死)
      # if name == 'jason' and pwd == 123:  # python中不同数据类型之间无法直接做比较
      if name == 'jason' and pwd == '123':  # python中不同数据类型之间无法直接做比较
      	print('贵宾一位')
      else:
          print('没钱滚蛋')
      
    3. if...elif...else分支
      if 条件1:
      条件1成立执行的子代码
      elif 条件2:
      条件1不成立 条件2成立执行的子代码
      elif 条件3:
      条件1和2都不成立 条件3成立执行的子代码
      else:
      上述所有的条件都不成立执行的子代码

      if elif else三者连用 永远只会走一个分支

      elif 和 else都不能单独使用 必须结合if

      示例:

      info1 = ['jason', 'tom', 'jack', 'rain']
      name = input("please enter your user name:")
      
      if name == info1[0]:
          print("超级管理员,%s您好!" % name)
      elif name == info1[2]:
          print("业务主管,%s您好!" % name)
      elif name == info1[3]:
          print("业务主管,%s您好!" % name)
      elif name == info1[1]:
          print("普通管理员,%s您好!" % name)
      else:
          print("普通用户,%s你好!" % name)
      
    4. if的嵌套使用

      在大街上看到一个漂亮的背影 上去要微信

      如果要微信成功了 则邀请她去看电影(她可能拒绝 也可能接受)

      如果接受了则继续吃饭 逛街 等待天黑!!!

      1.先定义出各种条件

      ​ is_wechat = True
      ​ is_movie = True
      ​ is_agree = False
      ​ is_xxx = True

      示例:

        if is_wechat:
              print('要微信成功了')
              if is_movie:
                  print('要去看电影了 找个后排座位 视野好')
                  if is_agree and True:
                      print('吃饭 逛街 天黑了!!!')
                  else:
                      print('你个臭流氓!!!')
              else:
                  print('看电影多无聊!!!')
          else:
              print('你个癞蛤蟆!!!')
      

以下是if嵌套使用的结构流程图

posted @   瓮小辉  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示