教自己学Python(一)基本运算

运算

基本运算

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5
1.6
>>> 8 / 4
2.0

Python3中的除法运算总会得到一个浮点值,但是在Python2中不是这样的,Python2会根据参与运算的数字来决定结果,比如:

>>> 8 / 5
1
>>> 8 / 5.0
1.6
>>> 8.0 / 5
1.6

魔法运算

如果想在Python2中使用Python3中的除法特性可以在交互环境中输入from __future__ import divistion,这句话的意思是从未来的版本中引入除法运算,以后会经常使用from * import *这样的格式来引入其它功能。再看下面两个三个运算:

 >>> 13 // 3
 4
 >>> 13 % 3
 1
 >>> 3**2
 9

比较特别的是第一行和第三行,两个除号是向下取整,两个乘号是n次方的意思。

在交互模式下,还有一个很有意思的符号_,它可以保存上一次的运算结果,也就是说如果我们把交互环境当做计算器的话,会更好用。看下面的例子:

>>> tax = 12.5 / 100  # 把值赋给一个名字(变量),以下就可以用变量名来使用值。
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _    # _登场,其值是上面的12.5625
113.0625
>>> round(_, 2)    # 结果保留两位小数
113.06

当然如果在Python3中,上面的代码也可以写成:

>>> 税 = 12.5 / 100
>>> 价格 = 100.50
>>> 税 * 价格
>>> 12.5625

Python3中可以使用汉字命名变量,事实上可以使用所有unicode集中的字符,另外Python3中会把当作是一个字符,而不再是Python2版本中的两个。为了输入方便和他人理解,我们还是习惯性的使用经典命名(字母数字下划线,且第一个字符不可以是数字)

此外变量的名字应当是有意义的,一个变量名里如果包含多个单词可以使用_形如:collect_incoming_data或者“驼峰”命名,形如:createUserInfo,更多的命名和代码规范目前还不需要,我们介绍到相应代码的时候会给出相应说明。

逻辑运算

>>> 3 > 2
Ture
>>> 9 < 5
False
>>> 3 < 5 and 9 > 8
True
>>> 7 > 8 or 4 < 9
True
>>> not 9 > 3
False
>>> 5 == 4
False
>>> 7 != 8
True

and是逻辑与的意思,or是逻辑或的意思,not是逻辑取反的意思。Python还支持链式逻辑运算:

>>> 4 < 10 > 7
True

解释器会把上式转换成4 < 10 and 10 > 7

位运算

位运算即先把数转换成2进制表示,再按位进行运算。

按位与运算
>>> 5 & 3    # 5:'101', 3:'11'
1
按位或运算
>>> 5 | 2    # 2:'10'
7
按位异或运算
>>> 5 ^ 4    # 4:'100'
1

异或运算有一个简单的应用,两数互换值不需要额外空间,代码如下:

>>> a = 5    # 5: '101'
>>> b = 8    # 8:'1000'
>>> a = a^b
>>> b = a^b
>>> a = b^a
>>> a, b
(8, 5)    # 这种用括号括里来,逗号分隔的样子叫元组

当然如果仅仅是两数互换值的话,Python中还有更轻松愉悦的写法:

>>> a, b = 5, 8    # 多个变量赋值
>>> a, b = b, a    # 同样是多个变量赋值
>>> a, b
(8, 5)

以上三种位运算均满足交换律。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值