Python编程思想:数字及其相关运算
Posted 蒙娜丽宁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python编程思想:数字及其相关运算相关的知识,希望对你有一定的参考价值。
《Python编程思想》总目录
目录
李宁老师的《Python编程思想》上线了,囊括了Python的核心技术,以及Python的主要函数库的使用方法。读者可以关注「极客起源」微信公众号,并输入 160442 开始学习。
Python 提供了三种数值类型:int(整型),float(浮点型)和complex(复数)。
- int:通常被称为整型或者整数,如200、299、10都属于整型;
- float:浮点数包含整数和小数部分,如3.1415926,2.71828都属于浮点数;
- complex:复数包含实数部分和虚数部分,形如 a+bj,其实部和虚部都是浮点类型;
需要注意的是,Python3 已经废弃了 Python2 的 Long(长整型),在 Python3 中,int 的大小没有限制,可以作为 Long 使用。这也是为什么Python非常适合科学计算的原因,因为Python可以处理无限大的整数。在Python中进行数值运算,并不需要考虑溢出问题,因为Python的数值永远不会溢出。
1. 数值类型之间的转换
Python 的三种数值类型可以进行相互转换,转换方式为:数字类型+圆括号,如下实例:
a = 456
b = 2.71828
print("int(b)=",int(b))
print("float(a)=",float(a))
print("complex(a)=",complex(a))
print("complex(a,b)=",complex(a,b))
执行结果如下图所示:
2. 常用的数学函数
Python 提供了丰富的数学函数以降低编程实现的难度,本问将介绍一些常用的函数。
import math
#求绝对值:abs(x)
print("abs(-200)=",abs(-200))
#向上取整:ceil(x)
print("ceil(3.1415)=",math.ceil(3.1415))
#向下取整:floor(x)
print("floor(3.678)=",math.floor(3.678))
#四舍五入:round(x)
print("round(3.678)=",round(3.678))
#乘方运算:pow(x,y),x的y次方
print("pow(3,4)=",pow(3,4))
#求平方根:sqrt(x)
print("sqrt(144)=",math.sqrt(144))
执行结果如下图所示:
3. 运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机编程语言,Python 也提供了一套丰富的运算符来满足各种运算需求。
Python 运算符主要可以分为6种:算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符和成员运算符。
(1)算术运算符
对于算术运算,大家并不陌生,常用的加减乘除就是算术运算。不过,在编程语言里,算术运算符特殊一些,Python 中的算术运算有7种:加(+)、减(-)、乘( * )、除(/)、取模(%)、幂运算( ** )和取整预算(//)。以下通过实例演示算术运算符的用法。
#初始化测试数据
x = 30
y = 24
z = 12
#分别进行7种算术运算
z = x + y
print("x + y =", z)
z = x - y
print("x - y =", z)
z = x * y
print("x * y =", z)
z = x / y
print("x / y =", z)
z = x % y
print("x % y =", z)
z = x ** y
print("x ** y =", z)
z = x // y
print("x // y =", z)
执行结果如下图所示:
(2)比较运算符
比较无处不在,大于、小于、等于、不等于……和 C/C++、Java 等编程语言一样,Python 也提供了6种比较运算符:>(大于),<(小于),==(等于),!=(不等于),>=(大于等于),<=(小于等于)。比较运算的结果是一个布尔值,True 或者 False,看下面的案例代码:
# 初始化变量
x = 12
y = 7
#分别进行6种比较运算
print("x == y:", x == y)
print("x != y:", x != y)
print("x > y:", x > y)
print("x < y:", x < y)
print("x >= y:", x >= y)
print("x <= y:", x <= y)
执行结果如下图所示:
(3)赋值运算符
其实在前面的代码中已经用到赋值运算,如 x = 12,就是一个最简单的赋值运算,“=”就是最简单的赋值运算符。将简单的赋值运算与算术运算结合,Python 形成了更丰富的赋值运算符:+=、-=、=、/=、%=、*=、//=。看下面的案例代码:
#初始化变量
x = 12
y = 21
#分别进行7种赋值运算
y = x
print("y = x, y =", y)
y += x
print("y += x, y =", y)
y -= x
print("y -= x, y =", y)
y *= x
print("y *= x, y =", y)
y /= x
print("y /= x, y =", y)
y **= x
print("y **= x, y =", y)
y //= x
print("y //= x, y =", y)
执行结果:
(4)逻辑运算符
所谓逻辑运算,就是:与、或、非。Python 中的3种逻辑运算符分别为:and(与),or(或),not(非),逻辑运算的结果是布尔值:True 或者 False。
A and B:当A和B有一个为False时,结果就为False,只有A和B都为True时,结果才为True;
A or B:只有当A和B都是False时,结果才为False,只要有一个为True,结果就为True;
not A:当 A 为 True 时,返回 False,否则返回 True。
看下面的案例,执行结果如下图:
#初始化变量
a = 2
b = 3
c = 5
#分别执行3种逻辑运算
print("a>b and a<c :", a>b and a<c)
print("a<b and c :", a<b and c)
print("a>b or c :", a>b or a<c)
print("a<b or c :", a<b or c)
print("a or a<c :", a or a<c)
print("not a :", not a)
print("not a<b :", not a<b)
(5)位运算符
程序中的所有数值在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。Python 中有6种位运算符:
- &:按位与,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0;
- |:按位或,只要对应的2个二进位有一个为1时,结果位就为1;
- ^:按位异或,当两对应的二进位相异时,结果为1;
- ~:按位取反,对数据的每个二进制位取反,即把1变为0,把0变为1;
- >>:按位右移,将>>左侧的数按位向右移动>>右边的数指定的位;
- <<:按位左移,将<<左侧的数按位向左移动<<右边的数指定的位;
看下面的案例代码:
a = 21
b = 6
print('a & b = ',a & b)
print('a | b = ',a | b)
print('a ^ b = ',a ^ b)
print('~a = ',~a)
print('a << 2 = ',a << 2)
print('a >> 2 = ',a >> 2)
执行结果如下图所示:
这里讲a=21,b=6,转换为二进制如下:
a = 0001 0101
b = 0000 0110
a&b = 0000 0100
a|b = 0001 0111
a^b = 0001 0011
~a = 1110 1010
a<<2 = 01010100
a>>2 = 0000 0101
(6)成员运算符
除了前面介绍的5种运算符,Python 还支持成员运算符。介绍成员运算符之前,我们需要提前了解一个概念:数据结构,如字符串、列表、元组、字典。在接下来的文章中我们将详细介绍这些基础的数据结构。字符串、列表、字典,它们就像一个集合,其中包含若干元素,这些元素就是集合的成员;对于一个给定的元素,它有可能在一个给定的集合中,也可能不在,Python 中采用成员运算符来判断元素是否属于成员,成员运算的结果为布尔值,True 或者 False。
看下面的代码:
#初始化字符串和列表
temp1 = "abcdefg"
temp2 = [4,2,3,5,8,9]
a = "cdf"
b = 5
c = "cde"
print("a in temp1?", a in temp1)
print("b in temp2?", b in temp2)
print("c in temp1?", c in temp1)
执行结果如下图所示:
以上是关于Python编程思想:数字及其相关运算的主要内容,如果未能解决你的问题,请参考以下文章