Welcome!!!

F

伞兵一号,申请出战

python用户交互和运算符

python用户交互和运算符

python数据类型补充

之前介绍了python的基本数据类型,还有两个不常用的数据类型,集合和元组。

集合(set)

什么是集合?
	#集合和字典非常像,是用大括号括起来,内部存放多个元素,元素之间用逗号隔开,但内部元素不是K:V键值对。
定义:
	s = {1,2,3,4}
    '''该数据类型功能很单一,后续使用频率很少,多用于去重,关系运算当中'''
    '''如果大括号中的数据为空,则默认为字典'''

元组(tuple)

什么是元组?
	#元组和列表非常像,使用小括号括起来 内存可以存放多个元素 元素与元素之间逗号隔开 元素可以是任意数据类型
定义:
	t = (1,1.2,'伞兵一号',[1,2,3])
    '''跟列表几乎一致 只不过使用的是小括号
       元组一般存储一些只能看不能改的数据'''
    元组又叫不可变的列表
使用:元组可以和列表一样,使用索引取值法,但元组的值不可以修改
eg:
    l1 = [11, 22, 33]
    t1 = (11, 22, 22)
    print(l1[1], t1[1])  # 索引取值
    l1[1] = 996
    print(l1)
    t1[2] = 117  # 不能修改
    print(t1)  # 报错

与用户交互

1. 获取用户输入数据
	#input()
    eg:
        username = input('请输入您的用户名:')
        #提示用户输入用户名,将获取的用户名赋值给username
    '''input()会将用户输入的内容全部转化成字符串形式'''
2. 输出内部数据
	#print()
    eg:
        print(username)
        #将username的值输出到控制台,可以一次性输出多个数据,中间用逗号隔开
    

格式化输出

格式化输出主要用在批量化操作上面,例如每个月通信公司给我们发的账单短信,模板大同小异,主要是里面的一些数据不同,且这个短信的量非常大,单独编辑每条短信工作量太大,根本无法实现,这时就可以用到格式化输出。
#格式化输出的本质就是在编辑模板时,用占位符%s或%d先占住需要修改数据的地方,再输出时将不同的数据填充进去即可。
eg:
    # s = '亲爱的%s你好!你%s月的话费是%s,余额是%s'
    # print(s % ('伞兵一号', 2, 100, 99999999))
    # print(s % ('伞兵二号', 2, 800, -99))
    # print(s % ('伞兵三号', 2, 88, 10))
"""占位符:%s %d"""
%s可以给任意数据占位
%d只能给数字占位
		print('%08d' % 111)  # 00000111
    	print('%08d' % 2)  # 00000002
		%08d--->不满八位数的在前方补零

运算符

  1. 数学运算符

    加(+) 减(-) 乘(*) 除(/) 整除(//) 取余(%)
    
    1. 增量赋值

      x += 1   # 等价于x = x + 1,我们写代码时要追求简洁,这样写更长,故而使用x += 1这种方式。同理:
      x -= 1   
      x *= 1
      x /= 1
      
    2. 链式赋值

      x = 1
      y = x
      z = x
      等价于
      x = y = z = 1  # 最简洁
      
    3. 交叉赋值

      x = 1
      y = 2
      怎么使x,y的值交换?
      方式一:
          tmp = x
          x = y
          y = tmp  # 偏繁琐
      方式二:
      	x,y = y,x  # python提供的最简洁方式
      

    4. 解压赋值

      name_list = ['伞兵一号', '伞兵二号', '伞兵三号', '伞兵四号']
      #name1 = name_list[1]
      #name2 = name_list[2]
      #name3 = name_list[3]
      #name4 = name_list[4]
      #上述操作需要写四遍代码,费时费力
      name1,name2,name3,name4 = name_list #一步搞定,省时省力
      print(name1, name2, name3, name4)
      '''注意:左边的变量名要和右边列表里的变量数量相等'''
      数量不相等时怎么办?
      name1,name2,*_ = name_list
      name1,*_,name2 = name_list
      print(name1, name2, _)
      print(name1, _, name2)
      #使用*_来接收剩余的值
      '''约定俗成:单独的下划线作为变量名 意思是为了符合语法 但是指向的值用不到的情况'''
      

  2. 逻辑运算符

    与(and)
    	连接多个条件必须都满足 结果才是True
        eg:
            2 > 1 and 1 != 1 and True and 3 > 2  # False
    或(or)
    	连接多个条件只要有一个满足 结果就是True
        eg:
            2 > 1 or 1 != 1 or True or 3 > 2  # Ture
    非(not)
    	连接多个条件必须都不满足 结果才是True
        
    """
    三者混合使用的时候是有优先级的 但是我们不需要记
    应该人为的在编写初期就强制规定好顺序
    (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)  # False
    """
    
  3. 成员运算,身份运算符

    # 成员运算
    	判断个体在不在某个群体内
        name_list = ['伞兵一号', '伞兵二号', '伞兵三号', '伞兵四号']
        print('伞兵一号' in name_list)  # True
        print('伞兵一号' not in name_list)  # False
      
    # 身份运算
    	is:判断两个数据的内存地址是否一致 
        ==:判断两个数据的值是否一致
    

posted @ 2022-03-04 16:39  程序猿伞兵一号  阅读(71)  评论(0)    收藏  举报