一、数值运算符

python提供了9个基本的数值运算符,这些运算符由编译器直接提供,所以叫做内置运算符(操作符):

运算符 功能

+ 加

- 减

* 乘

/ 除

% 模

** 幂

// 整除

-i 负数

+i 正数

+的使用:

>>> 2+3

5

-的使用:

>>> 2-3

-1

*的使用:

>>> 2*3

6

这9种运算符和数学习惯完全一致,运算结果也符合数学意义。比如两个数相除如果商是小数则结果是浮点数。实数和虚数计算结果是虚数则输出虚数:

>>> 2/3

0.6666666666666666

>>> 1.2+2+7j

(3.2+7j)

>>>

%的使用:

>>> 2%3

2

**的使用:

>>> 2**3

8

//的使用:

>>> 2//3

0

>>> 8//3

2

python和其他一些编程语言不同,它没有自减(--)自增(++)等运算符。

二、比较运算符

比较运算符有的教科书称为关系运算符,如要有6种:

符号 功能

> 大于

< 小于

>= 大于等于

<= 小于等于

== 等于

!=或<> 不等于

这些运算符的涵义和数学意义上的涵义一致。

三、赋值运算符

要清楚赋值运算就要清楚一个概念:变量。所谓变量就是在内存中开辟的一个空间。所谓赋值就是在这个空间里塞进数据,变量在赋值前没有数据类型,赋值后变量的数据类型就是所赋值的类型,变量是需要名字的,变量的名字由字母、下划线及数字组成,但数字不能在最前面,变量名字中不能包含空格。另外命名python变量名不能用python的关键字(关于关键字的概念后面介绍)。比如给变量命名是合法的:a、abc、_abc、a2bc、a_2Bc;以下是不合法的:2a 数字在前;if 关键字;A^b 有非法符号。在python中汉字作为变量是合法的,但是一般不会用汉字命名变量。在python程序中变量一旦命名就要它赋值,不赋值的变量Pyhton会报错误:

>>> a

Traceback (most recent call last):

File "", line 1, in

a

NameError: name 'a' is not defined

>>>

python中赋值运算符有7个。分别是:

符号 功能 实例

= 赋值

>>> a=2 >>> a 2

相当于把2这个值塞进a申请预留的内存空间

+= 加赋值

>>> a=2 >>> a+=3 >>> a 5

相当于a=a+3

-= 减赋值

>>> a=5 >>> a-=4 >>> a 1

相当于a=a-4

*= 乘赋值

>>> a=2 `>>> a=4>>> a 8

相当于a=a*4

/= 除赋值

>>> a=12>>> a/=3>>> a 4.0

相当于a=a/3

%= 模赋值

>>> a=13>>> a%=3>>> a 1

相当于a=a%3

**= 幂赋值 >>> a=2 >>> a**=4 >>> a 16

相当于a的4次方再赋值给a

一般用的最多的也是最主要的是=赋值运算符,它在数学教科书中是“等于”,在这里不是“等于”,在python中“等于”用==。

四、逻辑运算符

在python中逻辑运算符共三个:

and:与。表示两个量或多个量同时为True其值才是True,否则为False。

>>> a=True

>>> b=True

>>> a and b

True

>>> b=False

>>> a and b

False

or :或。表示两个量或多个量有一个为True,其值即为True,只有当所有的量为False是才为False。

>>> a=True

>>> b=False

>>> a or b

True

>>> a=False

>>> b=False

>>> a or b

False

not :非。即取反。当量为True是其值为False;当量为False时其值为True。

>>> a=True

>>> not a

False

>>> a=False

>>> not a

True

五、位运算符

python同样也支持位运算,只是用的不多。python的为运算有6个。

&:按位与。即按位如果两个对应为同时为1则为1,否则为0。

>>> a=0b1001

>>> b=0b0100

>>> a&b

0

|:按位或。即按位如果两的对应的位有一个为1就为1,同时为0才为0。

>>> a=0b1001

>>> b=0b0100

>>> bin(a|b)

'0b1101'

~:按位非。即按位取反,安慰取反后会出现符号位,这一点需要注意。

>>> a=0b1001

>>> bin(~a)

'-0b1010'

由于用的是64位计算机,所以其中的a的值实际应为0b后面60个0再加上后面的1001。因此,按位取反后应该是60个1后面加0110,用-号表示应再对0110取反加1,即是结果-0b1010。

^:按位异或。即按对应为异或,相同为0不同位1。

>>> a=0b1001

>>> b=0b0100

>>> bin(a^b)

'0b1101

<<:>

>>> a=0b1001

>>> bin(a<<2)

'0b100100'

>>:按位右移。按位右移要给出移位数,否侧报错。移位后空余位补0。

>>> a=0b1001

>>> bin(a>>2)

'0b10'

另外,在python中还有成员运算符:in 、not in;及身份运算符:is 、is not。用到时再叙述。

六、转义字符

python中还有一种操作符,叫转义字符。转义字符用反斜杠\加相应字母或符号表示。常用的有:

\\:显示反斜杠。

\':显示单引号。

\":显示双引号。

\n:换行。

\t:制表符。

转义字符一般在打印(print)输出时使用,它是因为有些字符在python语言中已被定义为其他涵义,为了避免打印输出错误,或者需要表现其他功能(比如换行、制表位等)而设计的

python数值运算操作符也叫做内置操作符_Python的操作符 - osc_r1gtal48的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. python变量无需指定类型对吗_Python变量类型 - osc_3rgq3dae的个人空间 - OSCHINA - 中文开源技术交流社区...

    变量存储在内存中的值,这就意味着在创建变量时会在内存开辟一个空间. 基于变量的数据类型,解析器会分配指定内存,并决定什么数据可以被存储在内存中. 因此变量可以指定不同的数据类型,这些变量可以存储整数. ...

  2. python语言是由谁设计并领导开发的_python语言概述 - osc_lt3ocv4d的个人空间 - OSCHINA - 中文开源技术交流社区...

    python语言的发展 python语言诞生于1990年,由Guide van Rossum设计并领导开发. python语言是开源项目的优秀代表,其解释器的全部代码都是开源的. 编写Hello程序 ...

  3. qt和python关系_Python与Qt - AlphaJay的个人空间 - OSCHINA - 中文开源技术交流社区

    入门知识- Python与Qt关系 1. Qt内建的Script支持:Qt Script for Applications (QSA),跨平台脚本工具箱,为静态的Qt/C++程序提供了一个脚本界面,可 ...

  4. python 条件表达式换行_Python基础语法 - LongKing-Xu的个人空间 - OSCHINA - 中文开源技术交流社区...

    python基础语法 一.标识符 在Python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. 在Python中的标识符是区分大小写的. 在Python中以下划线开头的标识符是有 ...

  5. python列表去重效率_python面试题 - osc_yztbpii7的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.一行代码实现1--100之和 In [1]: sum(range(1,101)) Out[1]: 5050 1-100求和 2.如何在一个函数内部修改全局变量 a=520 deffun():glo ...

  6. python作业大全_Python作业汇总 - osc_p8sbsl3n的个人空间 - OSCHINA - 中文开源技术交流社区...

    1. info = 'abc' info[2] = 'd' 结果是什么,为什么会报错呢? info[2]已赋值,不能再次赋值."str"对象不支持项目分配 2. 如果要把上面的字符 ...

  7. python包管理机制_Python 包机制 - osc_8wyy9cyu的个人空间 - OSCHINA - 中文开源技术交流社区...

    Python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的 ...

  8. python之禅中文原文_Python之禅 - osc_ns45oss7的个人空间 - OSCHINA - 中文开源技术交流社区...

    在博主学习 Python 的模块部分中,曾不小心写下了这句: import this 则导致出现了以下内容: 原文及翻译: The Zen of Python, by Tim Peters Beaut ...

  9. python剪切文件_python剪切文件 - osc_42713235的个人空间 - OSCHINA - 中文开源技术交流社区...

    心血来潮,手机上导出的图片全部按日期放在不同文件夹,很是麻烦,想放在一起方便浏览,手动操作费时费力,想到bat命令,不是很熟,看到python欣喜不已,很是方便 递归遍历文件,剪切出来,删除空文件夹 ...

最新文章

  1. linux socket无延迟发送数据
  2. Java中的文件下载
  3. 做报表必看!一个工具就可搞定中国式复杂报表需求
  4. 输入流中的read和readfully方法区别和原理
  5. Product search parameter的determine逻辑
  6. ssrf漏洞内网渗透_渗透小白看了也能明白的SSRF
  7. C++控制台打飞机小游戏 | CSDN 博文精选
  8. Spring之对象依赖关系
  9. 简单解决 Blocked a frame with origin XXX from accessing a cross-origin 。iframe跨域问题
  10. Java架构师之路资源
  11. 关于美图秀秀的flash在线版
  12. Spring Boot获取节假日API
  13. 《阿里铁军》的读后感范文3700字
  14. 如何利用PS动作一秒将字体生成逼真刺绣效果
  15. iOS审核被拒含义及应对措施-长文
  16. JDBC 学习笔记(四)—— 自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表 - 解无邪
  17. 阿里大数据ACP认证对找工作到底有用嘛?
  18. ibm软件下载网页链接
  19. 倍福EL6021使用Modbus RTU通信例程
  20. JAVA教程(二)之面向对象前基础知识

热门文章

  1. 小猿圈WEB前端之HTML5+CSS3面试题(一)
  2. Linux 局域网路由新手指南:第 2 部分
  3. zookeeper 四字命令的使用
  4. IBM Copy Service--Flashcopy Introduction
  5. 记腾讯一面 | 掘金技术征文
  6. fg jobs bg
  7. 软件公司多注重开发不注重管理
  8. 【经典算法】第八回:桶排序
  9. ╭☆难以割舍^_^就是牵挂☆╮
  10. 微软3月补丁星期二修复71个漏洞,其中3个是0day