2020-09-08 布满荆棘的人生 2022-12-05 00:43 98阅读 0赞 > [python学习笔记:基础之运算符][python] > > 转:[https://www.cnblogs.com/gaiqingfeng/p/13254631.html][python] > > 目录 > > 1. 算术运算符 > 2. 比较运算符 > 3. 赋值运算符 > 4. 位运算符 > 5. 逻辑(布尔)运算符 > 6. 成员运算符 > > > > # 1. 算术运算符 # > > 算术运算符通常由左向右结合,即2+3+4的计算顺序为(2+3)+4; > > <table> > <thead> > <tr> > <th>运算符</th> > <th>作用</th> > <th>说明</th> > </tr> > </thead> > <tbody> > <tr> > <td>+</td> > <td>加</td> > <td>字符串相加即“合并字符串”,‘a’+‘b’得到‘ab’</td> > </tr> > <tr> > <td>-</td> > <td>减、负号</td> > <td>无</td> > </tr> > <tr> > <td>*</td> > <td>乘、str重复</td> > <td>‘ab’*3得到‘ababab’</td> > </tr> > <tr> > <td>/</td> > <td>除</td> > <td>4/3和4/3.0结果相同,都是1.3333…</td> > </tr> > <tr> > <td>%</td> > <td>取模(余数)</td> > <td>25.5%2.25得到0.75; -25.5%2.25得到1.5</td> > </tr> > <tr> > <td>/</td> > <td>整除</td> > <td>返回商的整数部分;4//3得1,4//3.0得1.0</td> > </tr> > <tr> > <td>*</td> > <td>乘方</td> > <td> </td> > </tr> > </tbody> > </table> > > # 2. 比较运算符 # > > <table> > <thead> > <tr> > <th>运算符</th> > <th>作用</th> > <th>说明</th> > </tr> > </thead> > <tbody> > <tr> > <td>==</td> > <td>等于</td> > <td>可用于数、str、list等</td> > </tr> > <tr> > <td>!=</td> > <td>不等于</td> > <td> </td> > </tr> > <tr> > <td><></td> > <td>不等于,类似于!=</td> > <td> </td> > </tr> > <tr> > <td>>、>=</td> > <td>大于、大于等于</td> > <td> </td> > </tr> > <tr> > <td><、<=</td> > <td>小于、小于等于</td> > <td> </td> > </tr> > </tbody> > </table> > > # 3. 赋值运算符 # > > 赋值运算由右向左结合,即a=b=c的处理方式为a=(b=c) > > >>> a,b,c=1,2,3 > >>> a=b=c #赋值过程:b=c(3),然后a=b,最终a和b都是得到的c的值 > >>> print(a,b,c) # a的值不是2,而是3 > 3 3 3 > > <table> > <thead> > <tr> > <th>运算符</th> > <th>作用</th> > <th>说明</th> > </tr> > </thead> > <tbody> > <tr> > <td>=</td> > <td>简单赋值</td> > <td> </td> > </tr> > <tr> > <td>+=</td> > <td>加等</td> > <td>c+=a 等价于c = c + a</td> > </tr> > <tr> > <td>-=</td> > <td>减等</td> > <td> </td> > </tr> > <tr> > <td>*=</td> > <td>乘等</td> > <td> </td> > </tr> > <tr> > <td>/=</td> > <td>除等</td> > <td> </td> > </tr> > <tr> > <td>%=</td> > <td>模等</td> > <td> </td> > </tr> > <tr> > <td>**=</td> > <td>幂等</td> > <td> </td> > </tr> > <tr> > <td>//=</td> > <td>整除等</td> > <td> </td> > </tr> > </tbody> > </table> > > # 4. 位运算符 # > > <table> > <thead> > <tr> > <th>运算符</th> > <th>作用</th> > <th>说明</th> > </tr> > </thead> > <tbody> > <tr> > <td>&</td> > <td>按位与</td> > <td>12&13返回12,即1100&1101=1100</td> > </tr> > <tr> > <td>|</td> > <td>按位或</td> > <td>12|13返回13,即1100</td> > </tr> > <tr> > <td>^</td> > <td>按位异或</td> > <td>12^13返回1,即1100</td> > </tr> > <tr> > <td>~</td> > <td>按位取反</td> > <td>~x 类似于–x-1,即~60返回-61,见本表后面详细例子;</td> > </tr> > <tr> > <td><<</td> > <td>左移</td> > <td>高位丢弃,低位补0。 6 << 4返回96,即110<<4得1100000,亦即6*(2**4)</td> > </tr> > <tr> > <td>>></td> > <td>右移</td> > <td>低位丢弃,高位补0。 6>>2返回1,即110>>2得001</td> > </tr> > </tbody> > </table> > > >>> bin(60) # 60的二进制数据为0011_1100 > '0b00111100' > >>> > >>> ~60 > -61 > # > # ~60即~0011_1100得1100_0011, > # python把按位取反的值当补码解释(负数的补码为取反加1),所以返回-61. > # > # 注:-61的各码如下: > # 原码:1011_1101 > # 反码:1100_0010(注,取反码时,符号位不取反) > # 补码:1100_0011,即60按位取反得的值,所以~60返回-61 > > # 5. 逻辑(布尔)运算符 # > > <table> > <thead> > <tr> > <th>运算符</th> > <th>作用</th> > <th>说明</th> > </tr> > </thead> > <tbody> > <tr> > <td>and</td> > <td>布尔与</td> > <td>x and y,会短路计算:x为False时,返回x,注意不是x的布尔值;x为True时,返回y,注意不是y的布尔值;</td> > </tr> > <tr> > <td>or</td> > <td>布尔或</td> > <td>x or y,会短路计算:x为False时,返回y,注意不是y的布尔值;x为True时,返回x,注意不是x的布尔值;</td> > </tr> > <tr> > <td>not</td> > <td>布尔非</td> > <td>x=true; not x; 返回False;</td> > </tr> > </tbody> > </table> > > >>> [] and {1:‘a’} # 空数组为假,返回空数组,注意返回的不是x的布尔值False > [] > >>> [] or {1:‘a’}# 空数组为假,返回y的值,注意不是y的布尔值; > {1:‘a’} > >>> not {1:‘a’} # not会返回布尔值 > False > >>> not [] # not会返回布尔值 > True > > # 6. 成员运算符 # > > <table> > <thead> > <tr> > <th>运算符</th> > <th>作用</th> > <th>说明</th> > </tr> > </thead> > <tbody> > <tr> > <td>in</td> > <td>包含成员</td> > <td>在指定的序列中找到值,返回True</td> > </tr> > <tr> > <td>not in</td> > <td>不包含成员</td> > <td> </td> > </tr> > </tbody> > </table> > > [python]: https://www.cnblogs.com/gaiqingfeng/p/13254631.html
还没有评论,来说两句吧...