python运算符和表达式学习笔记

python中也并没有++ — ===之类运算符,&& || !只能用not and all来表示,但有+= -=…之类

下面的操作均基于python3.3.以后文中不特殊说明均于3.3的结果

算术运算符

>>> 17%6
5
>>> 17/6
2.8333333333333335
>>> 3**3
27
>>> 3**3
27
>>> a33 = 3**4
>>> print(a33)
81

逻辑运算符(只能用and or not不能用符号,这点也与其他程序语言有所不同)

>>> 1>2 && 2>3
  File "<stdin>", line 1
    1>2 && 2>3
         ^
SyntaxError: invalid syntax
>>> 1>2 and 2>3
False

表5.1 运算符与它们的用法

运算符 名称 说明 例子
+ 两个对象相加 3 + 5得到8。'a' + 'b'得到'ab'。
- 得到负数或是一个数减去另一个数 -5.2得到一个负数。50 - 24得到26。
* 两个数相乘或是返回一个被重复若干次的字符串 2 * 3得到6。'la' * 3得到'lalala'。
**
返回x的y次幂

3 ** 4得到81(即3 * 3 * 3 * 3)
/ x除以y 4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333
// 取整除 返回商的整数部分 4 // 3.0得到1.0
% 取模 返回除法的余数 8%3得到2。-25.5%2.25得到1.5
<< 左移 把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1) 2 << 2得到8。——2按比特表示为10
>> 右移 把一个数的比特向右移一定数目 11 >> 1得到5。——11按比特表示为1011,向右移动1比特后得到101,即十进制的5。
& 按位与 数的按位与 5 & 3得到1。
| 按位或 数的按位或 5 | 3得到7。
^ 按位异或 数的按位异或 5 ^ 3得到6
~ 按位翻转 x的按位翻转是-(x+1) ~5得到-6。
< 小于 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 5 < 3返回0(即False)而3 < 5返回1(即True)。比较可以被任意连接:3 < 5 < 7返回True。
> 大于 返回x是否大于y 5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。
<= 小于等于 返回x是否小于等于y x = 3; y = 6; x <= y返回True。
>= 大于等于 返回x是否大于等于y x = 4; y = 3; x >= y返回True。
== 等于 比较对象是否相等 x = 2; y = 2; x == y返回True。x = 'str'; y = 'stR'; x == y返回False。x = 'str'; y = 'str'; x == y返回True。
!= 不等于 比较两个对象是否不相等 x = 2; y = 3; x != y返回True。
not 布尔“非” 如果x为True,返回False。如果x为False,它返回True。 x = True; not x返回False。
and 布尔“与” 如果x为False,x and y返回False,否则它返回y的计算值。 x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。
or 布尔“或” 如果x是True,它返回True,否则它返回y的计算值。 x = True; y = False; x or y返回True。短路计算在这里也适用。
时间: 2024-10-24 19:00:37

python运算符和表达式学习笔记的相关文章

Python正规则表达式学习指南_python

1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持的语法通常是不常用的部分.如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了. 下图展示了使用正则表达式进行匹配的流程:   正则表达式的

JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 "x"in a //false:a对象中已经不存在x属性 alert(a.x) //undefined;这里还是存在"东西"的 就如: var b=[1,2,3]; delete b[0]; b.length //3:还是3,虽然上面已经删除了b[0]   2.void运算符 void忽略操作的值,因此在操作数具有辅助作用的时候使用

python 运算符与表达式

常用运算符以及用法如下如下: 运算符 名称 说明 例子 + 加 两个对象相加 3 + 5得到8.'a' + 'b'得到'ab'. - 减 得到负数或是一个数减去另一个数 -5.2得到一个负数.50 - 24得到26. * 乘 两个数相乘或是返回一个被重复若干次的字符串 2 * 3得到6.'la' * 3得到'lalala'. ** 幂 返回x的y次幂 3 ** 4得到81(即3 * 3 * 3 * 3) / 除 x除以y 4/3得到1(整数的除法得到整数结果).4.0/3或4/3.0得到1.33

Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例_python

最近正好在寻求一种Python的数据库ORM (Object Relational Mapper),SQLAlchemy (项目主页)这个开源项目进入了我的视线,本来想尝试着使用Django的ORM模块的,无奈Django的模块联系比较紧密,没能单独分拆下来,一定程度上说明Django自成体系的生态系统在给我们带来快速便捷的开发环境的同时牺牲了组装的灵活性. 初次学习,也没实质感觉到SQLAlchemy的好处,不过看其介绍的很多大公司均采用该项目,而且其支持的数据库还是蛮丰富的,所以我觉得花点时

Python中的异常处理学习笔记_python

Python 是面向对象的语言,所以程序抛出的异常也是类. 常见的异常类 1.NameError:尝试访问一个没有申明的变量 2.ZeroDivisionError:除数为 0 3.SyntaxError:语法错误 4.IndexError:索引超出序列范围 5.KeyError:请求一个不存在的字典关键字 6.IOError:输入输出错误(比如你要读的文件不存在) 7.AttributeError:尝试访问未知的对象属性 8.TypeError:传给函数的参数类型不正确,比如给 int 函数传

python字符串格式化之学习笔记

在python中格式化输出字符串使用的是%运算符,通用的形式为 •格式标记字符串 % 要输出的值组 其中,左边部分的"格式标记字符串"可以完全和c中的一致.右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开.重点来看左边的部分.左边部分的最简单形式为: •%cdoe 其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用'%s'来标记.比如: •'%s %s %s' % (1, 2.3, ['

Python ORM框架SQLAlchemy学习笔记之数据查询实例_python

前期我们做了充足的准备工作,现在该是关键内容之一查询了,当然前面的文章中或多或少的穿插了些有关查询的东西,比如一个查询(Query)对象就是通过Session会话的query()方法获取的,需要注意的是这个方法的参数数目是可变的,也就是说我们可以传入任意多的参数数目,参数的类型可以是任意的类组合或者是类的名称,接下来我们的例子就说明了这一点,我们让Query对象加载了User实例. 复制代码 代码如下: >>> for instance in session.query(User).or

python之yield表达式学习_python

python中有一个略微奇怪的表达式叫yield expression,本文就来探究一下这是个什么东西.一步一步来. iterable 复制代码 代码如下: mylist = [1,2,3] for item in mylist:     print str(item) mylist是一个列表(list),我们可以逐条取出每一个item,这个过程叫做iteration.像list这样可以用"for-in-"依次遍历的对象被称为iterable,其他的iterable还有string.t

python的xml.dom学习笔记

首先说一下,由于这篇文章主要是自己随性学习写的,所以读者看起来可能很乱,呵呵.可以给大家稍微推荐一篇:http://www.cnblogs.com/xuxm2007/archive/2011/01/16/1936610.html 稍微清晰一点 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46