Python入门——与用户交互、运算符

程序与用户交互

  1. 什么是与用户交互?

    • 用户交互就是人往计算机中input/输入数据,计算机print/输出结果
  2. 为什么要与用户交互?

    • 为了让计算机能够与用户沟通交流
  3. 如何与用户交互?

    交互的本质就是输入输出

    • 输入(input)和输出(print)

      # 在python3:input会将用户输入的所有内容都存成字符串类型
      >>> age = input('age:')
      age:18
      >>> print(age,type(age))
      18 <class 'str'>
      >>>
      >>> print(int(age),type(int(age)))
      18 <class 'int'>
      >>>
      
      # 在python2:raw_input(),用法与python3的input一摸一样
      # input():要求用户必须输入明确的数据类型,输入的什么类型就存成什么类型
      >>> age = input('age:')
      age:18
      >>> print(age,type(age))
      (18, <type 'int'>)
      >>>
    • 输出之字符串的格式化输出

      • 什么是格式化输出

        • 把一段字符串中的某些内容用自己定义的内容替换掉之后再输出
      • 为什么要格式化输出

        • 由于经常用到要输出固定格式的内容,普通的输出已经无法满足需求所以需要格式化输出
      • 如何格式化输出

        • 运用占位符来实现格式化输出,如:%、str.format、f''

          # %s 可以接收任意类型的值
          # %d 只能接收int
          print("Life is short, I play %s,%d", %('python', 114514))
          
          # 以字典的形式传值,打破位置的限制
          res = "我的名字是 %(name)s 我的年龄是 %(age)s" % {"age": 18, "name": 'Umi'}
          print(res)
          
          # str.format python2.6后引入的(兼容性好,推荐使用)
          # 按照位置取值
          res = "我的名字是 {0} 我的年龄是 {1}".format('Umi', 18)
          print(res)
          
          # 按照key=value传值
          name = input('your name:')
          age = input('your age:')
          res = "我的名字是 {name} 我的年龄是 {age}".format(age=age, name=name)
          print(res)
          
          # f'' python3.5后推出
          name = input('your name:')
          age = input('your age:')
          res = f"我的名字是 {name} 我的年龄是 {age}"
          print(res)

基本运算符

  1. 算数运算符

    '''
    +、-、*、/(结果带小数)、//(地板除,只保留整数部分)、%(取余、取模)、**(次方)
    '''
    print(10 + 3.1)
    print(10 ** 3) # 十的三次方
  2. 比较运算符

    '''
    >、>=、<、<=、==、!=
    '''
    # 用于条件判断、返回值是True或者False
  3. 赋值运算符

    • 变量的赋值(=)

    • 增量赋值

      '''
      *=、/=、-=、%=、**=、//=
      '''
      age = 18
      # age = age + 1
      age += 1
      print(age)
    • 链式赋值

      '''
      x = 10
      y = x
      z = y
      '''
      z = y = x = 10 # 链式赋值
      print(x,y,z)
      print(id(x),id(y),id(z))
    • 交叉赋值

      m = 10
      n = 20
      print(m, n)
      '''
      temp = m
      m = n
      n = temp
      print(m, n)
      '''
      m, n = n, m # 交叉赋值
      print(m, n)
    • 解压赋值

      salaries=[11,22,33,44,55]
      # 把五个月的工资取出来分别赋值给不同的变量
      '''
      mon0=salaries[0]
      mon1=salaries[1]
      mon2=salaries[2]
      mon3=salaries[3]
      mon4=salaries[4]
      '''
      mon0, mon1, mon2, mon3, mon4 = salaries
      print(mon0, mon1, mon2, mon3, mon4)
      
      # *_ 指后续的值会被*存称一个列表赋值给_,
      # _ 通常指被废弃掉的变量,做一个占位符而已,约定熟成 
      # *_ 只能取两端的值,不能够取中间值,且*在解压赋值中只能出现一次
      mon0, mon1, *_ = salaries # 只取前两个值
      *_, mon0, mon1= salaries # 只取后两个值
      mon0, *_, mon1= salaries # 只取开头第一个值跟最后一个值
      print(mon0, mon1)
      
      # 解压字典默认解压出来的是字典的key
      x,y,z=dic={'name':'Umi','age':18,'sex':'male'}
      print(x,y,z)
  4. 逻辑运算符

    • 连续多个and
    • 连续多个or
    • 优先级not>and>or
    • 短路运算(了解)
  5. 成员运算符

    • in
  6. 身份运算符

    • is

猜你喜欢

转载自www.cnblogs.com/guanxiying/p/12419582.html