9/26内容概要

115 阅读5分钟

基本数据类型布尔值bool

* 用来判断事物的对错,是否可行,主要用于流程控制中
* 只有两种状态:
   True  对的  真的  可行的 
   False 错的  假的  不可行的
* python中所有的数据都有自带的布尔值
   布尔值为False的数据有:0 None ‘’ {} []
   布尔值为True的数据有: 除了上述的都是True
* 存储布尔值的变量名一般推荐使用is开头
    is_delete = False
    is_alive = True

基本数据类型元组tuple

  • 元组也被称为不可变的列表 元组内索引绑定的内存地址不能修改
  • 小括号括起来 内部存放多个数据值 数据值与数据值之间逗号隔开 数据值可以是任何数据类型
  • 代码实现 t1 = (11,22,‘jason’)
  • 元组与列表对比

image.png

image.png

  • 元组内如果只有一个数据值

image.png

在以后使用可以存放多个数据值的数据类型时 如果里面只有一个数据值 那么建议加上逗号

基本数据类型 之集合set

  • 集合只能用于去重和关系运算
  • 集合内数据只能是不可变类型
  • 大括号括起来 内部可以存放多个数据值 数据值与数据值之间逗号隔开 数据值不是K:V键值对
  • 代码实现:s1={1, 2, 3, 4, 5, 6}
  • 定义空集合与字典 {} 默认是字典 set 定义空集合需要加上关键字

与用户交互

获取用户输入 input

获取用户输入  username=input('请输入您的用户名>>>:')
1 先执行赋值符号的右边input 获取用户输入
2 将输入的数据绑给变量名username
3以后的程序中可以使用变量名反复调用用户数据
  • input获取到的数据都会统一处理成字符串类型

输出内部信息 print

  • 括号内可以放数据值也可以放变量名 并且支持多个 逗号隔开就可以
  • print自带换行符 常见的换行符有 \r\n \n(斜杠与字母组合到一起可能产生特殊的含义)
  • print也可以切换结束符 print(数据,end=‘默认是\n’)

格式化输出

  • 提前定义好一些内容 将未来需要使用的时候可以局部修改 比如奖状 录取通知书 合同
  • 代码实现: 在现实生活中大部分情况下使用下划线提示别人填写内容 但是在程序中需要使用占位符:%s %d

单个占位符

image.png

多个占位符

image.png

有几个占位符就需要几个数据值

image.png

不同占位符的区别

image.png

image.png

image.png

基本运算符

  • 数学运算符
      • / % // **

简化写法

 n=10
 
 n+= 1  n=n+1
 
 n-=1   n=n-1
 
 n*=1   n=n*1
 
 n /= 1   n = n / 1
 
 n %= 1   n = n % 1
 
 n //= 1   n = n // 1
 
 n **= 1   n = n ** 1
 
  • 比较运算符 <> <= >= ==(等于号) !=(不等于)

常用赋值符

 * 链式赋值
 name='jason'
 name1=name
 name2=name
 name=name1=name2='jason'
 * 交叉赋值
 m=100  n=999
 让m和n互相转换绑定的值
 m=n  n=m  print(m,n) 999 999
 1:temp=m   m=n n=temp  print(m,n) 900 100
 2:m,n=n,m  print(m,n)  900 100
   * 解压赋值
   name_list=['jason','kevin','tony','oscar']  
   name1 = name_list[0]
   name2 = name_list[1]
   name3 = name_list[2]
   name4 = name_list[3]
   解压赋值语法:name1, name2, name3, name4 = name_list
   解压赋值在使用的时候 正常情况下需要保证左边的变量名与右边的数据值个数一致
   a, b = name_list  # 变量名少了不行
   a, b, c, d, e = name_list  # 变量名多了也不行
    当需要解压的数据个数特别多 并且我们只需要使用其中的几个 那么可以打破上述的规则
    # a, *b = name_list  # * 会自动接收多余的数据 组织成列表赋值给后面的变量名
     print(a)  # jason
     print(b)  # ['kevin', 'tony', 'oscar']
     a, c, *b = name_list
     print(a)
     print(c)
     print(b)  # ['tony', 'oscar']
     a, *b, c = name_list
     print(a)  # jason
     print(b)  # ['kevin', 'tony']
     print(c)  # oscar
    当数据值不准备使用的时候 可以使用下划线作为变量名绑定
    a, *_, c = name_list
    

逻辑运算符

主要配合条件一起使用
andand连接的多个条件必须全部成立 结果才成立
    你去相亲提要求:身高必须是160以上、长相必须好看、家里必须有钱、性格必须温柔  身高 and 长相 and 有钱 and 温柔
        1 > 2 and 4 < 8 and 10 < 1 and 1 == 2  如果条件中全部由and组成那么判断起来非常的简单 只要发现一个不成立 结果就不成立      
    print(1 < 10 and 666)  # 666  成立
    print(1 < 10 and 2 < 8)  # True  成立
    print(111 and 222)  # 222  成立
    如果需要你准确的说出具体的结果值  那么需要按照下列方式
    如果and左边的条件是成立的 那么就完全取决于右边的条件
    右边如果直接是数据值 那么结果就是该数据值 如果是含有表达式 则为布尔值

oror连接的多个条件只要有一个成立 结果就成立
    你去相亲提要求:要么家里有钱 或者家里有势 或者长得完美 或者对你死心塌地     有钱 or 有势 or 好看 or 专一
   1 > 2 or 4 < 8 or 10 < 1 or 1 == 2   如果条件中全部由or组成那么判断起来非常的简单 只要发现一个成立 结果就成立   
 print(1 < 10 or 666)  # True
 print(666 or 1 > 10)  # 666
 print(0 or False)  # False
 print(0 or 111)  # 111
 规律用and

not  非取反类似于说反话

三者混合使用的时候有优先级之分 但是我们不需要记忆优先级 应该通过代码的形式提前规定好优先级

先乘除有加减  但是可以使用括号来改变优先级
(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)

成员运算符

  • 判断个体在不在群体内

image.png

image.png

image.png

身份运算符

id() 返回一串数字  该数字可以看成是内存地址
is  判断内存地址是相同
==   判断数据值是否相同

image.png

  • 小整数池

image.png

image.png 不同环境下可能优化程度不一样

 获取用户输入并打印成下列格式
         ------------ info of Jason -----------
    Name : Jason
    Age  : 18
    Sex  : male
    Job  : Teacher 
    ---------------- end -----------------

image.png

准备说出下列变量名v绑定的结果
    v1 = 1 or 3             3
    v2 = 1 and 3            3
    v3 = 0 and 2 and 1      0
    v4 = 0 and 2 or 1       1
    v5 = 0 and 2 or 1 or 4  1
    v6 = 0 or False and 1   False