用户交互与运算符

用户交互

什么是用户交互?

用户向计算机输入数据,计算机反馈给用户输出结果就是交互

为什么要交互?

让计算机能够和人一样与用户相互沟通交流

如何与用户交互?

获取用户输入

  1. username = input('请输入用户名:')

输出内部数据

  1. print(username)

补充:print括号内支持多个数据打印,需要用逗号隔开

格式化输出

什么是格式化输出?

字符串中只修改特定的区域,替换掉再输出

为什么要格式化输出?

因为计算机表示的数据不一定适合人来阅读,需要我们把数据去显示成我们需要的格式

如何格式化输出?

通过占位符%s%d把参数格式化成指定的数据

  1. a = '你好%s!你%s的话费是%s,余额是%s'
  2. print(a % ('kevin', 3, 100, 10))
  3. # 你好kevin!你3的话费是100,余额是10

补充:%s可以示任意数据占位,%d只能是数字占位

  1. print('%08d' % 123) # 000000123
  2. # 08代表满足8位不够0补
  3. print('%08d' % 123456789) # 123456789
  4. # 就算数字占位超出规定的,也正常输出数字

基本运算符

算术运算符

*、除/、 整除//、 取余% 、 等于==,和数学计算的符号基本相同

比较运算符

比较运算是对两个值进行比较,返回布尔值TrueFalse

赋值运算符

增量赋值

  1. x += 100 # x = x + 100
  2. x -= 100 # x = x - 100
  3. x *= 100 # x = x * 100
  4. x /= 100 # x = x / 100

链式赋值

  1. x = 100
  2. y = x
  3. z = x
  4. # 简化
  5. x = y = z = 100

交叉赋值

  1. x = 10
  2. y = 4
  3. # 让x指向y指向的值 让x指向y指向的值
  4. x, y = y ,x
  5. print(x, y) # 4 10

解压赋值(重要)

  1. name_list = ['kevin', 'tony', 'jerry']
  2. name1, name2, name3 = name_list
  3. print(name1, name2, name3)
  4. # kevin tony jerry

⚠️注意:等号左边的变量名个数必须与右面变量值的个数相同,否则会报错。

但是如果只想取其中几个数据,可以用*_

  1. x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
  2. a, b, *_ = x
  3. print(a, b, *_)
  4. # 1 2 3 4 5 6 7 8 9
  5. a, *_, b = x
  6. print(a, *_, b)
  7. # 1 2 3 4 5 6 7 8 9
  8. print(a, b)
  9. # 1 9
  10. print(a, _, b)
  11. # 1 [2, 3, 4, 5, 6, 7, 8] 9

⚠️补充:单独的下划线作为变量名使用,意思是为了符合语法 但是指向的值用不到的情况

逻辑运算符

and 与

and连接多个条件,且必须都满足结果返回True否则False

  1. print(2 > 1 and 1 != 1 and True and 3 > 2)
  2. #False

or 或

or连接多个条件,只要有一个条件满足结果返回True否则False

  1. print(2 > 1 or 1 != 1 or True or 3 > 2)
  2. # True

not 非

将条件翻转,True变为FalseFalse变为True

补充:三者混合使用的时候是有优先级的 但是我们不需要记
应该人为的在编写初期就强制规定好顺序

成员运算符

判断数据是否存在某个(in 或者not in

  1. name_list = ['kevin', 'tony', 'jerry']
  2. print('kevin' in name_list)
  3. # True
  4. print('jason' not in name_list)
  5. # True

身份运算符

用于比较两个对象的存储地址是否一致 (is 或者not is

  1. x = 10
  2. y = 10
  3. print(x == y)
  4. print(x is y)
  5. print(id(x), id(y))
  6. # True
  7. # True
  8. # 4452014416 4452014416
  9. x = [1, 2, 3, 4, 5]
  10. y = [1, 2, 3, 4, 5]
  11. print(x == y)
  12. print(x is y)
  13. print(id(x), id(y))
  14. # True
  15. # False
  16. # 140382814748744 140382814732168

补充:

  1. is== 区别在于is 用于判断两个变量引用对象是否为同一个(同一块内存空间),== 用于判断引用变量的值是否相等。
  2. id()函数是用来获取对象内存地址
  3. 在python中有一个内存优化机制,如果数据内存很小,处于节省内存的考虑,就会将变量都指向同一内存地址,从而达到节省内存的目的