• python 学习第四天


    基本运算符

    算术运算符

    从小学开始我们就使用算数运算符,常用的有+ - * / % ** //

    print(1+1)             # 2
    print(7-2)             # 5
    print(3*8)             # 24
    print(9/4)             # 2.25 得到一个浮点型
    print(11%3)            # 2
    print(7**2)            # 49
    print(19//6)           # 3
    

    下面给一张图给大家作参考

    比较运算符

    比较运算符就是做比较的,它的运算值返回类型为布尔类型

    ==,!=,<>,>,<,>=,<=

    pwd='1234'
    print(pwd!='1234')
    print(pwd=='1234')
    
    # 
    False
    True
    

    下面直接贴图啦!

    赋值运算符

    最常见的就是 =

    age=19
    age=age+1   # 相当于age+=1
    print(age)
    
    age=19
    age+=1  
    print(age)
    
    
    20
    20
    

    下面直接放图片啦

    逻辑运算符

    and 条件一起满足

    or 条件满足其一

    not 条件进行否定

    print(3>1 and 5<4)
    print(3>1 or 5<4)
    print(not 'gelinli 很丑')
    
    False
    True
    False
    

    # 从左到右的方式找到逻辑运算符,找到逻辑运算符的左边,左边成立,再去找逻辑运算符的右边

    print(3>7 and 6<9 or 10!=1)
    

    身份运算符

    身份运算符用于比较两个对象的存储单元,其实在内存空间地址的比较,是否相同

    下面给个图理解一下

    is和==的区别:is用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中),==用于判断引用变量的值是否相等。

    X=258
    Y=X
    Z=258
    print(f'X is Y :{X is Y}')
    print(f'X == Y :{X is Y}')
    print(f'X == Z :{X is Y}')
    
    X is Y :True
    X == Y :True
    X == Z :True
    

    python运算符优先级

    python运算符的优先级相当于数学中的先算乘除再算加减,想要优先算哪一个也可以用括号括起来。

    下面给一张图

    链式赋值

    a=10
    b=10
    c=10
    d=10
    print(f'a:{a},b:{b},c:{c},d:{d}')
    
    a:10,b:10,c:10,d:10
    
    a=b=c=d=10
    print(f'a:{a},b:{b},c:{c},d:{d}')
    
    a:10,b:10,c:10,d:10
    

    交叉赋值

    x=198
    y=78
    temp=x
    x=y
    y=temp
    print(f'x:{x},y:{y}')
    
    x:78,y:198
    
    x=198
    y=78
    x,y=y,x
    print(f'x:{x},y:{y}')
    
    x:78,y:198
    

    解压缩

    如果我们给出一个列表,我们需要一次性取出多个值,我们是不是可以用下面的方法实现呢?

    hobby_list=['read','run','basketball']
    x=hobby_list[0]
    y=hobby_list[1]
    z=hobby_list[2]
    print(f'x: {x},y: {y},z: {z}')
    
    x: read,y: run,z: basketball
    

    变量值的解压缩可以这样理解,超市打包是把多个商品放在一起,解压缩其实就是解包把多个产品一次性拿出来

    hobby_list=['read','run','basketball']
    x,y,z=hobby_list
    print(f'x: {x},y: {y},z: {z}')
    
    x: read,y: run,z: basketball
    

    有时候我们解压的值可能是我们不想要的,那么可以使用下滑线,万能的下划线

    hobby_list=['read','run','basketball','work']
    x,y,z,a=hobby_list
    print(f'x: {x},y: {y},z: {z}')
    

    现在我需要前面三个,后面一个我不想要

    hobby_list=['read','run','basketball','work']
    x,y,z,_=hobby_list
    print(f'x: {x},y: {y},z: {z}')
    

    现在我只想要x和z

    hobby_list=['read','run','basketball','work']
    x,_,z,_=hobby_list #_相当于告诉计算机不要了,变量名一般不能以_开头和结尾,也有以_开头的变量,这个后面会讲到
    print(f'x: {x},y: {_},z: {z}')  # 这里其实_是变量,最后输出的值是最后被赋的值work,开始是run
    
    x: read,y: work,z: basketball
    

    还有更省略的操作

    hobby_list=['read','run','basketball','work','writting','swimming']
    x,y,_,_,_,Z=hobby_list
    x,y,*_,z=hobby_list
    print(f'x: {x},y: {y},z: {z}')
    print(*_)
    
    x: read,y: run,z: swimming
    basketball work writting
    

    其实在下划线 _ 以及*_ 的使用,主要还是想完的把列表或者字典表达出来,而需要的用方便的变量表示,方便取出,也可以取出一大块区间的数据,按照相应的位置。

    写程序不是用来装逼的,关键是创造价值。python追求的是简洁性,代码不要写的太长了。因此字典也是可以的,但是字典的解压是key。

    info={'name':'gelinli','age':18}
    x,y=info
    print(x,y)
    
    name age
    
  • 相关阅读:
    又见Alice and Bob
    算法7-6:图的遍历——广度优先搜索
    算法7-5:图的遍历——深度优先搜索
    水池数目
    过河问题
    括号配对问题
    C# 客户端判断是否安装office03、07或WPS
    C# json
    开源cms
    可执行代码(Executable Code)目标代码(object code)
  • 原文地址:https://www.cnblogs.com/geyatou322/p/10901451.html
Copyright © 2020-2023  润新知