python初级4(交互,运算符,短路运算,运算符的优先级,链式赋值,交叉赋值,解压赋值)

交互

input(提示信息) 输入

    i = input("输入一个字母:")
    print(i)   输入一个字母:
    a = input("请输入一个整数:")
    b = input("请再输入一个整数:")
    print(a+b)   请输入一个整数:4
                 请再输入一个整数:5
                 45
    a = int(input("请输入一个整数:"))
    b = int(input("请再输入一个整数:"))
    print(a+b)     请输入一个整数:4
                 请再输入一个整数:5
                 9

print() 输出 end参数在打印结果末尾加上字符,默认是换行符

    print("ABC")  ABC
    print("ABC","DEF")  ABC DEF
    ------------------
    print("ABC")  ABC
    print("DEF")  DEF
    ------------------
    print("ABC",end="======")  ABC=====DEF
    ------------------
    name = "Tom"
    age = 18
    print("我的名字是:",name,"我已经",age,"岁了")   我的名字是: Tom 我已经 18 岁了
    >字符串的格式化
    >第一种  %s字符串占位符  %d整型占位符  %f浮点数占位符
    >name = "Tom"
    age = 18
    >print("我的名字是:%s 我已经%d岁了"%(name,age))   我的名字是:Tom 我已经18岁了
    >如果age = [18,1,20]
    >print("我的名字是:%s 我已经%d岁了"%(name,age))   我的名字是:Tom 我已经[18,1,20]岁了
    >第二种  str.format()
    >print("我的名字是:{} 我已经{}岁了".format(name,age))  我的名字是:Tom 我已经18岁了
    >又可以print("我的名字是:{1} 我已经{0}岁了".format(age,name))  我的名字是:Tom 我已经18岁了
    >类似的print("我的名字是:{1}{1} 我已经{0}岁了".format(age,name))  我的名字是:TomTom 我已经18岁了
    >类似的print("我的名字是:{b} 我已经{a}岁了".format(a=age,n=name))  我的名字是:Tom 我已经18岁了
    >第三种(最常用) f""
    >print(f"我的名字是:{name} 我已经{age}岁了")  我的名字是:Tom 我已经18岁了
    >类似有print(f"我的名字是:{name} 我已经{age+2}岁了")  我的名字是:Tom 我已经20岁了

运算符

算术运算符

    加法 + 1+2=3
    减法 - 3-2=1
    乘法 * 2*3=6
    除法 / 6/3=2.0
    整除 // 3//2=1 -2//3=-1  向小取整,哪里小就像哪里取整
    求余(求模)%  3%2=1  3%1=0  10%3=1
    幂运算 **  2**3=8  4**(1/2)=2

赋值运算符

     +=    a+=b  等效于  a=a+b
     =	简单的赋值运算符	c = a + b 将 a + b 的运算结果赋值为 c

     +=	加法赋值运算符	c += a 等效于 c = c + a

     -=	减法赋值运算符	c -= a 等效于 c = c - a

     *=	乘法赋值运算符	c *= a 等效于 c = c * a

     /=	除法赋值运算符	c /= a 等效于 c = c / a

     %=	取模赋值运算符	c %= a 等效于 c = c % a

     **=	幂赋值运算符	c **= a 等效于 c = c ** a

     //=	取整除赋值运算符	c //= a 等效于 c = c // a

比较运算符

    大于 >   如果前面的值大于后面的值 则返回True,否则返回False
    print("A">"B")  False
    小于 <   如果前面的值小于后面的值 则返回True,否则返回False
    print(5<10)  True
    等于 ==  如果前面的值等于后面的值 则返回True,否则返回False
    大于等于 >=  如果前面的值大于等于后面的值 则返回True,否则返回False
    小于等于  <=  如果前面的值小于等于后面的值 则返回True,否则返回False
    不等于  !=   如果两边的值不相等 则返回True,否则返回False

逻辑运算符

    and  逻辑与运算   a and b  当两个表达式都是真的时候,结果才为真,否则就是假
    or   逻辑或运算   a or b   当两个表达式都是假的时候,结果才为假,否则就是真
    not  逻辑非运算   not a    如果a为真,结果就是假。如果a为假,结果就是真。

身份运算符

    is 比较两边地址是否相等  x is y 等效于x地址==y地址
    a = {1,2,3}
    b = {1,2,3}
    print(a is b)  False
    ------------------
    is not   比较两边地址是否相等  x is not y 等效于x地址!=y地址

成员运算符

    in   如果指定的序列中存在该值返回True,否则返回False
    s = "123456"
    print("7" in s)   False
    se = {1,2,3,4,5,6}
    print(1 in se)   True
    -------------------
    not in   如果指定的序列中不存在该值返回True,否则返回False

布尔运算

>只要不是 0 ,0.0 ,空数据None  就是True
>print(100 and 50)      50

短路运算

    与运算:只有两个布尔值都为 True 时,计算结果才为 True。
     True1 and True2   ==> True2
     True1 and False2    ==> False2
     False1 and True2   ==> False1
     False1 and False2   ==> False1
    或运算:只要有一个布尔值为 True,计算结果就是 True。
     True1 or True2   ==> True1
     True1 or False2   ==> True1
     False1 or True2   ==> True2
     False1 or False2   ==> False2
  在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。

  在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。

  所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果

运算符的优先级

           1~19优先级   左,右,无(同等级运算顺序) 
    小括号	( )	19	无	
    索引运算符	x[i] 或 x[i1: i2 :i3]	18	左
    属性访问	x.attribute	17	左
    乘方	**	16	右
    按位取反	~	15	右
    符号运算符	+(正号)、-(负号)	14	右
    乘除	*///%	13	左
    加减	+-	12	左
    位移	>><<	11	左
    按位与	&	10	右
    按位异或	^	9	左
    按位或	|	8	左
    比较运算符	==!=>>=<<= 	7is 运算符	isis not	6in 运算符	innot in	5	左
    逻辑非	not	4	右
    逻辑与	and	3	左
    逻辑或	or	2	左
    逗号运算符	exp1, exp2	1

链式赋值,交叉赋值,解压赋值

链式赋值

a = b = 0

交叉赋值

    a = 1
    b = 2
    a,b,c = b,a,a+1
    print(a)   2
    print(b)   1
    print(c)   2

解压赋值

    a,*b = [1,2,3]
    print(a)  1
    print(b)  [2,3]
    ---------------
    a, *b, c= [1,2,3]
    print(a)  1
    print(b)  ['2']
    print( c )  3
    只能有一个星号,有星号的可以为空,有星号的返回列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开了又败的花墙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值