A Byte of Python 笔记(3)运算符和表达式
第5章 运算符与表达式
大多数语句(逻辑行)都包含表达式。例子,如 2 + 3。一个表达式可以分解为运算符和操作数。
运算符
|
运算符 |
名称 |
说明 |
例子 |
|
+ |
加 |
两个对象相加 |
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 y返回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。 短路计算在这里也适用。 |
运算符优先级
下表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符。
|
运算符 |
描述 |
|
lambda |
Lambda表达式 |
|
or |
布尔“或” |
|
and |
布尔“与” |
|
not x |
布尔“非” |
|
in,not in |
成员测试 |
|
is,is not |
同一性测试 |
|
<,<=,>,>=,!=,== |
比较 |
|
| |
按位或 |
|
^ |
按位异或 |
|
& |
按位与 |
|
<<,>> |
移位 |
|
+,- |
加法与减法 |
|
*,/,% |
乘法、除法与取余 |
|
+x,-x |
正负号 |
|
~x |
按位翻转 |
|
** |
指数 |
|
x.attribute |
属性参考 |
|
x[index] |
下标 |
|
x[index:index] |
寻址段 |
|
f(arguments...) |
函数调用 |
|
(experession,...) |
绑定或元组显示 |
|
[expression,...] |
列表显示 |
|
{key:datum,...} |
字典显示 |
|
'expression,...' |
字符串转换 |
计算顺序:运算符优先级表决定了哪个运算符在别的运算符之前计算。可以通过圆括号改变计算顺序。
结合规律:通常由左向右结合,赋值运算符由右向左结合。
表达式
计算矩形的面积和周长
# !/usr/bin/python
# Filename: expression.py
length = 5
breadth = 2
area = length * breadth
print 'Area is', area
print 'Perimeter is %d' % (2*(length + breadth))
输出

此处注意print 的两种打印方式
A Byte of Python 笔记(3)运算符和表达式的更多相关文章
- 吾八哥学Python(六):运算符与表达式
上篇简单学习了数学运算符,今天来学习下完整的Python运算符与表达式,具体看下面的表格吧! 表1 运算符与它们的用法 运算符 名称 说明 例子 + 加 两个对象相加 3 + 5得到8.’a’ + ‘ ...
- python中的运算符及表达式及常用内置函数
知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...
- Python中的运算符与表达式
你所编写的大多数语句(逻辑行)都包含了表达式(Expressions).一个表达式的简单例子便是 2+3.表达式可以拆分成运算符(Operators)与操作数(Operands).运算符(Operat ...
- c语言笔记3运算符与表达式
运算符与表达式 知识点一 操作数:参与运算的具体对象. 运算符:指明了对操作数进行的某项运算. 表达式:表示一个求值得规则.它由变量.常量.运算符和函数.括号按一定规则组成. 书写表达式的细节:1,运 ...
- A Byte of Python 笔记(12)python 标准库:sys、os,更多内容
第14章 python 标准库 Python标准库是随Python附带安装的,它包含大量极其有用的模块. sys 模块 sys 模块包含系统对应的功能.如 sys.argv 列表包含命令行参数. # ...
- A Byte of Python 笔记(7)数据结构:列表、元组、字典,序列
第9章 数据结构 数据结构,即可以处理一些数据的结构.或者说,它们是用来存储一组相关数据的. python 有三种内建的数据结构--列表.元组和字典. list = ['item1', 'item2' ...
- A Byte of Python 笔记(11)异常:try..except、try..finally
第13章 异常 当你的程序中出现某些 异常的 状况的时候,异常就发生了. 错误 假如我们把 print 误拼为 Print,注意大写,这样 Python 会 引发 一个语法错误. 有一个SyntaxE ...
- A Byte of Python 笔记(10)输入/输出:文件和储存器
第12章 输入/输出 大多数情况下,我们需要程序与用户交互.从用户得到输入,然后打印一些结果. 可以分别使用 raw_input 和 print 语句来完成这些功能.对于输出,可以使用多种多样的 s ...
- A Byte of Python 笔记(9) 面向对象编程
第11章 面向对象编程 面向过程:根据操作数据的函数或语句块来设计程序. 面向对象(OOP, object-oriented programming):把数据和功能结合起来,用对象包裹组织程序. 类 ...
随机推荐
- javascript 高级程序设计学习笔记(面向对象的程序设计)继承
ECMAScript中描述了原型链的概念,原型链是实现继承的主要方法. 实现原型链继承有一种基本模式 function SuperType () { this.property = true; } S ...
- html ul li 显示数据库
方法1: function insert() { var str=""; var data="你的数据库数据"; str="<ul>< ...
- PHP扩展开发之简单类开发
接下来我们要用扩展的形式实现以下类(演示环境:linux.php-5.5.34-src) <?php class Person { private $_name; public function ...
- jQuery EasyUI API 中文文档 - 面板(Panel)
Panel 面板 用$.fn.panel.defaults重写defaults. 用法示例 创建Panel 1. 经由标记创建Panel 从标记创建Panel更容易.把 'easyui-panel ...
- javascript事件委托和jQuery事件绑定on、off 和one
一. 事件委托什么是事件委托?用现实中的理解就是:有100 个学生同时在某天中午收到快递,但这100 个学生不可能同时站在学校门口等,那么都会委托门卫去收取,然后再逐个交给学生.而在jQuery 中, ...
- ecshop各个文件夹作用
Images文件夹: 这个文件夹下有子文件夹,在这些子文件夹下面存放着当前网站商品的原始图片和缩略图.这些子文件夹命名有规律的,它们的文件名是它们目录下商品加入 的年月份.也就是说在同一个月份加入的商 ...
- PHP基础温习之echo print printf sprintf print_r var_dump的用法与区别
一.echoecho() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并不 ...
- tp其他功能
数据缓存 在ThinkPHP中进行缓存操作,一般情况下并不需要直接操作缓存类,因为系统内置对缓存操作进行了封装,3.1版本推荐的数据缓存方法是cache方法,基本的用法是:(3.1.2版本cache方 ...
- CodeForces 190A Vasya and the Bus
本题是比较简单的,有几个坑要注意一下: 1.n==0&&m!=0 时输出 "Impossible" : 2.n==0&&m==0 时输出 ”0 0 ...
- IT技术 | 让程序员抓狂的排序算法教学视频
点击「箭头所指处」可快速关注传智特刊微信号:CZTEKAN 原文地址:http://mp.weixin.qq.com/s?__biz=MjM5OTM4NDMyMg==&mid=20056820 ...