【Python】2.16学习笔记 运算符,位运算符,if-else语句
复合运算符
a *= b # a = a * b
a += b # a = a + b
a -= b # a = a - b
...
位运算符
对数字进行二进制运算
按位与
&,二进制位都为一,则返回值对应二进制位也为一
print( 5 & 7 )
\(5\)的二进制形式为\(101\),\(7\)的二进制格式为\(111\)
按位与之后返回\(101\)
可以用来取出某个数中的指定位
比如说我想知道\(114514\)的二进制数中的第2位,第4位与第5位组成的数字,我就可以让它按位与\(11001_{(2)}\)
按位或
\(|\),对应二进制位只要有一个是\(1\),返回即为\(1\)
print( 5 | 7 )
返回\(7\)
按位异或
^,对应二进制位不相同时,返回\(1\),相同返回\(0\)
print( 5 ^ 7 )
返回值是\(2\),也就是\(10_{(2)}\)
几个小性质:
- 可以理解成是不进位的二进制加法
- 同时满足交换律与结合律
- \(x\) ^ \(0 = x, x\) ^ \(x = 0\)
- 由\(2,3\)可以推出,\(x\) ^ \(y\) ^ \(y = x\) ^ \(0 = x\)
按位取反
~,每个二进制位\(1\)变\(0\),\(0\)变\(1\)
注:如果想要实现某几位取反,只需要异或所需位是\(1\),其余位是\(0\)的数
比如想得到\(123\)在二进制第\(2,4,6\)位取反的值,只需要异或\(101010\)
\(if\)表达式
如果是真(\(True\)),则执行\(if\)下的语句,如果是假(\(False\)),则跳过
\(Python\)的缩进很严格,缩进格式不正确的话是会报错的
伪代码格式:
if 表达式 :
语句
如果写成下面是错误的,因为缩进格式不对
if 表达式 :
语句
表达式里的内容是一句判断,比如
a == b, a > b ...
如果为真就执行if下的语句
另外还有几种情况代表假:
1.\(if\)表达式的返回值是\(0\),或者是\(0.0\)
2.返回值是一个空字符串""或''
3.返回值是\(None\)
4.返回值是一个布尔值\(False\)
其余值都为真
\(if-else\)语句
同样,\(Python\)也支持\(if-else\),只不过有很严格的缩进
if 表达式 :
语句1
else :
语句2
如果表达式为真,则执行语句1,如果为假,则执行语句2
【Python】2.16学习笔记 运算符,位运算符,if-else语句的更多相关文章
- java学习笔记之位运算符
java的位运算符主要针对二进制数的位进行逻辑运算,主要包括以下几种的位运算符 1.与运算符(&) 与运算符的使用规律是两个操作数中位为1的时候结果为1,否则都是0,例如 3&5=1 ...
- Java学习笔记——关于位运算符的问题
我就之直接贴图了!不想排版了! 有什么问题,欢迎大家指出,帮助我提高,谢谢!
- Go语言学习笔记四: 运算符
Go语言学习笔记四: 运算符 这章知识好无聊呀,本来想跨过去,但没准有初学者要学,还是写写吧. 运算符种类 与你预期的一样,Go的特点就是啥都有,爱用哪个用哪个,所以市面上的运算符基本都有. 算术运算 ...
- swift学习笔记之-高级运算符
//高级运算符 import UIKit /*高级运算符(Advanced Operators):位运算符.溢出运算符.优先级和结合性.运算符函数.自定义运算符 位运算符: 1.位运算符可以操作数据结 ...
- C#.NET学习笔记7--11---算术运算符,变量赋值,变量的交换,布尔表达式1,布尔表达式2
C#.NET学习笔记7---算术运算符 2013/9/6 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com 1.Consol ...
- JavaScript:学习笔记(6)——New运算符
JavaScript:学习笔记(6)——New运算符 new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例. 快速开始 当你使用new关键字的时候,会 创建一个新的对象 将th ...
- Python Built-in Function 学习笔记
Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...
- python网络爬虫学习笔记
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...
- TCP/IP详解学习笔记 这位仁兄写得太好了.(转载)
TCP/IP详解学习笔记 这位仁兄写得太好了 TCP/IP详解学习笔记 这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/20444 ...
- PHP中的运算符---位运算符、递增递减运算符、三元运算符、字符串运算符、数组运算符、类型运算符、错误控制运算符
1.位运算符 位运算符用来对整型数的指定位进行置位,如果被操作数是字符串,则对该字符串的ASCII码值进行操作. 运算类型 运算符 举例 结果 按位与 & $a & $b 将$a 与 ...
随机推荐
- [LC] 84. Largest Rectangle in Histogram
Given n non-negative integers representing the histogram's bar height where the width of each bar is ...
- SHELL用法一(基本概念)
1. SHELL 编程概念入门 1)一个完整 Linux 操作系统(Linux 内核),默认用户是不能直接操作 Linux 内核,需要借助第三方的程序或者软件去操作,例如桌面工具.命令行工具(SHEL ...
- openssl内存分配,查看内存泄露
openssl内存分配 用户在使用内存时,容易犯的错误就是内存泄露.当用户调用内存分配和释放函数时,查找内存泄露比较麻烦.openssl提供了内置的内存分配/释放函数.如果用户完全调用openssl的 ...
- 整合SSM遇到的错误,数据库连接失败问题集合
Could not get JDBC Connection; nested exception is java.sql.SQLException: Connections could not be a ...
- Java Random函数
Java中存在着两种Random函数: 1.java.lang.Math.Random: 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范 ...
- BUG漏测的原因总结,以及如何处理
一.漏测的概率 漏测,是指软件产品的缺陷没有在测试过程中被发现,而是在版本发布之后,用户在使用过程中发现存在的缺陷. 二.预防漏测的意义 我们都知道,缺陷越早被发现,发现和解决缺陷所花的成本就越小,如 ...
- 从0开始学正则表达式-基于python
关于正则表达式,当我们了解它就不难,不了解就很难,其实任何事情都是这样,没有人一生下来就啥都会,说白了,每个人都是一个学习了解进步的过程.学习和掌握正则表达式可能并不是太简单,因为它确实是有点像“外星 ...
- 如何应对HR小姐姐的千年历史遗留问题:你为什么从上家公司离职?
最近找我询问面试问题的学生比较多,而且问的问题基本上都是课堂上讲过的,好吧,在此心疼自己三秒钟. 那么今天就为各位宝宝们整理一下,如何优雅的回复HR小姐姐的这个千年历史遗留问题:你为什么从上家公司离职 ...
- VirtualBox上使用kubeadm安装Kubernetes集群
之前一直使用minikube练习,为了更贴近生产环境,使用VirtualBox搭建Kubernetes集群. 为了不是文章凌乱,把在搭建过程中遇到的问题及解决方法记在了另一篇文章:安装Kubernet ...
- Python学习笔记--threading线程
通过线程来实现多任务并发.提高性能.先看看例子. #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2020-03-02 21:10:39 ...