Python常用运算符含义与用法演示

+运算符除了用于算术加法,还可以用于列表、元组和字符串的合并或连接,生成新对象:

>>> 3 + (3+4j) #整数和复数相加

(6+4j)

>>> [1, 2, 3] + [4, 5, 6] #连接两个列表

[1, 2, 3, 4, 5, 6]

>>> (1, 2, 3) + (4,) #连接两个元组

(1, 2, 3, 4)

>>> 'abcd' + '1234' #连接两个字符串

'abcd1234'

-运算符除了用于算数减法,还可以用于集合的差集运算:

>>> {1, 2, 3, 4, 5} - {3} #差集

{1, 2, 4, 5}

*运算符除了表示算术乘法,还可用于序列与整数的乘法,表示序列元素的重复,生成新的序列对象:

>>> [1, 2, 3] * 3

[1, 2, 3, 1, 2, 3, 1, 2, 3]

>>> (1, 2, 3) * 3

(1, 2, 3, 1, 2, 3, 1, 2, 3)

>>> 'abc' * 3

'abcabcabc'

运算符/和//在Python中分别表示算术除法和算术求整商:

>>> 3 / 2 #这里用的Python 3.x

1.5

>>> 15 // 4

3

%运算符可以用于整数或实数的求余数,还可以用于字符串格式化:

>>> 123.45 % 3.2

1.849999999999996

>>> 789 % 23

7

>>> '%c, %d'%(65, 65)

'A, 65'

**表示幂运算,例如x**y表示x的y次方:

>>> 9**0.5 #等价于math.sqrt(9)

3.0

Python关系运算符最大的特点是可以连用,并且其含义与我们日常的理解完全一致。当然使用关系运算符的一个最重要的前提是,操作数之间必须可比较大小。例如把一个字符串和一个数字进行大小比较是毫无意义的,所以Python也不支持这样的运算。

>>> 1 < 3 < 5 #等价于1 < 3 and 3 < 5

True

>>> 3 < 5 > 2

True

>>> 1 > 6 < 8

False

>>> 'Hello' > 'world' #比较字符串大小

False

>>> [1, 2, 3] < [1, 2, 4] #比较列表大小

True

>>> 'Hello' > 3 #字符串和数字不能比较

Traceback (most recent call last):

File "<pyshell#4>", line 1, in <module>

'Hello' > 3

TypeError: unorderable types: str() > int()

成员测试运算符in用于成员测试,即测试一个对象是否是另一个对象的成员:

>>> 3 in [1, 2, 3] #测试3是否为列表[1, 2, 3]的成员

True

>>> 5 in range(1, 10, 1) #range()是用来生成指定范围数字的内置函数

True

>>> 'abc' in 'abcdefg'

True

>>> for i in (3, 5, 7): #用在循环中,成员遍历

print(i, end='\t')

3 5 7

位运算符只能用于整数,内部执行过程是:首先将整数转换为二进制数,然后右对齐,必要的时候左侧补0,按位进行运算,最后再把计算结果转换为十进制数字返回。

>>> 3 << 2 #把3左移2位

12

>>> 3 & 7 #位与运算

3

>>> 3 | 8 #位或运算

11

>>> 4 | 6

6

>>> 3 ^ 5 #位异或运算

6

另外,位运算符还可以用于集合运算:

>>> {1, 2, 3, 4, 5} | {6} #并集

{1, 2, 3, 4, 5, 6}

>>> {1, 2, 3, 4, 5} & {3} #交集

{3}

>>> {1, 2, 3, 4, 5, 6} ^ {5, 6, 7, 8} #对称差集

{1, 2, 3, 4, 7, 8}

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2016-08-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏土豆专栏

Java面试之comparator与comparable

compareTo(T o),比较此对象与指定对象的顺序。如果该对象小于等于或者大于指定对象,则分别返回负整数、零、正整数

17410
来自专栏weixuqin 的专栏

java 复习总结

类采用首字母大写的方式来命名,如果是多个单词的类名,则每个单词首字母都大写,例如:HelloWorld 。

10420
来自专栏零基础使用Django2.0.1打造在线教育网站

关于JAVA你必须知道的那些事(三):继承和访问修饰符

今天乘着还有一些时间,把上次拖欠的面向对象编程三大特性中遗留的继承和多态给简单说明一下。这一部分还是非常重要的,需要仔细思考。

12930
来自专栏java初学

final和static关键字

364110
来自专栏咸鱼不闲

static关键字,面试经常被问到!(一)

static可以理解为全局的。 static可以修饰: 变量,方法,代码块,内部类。

33250
来自专栏文武兼修ing——机器学习与IC设计

JavaScript入门笔记(6)标准对象面向对象编程

标准对象 正则对象 正则表达式是一种处理文本信息的神器,在JavaScript中可以方便的使用正则对象对文本进行处理。JavaScript中声明正则对象可以使用...

32780
来自专栏desperate633

详解javascript中的即时函数,内部函数,能重写自身的函数即时函数内部函数返回函数的函数能重写自己的函数小结

在上篇谈到匿名函数和回调函数的基础上,我们接着介绍javascript中的即时函数,内部函数,返回函数的函数,能重写自身的函数等几种常见的函数类型及使用方法。只...

9110
来自专栏运维技术迷

连仕彤博客[Python笔记] locals() 函数

15930
来自专栏racaljk

正则表达式

\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“\n”匹配字符“n”。“\\n”匹配一个换行符。序列“\\...

11150
来自专栏noteless

-1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态

面向对象把功能逻辑封装到类本身,用对象去调用功能 持有数据,结构更加自然,也更符合人们的思维习惯

10410

扫码关注云+社区

领取腾讯云代金券