当前位置: 首页 > 后端技术 > Python

Python学习笔记Day3——Python运算符

时间:2023-03-26 12:31:35 Python

1.Python类型转换2.Python算术运算符2.1加法(+)运算符m=10n=97sum1=m+nx=7.2y=15.3sum2=x+yprint("sum1=%d,sum2=%.2f"%(sum1,sum2))运算结果:sum1=107,sum2=22.50拼接字符串+用于数字时表示加法,+用于字符串时表示加法还有拼接字符串的功能(把两个字符串连成一个):name="我的个人博客"url="www.linuxleesinloveyy.cn"age=`info=name+"网址是"+url+",已经"+str(age)+"老了"print(info)运行结果:我个人博客的网址是www.linuxleesinloveyy.cn,1岁了2.2减法(-)运算符n=45m=-nx=-83.5y=-xprint(m,",",y)运行结果:-45,83.5负数-除了做减法,还可以做负数(正数变负数,负数变正数):n=45n_neg=-nf=-83.5f_neg=-fprint(n_neg,",",f_neg)O运算结果:-45,83.5乘法(*)operatorn=4*25f=34.5*2print(n,",",f)运算结果:100,69.0重复字符串*除了用于乘法,它也可以用于重复字符串,即n个相同的字符串连接:str1="hello"print(str1*4)运行结果:hellohellohellohello2.3//除法运算符Python支持/和//两种除法运算符,但它们之间有区别:/表示普通除法,使用它计算的结果与数学中的计算结果相同。//表示整数除法,只保留结果的整数部分,舍弃小数部分;请注意,小数部分是直接舍弃的,而不是四舍五入。示例:#Integers不可整除print("23/5=",23/5)print("23//5=",23//5)print("23.0//5=",23.0//5)print("--------------------")#整数可分print("25/5=",25/5)print("25//5=",25//5)print("25.0//5=",25.0//5)print("--------------------")#小数除法打印("12.4/3.5=",12.4/3.5)print("12.4//3.5=",12.4//3.5)运行结果:23/5=4.623//5=423.0//5=4.0-------------------25/5=5.025//5=525.0//5=5.0----------------12.4/3.5=3.54285714285714312.4//3.5=3.0从运行结果可以发现:/的计算结果始终是小数,不管是否可整除,也不管运算是否为整数或小数。当运算涉及小数时,//结果为小数,否则为整数。2.4余数(%)运算符Python%运算符用于求两个数相除的余数,包括整数和小数。Python用第一个数除以第二个数得到整数商,余数就是余数。对于小数,余数的结果一般也是小数。注意:取余运算的本质是除法运算,所以第二个数不能为0,否则会导致ZeroDivisionError错误Python%用法举例:print("-----整数余数-----")print("15%6=",15%6)print("-15%6=",-15%6)print("15%-6=",15%-6)print("-15%-6=",-15%-6)print("-----小数余数-----")print("7.7%2.2=",7.7%2.2)print("-7.7%2.2=",-7.7%2.2)print("7.7%-2.2=",7.7%-2.2)print("-7.7%-2.2=",-7.7%-2.2)print("---整数和小数运算---")print("23.5%6=",23.5%6)print("23%6.5=",23%6.5)print("23.5%-6=",23.5%-6)print("-23%6.5=",-23%6.5)print("-23%-6.5=",-23%-6.5)运算结果:-----整数余数-----15%6=3-15%6=315%-6=-3-15%-6=-3-----小数余数-----7.7%2.2=1.0999999999999996-7.7%2.2=1.1000000000000057.7%-2.2=-1.1000000000000005-7.7%-2.2=-1.09999999999999996---整数和小数运算---23.5%6=5.523%6.5=3.523.5%-6=-0.5-23%6.5=3.0-23%-6.5=-3.5从运行结果二积分可以发现:只有当第二个数为负数时,余数的结果才为负数。也就是说,余数的正负结果与第一个数无关,只有第二个数决定%当两边的数都是整数时,余数的结果也是整数;但只要有一个数是小数,则结果的其余部分都是小数。幂(power)运算符Python的**运算符用于求一个x的y次方,也就是幂(power)运算符。Python**运算符示例:print('----幂运算----')print('3**4=',3**4)print('2**5=',2**5)print('----平方根运算----')print('81**(1/4)=',81**(1/4))print('32**(1/5)=',32**(1/5))运算结果:----幂运算----3**4=812**5=32----平方根运算----81**(1/4)=3.032**(1/5)=2.03.Python赋值运算符Python中最基本的赋值运算符是等号=;结合其他运算符,=可以扩展为更强大的赋值运算符。基本赋值运算符#Assignliteral(directquantity)tovariablen1=100f1=47.5s1="http://c.biancheng.net/python/"#将一个变量的值赋给另一个变量n2=n1f2=f1#将一些运算的值赋值给变量sum1=25+46sum2=n1%6s2=str(1234)#将数字转换成字符串s3=str(100)+"abc"赋值运算符展开=也可以与其他运算符(包括算术运算符、位运算符和逻辑运算符)结合,扩展成为更强大的赋值运算符运算符扩展实例:n1=100f1=25.5n1-=80#etc。等于n1=n1-80f1*=n1-10#equivalenttof1=f1*(n1-10)print("n1=%d"%n1)print("f1=%.2f"%f1)运行结果:n1=20f1=255.004.位运算符Python位运算符只能用于整数类型的运算,按照整数在??内存中的二进制形式进行计算4.1&位与运算符&运算符的运算规则是:只有当&运算涉及的两位都为1,则结果为1,否则为0。第一个Bit和第二个Bit的结果是000010100111,例如9&5可以转换成如下操作:00000000--00000000--00000000--00001001(9存入内存)&00000000--00000000--00000000--00000101(5存入内存)---------------------------------------------------------------------00000000--00000000--00000000--00000001(1存储在内存中)4.2|按位或运算符按位或运算符的运算规则|就是:当两个二进制位之一为1时,结果为1,都为0时,结果为0。例如,9|5可以转化为如下操作:00000000--00000000--00000000--00001001(9存入内存)|00000000--00000000--00000000--00000101(内存中存储5个)------------------------------------------------------------------00000000--00000000--00000000--00001101(内存中存储了13个)-9|5可以转化为如下操作:11111111--11111111--11111111--11110111(-9存入内存)|00000000--00000000--00000000--00000101(内存中5个)----------------------------------------------------------------------11111111--11111111--11111111--11110111(-9存入内存)4.3^按位异或运算符^的运算规则是:当参与运算的两个二进制位不同时,结果为1,相同时,结果为0。9^5可以转化为如下操作:00000000--00000000--00000000--00001001(9在内存中)^00000000--00000000--00000000--00000101(5在内存中)-内存存储)-------------------------------------------------------------------00000000--00000000--00000000--00001100(12存入内存)-9^5即可转换成如下操作:11111111--11111111--11111111--11110111(-9存入内存)^00000000--00000000--00000000--00000101(5存入内存存入)----------------------------------------------------------------------11111111--11111111--11111111--11110010(-14存入内存)4.4~按位取反运算符位取反运算符~是一元运算符(只有一个操作数),右结合,其作用是将运算中涉及的二进制位取反。~9可以转化为如下操作:~00000000--00000000--00000000--00001001(9存入内存)-------------------------------------------------------------------11111111--11111111--11111111--11110110(-10存入内存)~-9可以转化为如下操作:~11111111--11111111--11111111--11110111(-9存储在内存中)--------------------------------------------------------------------00000000--00000000--00000000--00001000(8存储在内存中)4.5<<左移运算符Python左移运算符<<用于将操作数的所有二进制位向左移动若干位,舍弃高位,低位补0。9<<3可以转化为如下操作:相当于乘以2**3<<00000000--00000000--00000000--00001001(9存入内存)--------------------------------------------------------------------00000000--00000000--00000000--01001000(72存储在内存中)(-9)<<3可以转化为如下操作:等价于除以2**3<<11111111--11111111--11111111--11110111(-9存入内存)-----------------------------------------------------------------------11111111--11111111--11111111--10111000(-72存储在内存中)4.6>>右移运算符Python右移运算符>>用于转换操作数的每个二进制值,所有位右移若干位,低位舍弃,高位补0或1。如果数据最高位为0,则加0;如果最高位是1,则加1。9>>3可以转化为如下操作:>>00000000--00000000--00000000--00001001(9存入内存)------------------------------------------------------------------00000000--00000000--00000000--00000001(1存入内存)(-9)>>3可以转化为如下操作:>>11111111--11111111--11111111--11110111(-9存入内存)----------------------------------------------------------------------11111111--11111111--11111111--11111110(-2存储在内存中)5.Python比较运算符比较运算符,也称为关系运算符,用于比较常量、变量或表达式的结果。如果比较为真,则返回True,否则返回False。Python比较运算符使用示例:print("89是否大于100:",89>100)print("24*5是否大于等于76:",24*5>=76)print("86.5是否等于86.5:",86.5==86.5)print("34是否等于34.0:",34==34.0)print("False是否小于True:",False=18andage<=30andheight>=170andheight<=185:print("恭喜您,您获得飞行员考试资格")else:print("抱歉,您不符合飞行员考试资格")可能运行结果:请输入年龄:23↙请输入您的身高:178↙恭喜,您符合申请飞行员的条件在Python中,andandor不一定能计算出右边表达式的值,有时只需要计算一下即可得到最终结果左边表达式的值。此外,and和or运算符将其中一个表达式的值作为最终结果,而不是True或False作为最终结果。对于and运算符:如果左边表达式的值为false,那么就不需要计算右边表达式的值,因为不管右边表达式的值是多少,都不会影响最终结果,最终结果为false。此时and将取左边表达式的值作为最终结果。如果左边表达式的值为真,那么最终的值就无法确定,会继续计算右边表达式的值,将右边表达式的值作为最终的结果。对于or运算符:如果左边表达式的值为真,那么就不需要计算右边表达式的值,因为无论右边表达式的值是多少,都不会影响最终结果,最终结果为真。此时or会取左边表达式的值作为最终结果。如果左边表达式的值为false,那么最终的值就无法确定,或者会继续计算右边表达式的值,将右边表达式的值作为最终的结果。使用代码验证以上结论:url="http://c.biancheng.net/cplus/"print("----Falseandxxx-----")print(Falseandprint(url))print("--Trueandxxx-----")print(Trueandprint(url))print("----Falseorxxx-----")print(Falseorprint(url))print("--Trueorxxx-----")print(Trueorprint(url))运行结果:----Falseandxxx-----False----Trueandxxx-----http://c.biancheng.net/cplus/None----False或xxx-----http://c.biancheng.net/cplus/None----True或xxx-----对7.Python运算符优先级在实际编程中,建议使用括号来明确运算符的执行顺序,不要过分依赖运算符优先级,以免出现不必要的错误。