Flask接口签名sign原理与实例代码浅析
838
2022-09-06
Python基础学习-2.运算符(python^运算符)
2.运算符
2.1标准运算符
运算符 | 描述 |
---|---|
+ | 加 - 两个对象相加 |
- | 减 - 得到负数或是一个数减去另一个数 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
/ | 除 - x 除以 y |
% | 取模 - 返回除法的余数 |
** | 幂 - 返回x的y次幂 |
// | 取整除 - 返回商的整数部分 |
加+、减-、乘*、除/
print(1+1) #加法 print(1-1) #减法 print(2*4) #乘法 print(1/2) #除法 print(11/2) #除法运算 print(11//2) # 5整除运算// print(11%2) # 1 取余运算% print(2**2) #2的2次方,幂运算符**
取余%(一正一负要公式)
print(9//4) #2 print(-9//-4) #2 print(9//-4) #-3 print(-9//4) #-3 一正一负的整数公式,向下取整 print(9%-4) #-3 余数=被除数-除数*商 9-(-4)*(-3) 9-12--> -3 print(-9%4) #3
2.2赋值运算:右——>左
运算符 | 描述 |
---|---|
= | 简单赋值运算 |
+= | 加法赋值 |
-= | 减法赋值 |
*= | 乘法赋值 |
/= | 除法赋值 |
%= | 取模赋值 |
**= | 幂赋值 |
//= | 取整除赋值 |
链式赋值:a=b=c20
参数赋值:+=、-=、*=、/=、//=、%=
系列解包赋值:a,b,c=20,30,40
print('-----链式赋值-------')
i=3+4
print(i)
a=b=c=20
print(a,id(a))
print(b,id(b))
print(c,id(c))
print('---参数赋值-----')
a=20
a+=30 #a=a+30
print(a)
a -=10 #a=a-10
print(a)
a*=2
print(a)
a/=3
print(a)
print(type(a)) #float
a//=2
print(a)
a%=3
print(a)
print('-----解包赋值------')
a,b,c = 20,30,40
print(a,b,c)
print('-------交换两个变量的值----------')
a,b=10,20
print('交换之前:',a,b)
a,b=b,a
print('交换之后:',a,b)
--------------------------------------->输出
-----链式赋值-------
7
20 2687724383120
20 2687724383120
20 2687724383120
---参数赋值-----
50
40
80
26.666666666666668
2.3比较运算符
对结果大小、真假比较
运算符 | 描述 |
---|---|
== | 等于 - 比较对象是否相等 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
>,<,>=,<=,!=,==,is, is not
a,b=10,20 print('a>b吗',a>b) print('a=b吗',a>=b) print('a<=b吗',a<=b) print('a==b吗',a==b) print('a!=b吗',a!=b) """ 一个=称赋值运算,==比较运算 变量由三部分组成:标识,类型,值 比较对象的标识使用 is """ a=10 b=10 print(a==b) #True a与b的value相等 print(a is b) #True a与b的id标识相等 list1=[11,22,33,44] list2=[11,22,33,44] print(list1==list2) print(list1 is list2) print(id(list1)) print(id(list2)) print(a is not b) #False a的id和b的id不相等 print(list1 is not list2) #True
输出结果:
a>b吗 False a=b吗 False a<=b吗 True a==b吗 False a!=b吗 True True True True False 1911670578752 1911670907648 False True
2.4布尔运算
and,or,not,in,not in
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | x and y | 布尔“与” x为False, x and y返回False |
or | x or y | 布尔“或”,x 为True,返回x,否则返回y的计算值 |
not | not x | 布尔”非‘,x 为True,返回False,x 为False,返回True |
in | x in y | 在指定序列中找到值返回True;否则返回False |
not in | x not in y | 判断两个标识符是不是引用自不同对象 |
身份运算符
运算符 | 描述 |
---|---|
is | 判断两个标识符是不是引用自一个对象 |
is not | 判断两个标识符是不是引用自不同对象 |
a,b=1,2 print('-----and------') print(a==1 and b==2) #True print(a==1 and b<2) #Flase print(a!=1 and b==2) #False print(a!=1 and b!=2) #False print('----or------') print(a==1 or b==2) #True print(a==1 or b<2) #True print(a!=1 or b==2) #True print(a!=1 or b!=2) #Flase print('-----not对布尔类型取反--------') f=True f2=False print(not f) print(not f2) print('-------in与not in-----------') s='good monming' print('m' in s) print('o' in s) print('k' not in s) print('i' not in s)
运算结果:
-----and------ True False False False ----or------ True True True False -----not对布尔类型取反-------- False True -------in与not in----------- True True True False
2.5位运算符
运算符 | 描述 |
---|---|
& | 按位与运算 1&1-->1 1&0-->0 |
| | 按位或 |
^ | 按位异或,相异为1 |
~ | 按位取反,二进制位取反,1变0,如:~y等于-y-1 如:~2=-3 |
<< | 左移 |
>> | 右移 |
2.6混合运算
print(5*4/2+1) 11.0
print(5*4/2+1) 6.666666667
2.7python运算符优先级
优先级 | 运算符 | 描述 |
---|---|---|
最高 | ** | 指数(最高优先级) |
~+- | ~按位取反的意思;一元加号;一元减号 | |
* / % // | 乘;除;取模;取整除 | |
+ - | 加法;减法 | |
>> << | 右移;左移 | |
& | 位‘AND’ | |
^| | 位运算符 | |
<= < > >= | 比较运算符 | |
<>==!= | 等于运算符 | |
= %= /= //= -= += *= **= | 赋值运算符 | |
is is not | 身份运算符 | |
in not in | 成员运算符 | |
最低 | and not and | 逻辑运算符 |
input()——>算术——>位——>比较——>布尔——>赋值
内置type 函数:查看数据的类型**
>>> type(3)
print(((993+196)*7)/3) 除 print(((993+196)*7)//3) 取整 print(((993+196)*7)%3) 取模 print(type('abc')) 打印类型,字符串需要加单引号
python中对象的名字称为变量名,简称变量。变量名和数据对象之间用等号连接。
变量名规则:
1.可包含字母、数字和下划线
2.可以以字母和下划线开头,如var1,或_var
3.不能以数字开头
4.变量名不可以包含空格,可以包含下划线
特殊:
1.变量名不能喝关键字同名;as是python的关键字,不能作变量名
2.变量名不要和内置函数同名
常用内置的函数
1.数学运算相关函数
abs():返回给定参数的绝对值,参数可以是整数,浮点数,复数
>>> abs(-23) 23 >>> abs(2.333) 2.333 >>> abs(1+2j) 2.23606797749979
round()函数:返回数字舍入到小数点后的n位精度
>>> round(0.5) 0 >>> round(-0.5) 0 >>> round(1.5) 2
divmod(a,b)函数:a是被除数,b除数,返回a除以b的商和余数,以元祖形式返回。
>>> divmod(25,4) (6, 1)
pow(a,b)函数:返回数值的指数值
>>> pow(2,3) 8
max(),min():求最大值,求最小值
>>> max(12,45,4,5) 45 >>> min(12,45,4,5) 4 >>> max('adgas') 's' >>> min('adgas') 'a'
sum():求和运算,iterable为可迭代对象,比如列表,集合,元祖;start为指定相加的参数,默认为0
>>> lis = [1,2,5] >>> tup = (45,32) >>> sum(lis) 8 >>> sum(tup) 77 >>> sum(lis,4) 12 >>> sum(tup,-4) 73
eval(expression, globals=None, locals=None)函数:执行一个字符串表达式,对表达式进行分析计算并返回计算的值。可以用来执行任意的代码对象
expression:参数是字符串 globals:管控全局的命名空间的参数 locals:管控局部的命名空间的参数,和globals类似,和globals有重复的部分时,locals的定义会覆盖globals中的
>>> a = 1 >>> b = 2 >>> gloabls = {'a':4,'b':5} >>> local = {'a':5,'b':6} >>> eval('a+b') 3 >>> eval('a+b',gloabls) 9 >>> eval('a+b',gloabls,local) 11
2.序列相关函数
sorted()和list.sorted():sorted(iterable, key=None, reverse=False):sorted()函数是python的一个内置排序函数.
iterable:可迭代对象,可以是字符,列表,字典等;key:按照指定关键字排序,默认None;
reverse:排序规则,默认False升序,即从小到大。reverse=True时降序排列。
对字符串,列表排序
>>> lis = [1,2,3,4,5,0,6,7] >>> sorted(lis) #升序 [0, 1, 2, 3, 4, 5, 6, 7] >>> sorted(lis,reverse=True) #降序 [7, 6, 5, 4, 3, 2, 1, 0] >>> str='agdsmhk' >>> sorted(str) #对字符串排序 ['a', 'd', 'g', 'h', 'k', 'm', 's']
对字典排序,默认按键值进行升序排列
>>> c = {'a':1,'b':3} >>> sorted(c) ['a', 'b'] >>> sorted(c,reverse=True) ['b', 'a'] >>> sorted(c.items(),key=lambda x:x[1]) [('a', 1), ('b', 3)] >>> sorted(c.items(),key=lambda x:x[0]) [('a', 1), ('b', 3)]
reversed()
reversed(seq):python的一个内置函数,返回序列的逆向迭代子。
1)不会改变原序列的排序2)只能遍历一次
3) 返回值是一个迭代子
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~