常见的运算符初步认知

与用户交互

就是与用户交流,获取用户信息,给用户反馈我们的信息
1.获取用户输入
 input  # 表示获取用户输入
 input'请输出您的用户名<<<:')
  user_name = input('请输出您的用户名>>>:')
---逻辑:先执行input('请输出您的用户名>>>:') 获取用户名
      再讲获取的用户名绑定user_name这个变量
      以后就可以在程序中使用这个变量名反复查到这个用户名
  ps:input获取的数据会统一处理成字符串类型
2.输出内部信息
   print
   1.括号内既可以放数据值也可以放变量名,并且支持多个,只需要用逗号隔开就可以了
   2.print自带换行符
      换行符:\r\n \n   (撬棍与字母组合到一起可以产生特殊的含义)
   3.print也可以切换结束换行符
     print(数据,end='默认是\n')
拓展知识:python2与python3中两个关键字的区别
    在python2中,input需要用户指定数据类型,写什么类型就是什么类型
    在python3中,input会统一处理为字符串
    python中,input有两种写法:
        input(数据值)
        input数据值

格式化输出

提前定义好一些内容,以后在需要使用的时候在局部修改就可以使用啦
 比如;奖状、证书、合同等等、
 在日常使用中,我们通常使用下划线来提醒别人在此处填写内容
 在编程中,我们也使用特定的占位符:%s %d来提醒此处可以修改填写内容
代码展示:单个占位符
    l1 = '%s同学你好'
    print(l1 % 'lizhi')  # 将lizhi填写在占位上
    print('%s同学你好' % 'tony')
    print(l1 % ('liuna'))
    print('%s同学你好' % ('huge',))
   多个占位符:
   l1 = '年龄:%s 爱好:%s 性别:%s'
   print(l1 %(18, '妹子', '男的'))
      注意:有几个占位符就要几个对应的数据值
 不同占位符的区别:
    l1 = '%s您好,您本月的话费是%s,余额%s'
    print(l1 %('lizhi', 50, 500))    %s可以表示所有的数据类型
-----------------------
    l1 = '%d您好,您本月的话费是%d,余额是%d'
    print(l1 % ('lizhi', 500, 5000))   # 报错,%d只可以表示数据类型
特殊情况:
    print('%08d'%123)  #表示一共有8个数字,不够的用0来填充,够的话就无视
    # 00000123
    print('%012d'%123456789123456)  # 123456789123456

基本运算符

1.数学运算符
+ - * / %  //(取整数))   %%(取余数)
简化写法:
    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
2.比较运算:
  < >  <=   >=  ==(计算机中的等于号)  !=(计算机中的不等于))

常用的赋值符

1.链式赋值
代码展示:
     name = 'jason'
     name1 = name
     name2 = name1
采用链式赋值:name = name1 =name2 = 'jason'
2.交叉赋值
代码展示:
 让50500互换
      n = 50
      m = 500
    采用中间变量,
      # # l1 = n
      # n = m
      # m = l1
      # print(n, m)  可以得到两个值互换
    采用交叉赋值:
     n, m = m, n
     print(n, m)    可以得到两个值互换
3.解压赋值,就是从一堆数据里面拿出来数据然后赋值
代码展示:
    l1 = ['lizhi', 18, 25.3, 'yello']
    # 比较笨的写法
    # name = l1[0]
    # name1 = l1[1]
    # name2 = l1[2]
    # name3 = l1[3]
    # print(name, name1, name2, name3)
解压赋值:
    name, name1, name2, name3 = l1
    print(name, name1, name2, name3)  更简单方便
    ps:使用解压赋值的时候,需要保证左边的变量名与右边的数据值的数量一致
特例:当需要解压的数据个数特别多的时候,但是我们只使用其中几个,可以打破上面的规则
代码展示:
     l1 = ['lizhi', 18, 25.3, 'yello']
     name, *name1 = l1
     print(name)  # lizhi
     print(*name1)  # 18 25.3 yello
--当数据不准备使用的时候,可以用下划线来表示变量名
代码展示:
    name, *_, name2 = l1

逻辑运算符

主要配合条件一起使用
and   意思是  与
    and连接多个条件必须全部符合才成立
or   意思是   或者
     or连接多个条件符合一条即可
在使用and的过程中,如果发现一条不成立,那么结果就不成立
and代码展示:
    l1 = (1>2 and 3<4 and 10>7) 
    print(l1)  # False    不成立
----------
    l1 = (1<2 and 3<4 and 10>7 and 666)
    # print(l1)  # 666
    # l1 = (1<2 and 3<4 and 10>7 )
    # print(l1)  # True
如果需要展示准确结果,那要按照下面的方式:
     如果and左边的条件是成立的,那最终的结果是取决于and右边的条件,如果右边是数据值,那结果是数据值,如果不是则为布尔值
or代码展示:
    l1 = (1>2 or 3<4 or 10>7)
    print(l1)  # FTrue    成立
    l1 = (1>2 or 3>4 or 666 or 10>7)
    print(l1)  # 666and的条件是一样的,如果or左边的条件成立,那不用再去管右边的条件,如果左边的不成立,再去看右边的条件,依次类推
 ----------
  not    取反,类似于女孩子说反话
 注意:三者混合使用的时候有优先级之分,但是我们不需要记忆优先级,应该通过代码的形式提前规定好优先级

成员运算符

用于判断个体在不在群体  用 in 来进行判断
代码展示:
   l1= ['lizhi', 18,'yelld']
   print('zhanghong' in l1)  # Fales   
-----------------
   l1= ['lizhi', 18,'yelld']
   print('lizhi' in l1)     # True
针对列表:
    l1= ['lizhi', 18,'yelld']
    print('l' in l1)  # False
    列表的最小单位是数据值,不能够再进行细分
针对字符串:
    l1 = 'lizhi'
    print('h' in l1)  # True   
针对字典:
   # l1 = {'name':'lizhi',
   #       'ega':18,
   #       'hpbby':'yellow'}
   # print('lizhi' in l1)    # False
   l1 = {'name':'lizhi',
      'ega':18,
      'hpbby':'yellow'}
   print('name' in l1)   # True
  字典成员运算只有键参与   

身份运算符

id()返回一串数字,该数字可以看成是内存地址
-------
is       判断内存地址是否相同
==       判断数据值是否相同
代码展示 :
   l1 = [11, 12, 13, 15 ,88, 99]
   l2 = [11, 12, 13, 15 ,88, 99]
   print(l1 is l2)    # False  表示这两者内存地址不同
----------------   
   l1 = [11, 12, 13, 15 ,88, 99]
   l2 = [11, 12, 13, 15 ,88, 99]
   print(l1 == l2)   # True  标志着两者数据值是相同的
-----------
  小整数池,节省内存把数据值相同的小整数存在同一个内存地址上面
   l1 = 11
   l2 = 11 
   print(l1 is l2)  # True
记住:
   数据值相同,内存地址可能不同
   内存地址相同,数据值必然是相同的

作业1

l1 = (input('Name'))
l2 = (input('Age'))
l3 = (input('Sex'))
l4 = (input('Job'))
print('------------ info of %s  -----------\n'% l1,
'Name:%s \n' % l1 ,
'Age:%s\n' % l2,
'Sex:%s\n' % l3,
'Job:%s\n' % l4,
'---------------- end -----------------')

作业2

v1 = 1 or 3              # 绑定1
v2 = 1 and 3             # 绑定3
v3 = 0 and 2 and 1       # 绑定1
v4 = 0 and 2 or 1        # 绑定1
v5 = 0 and 2 or 1 or 4   # 绑定1
v6 = 0 or False and 1    # Fales
posted @   雪语  阅读(171)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示