python运算符和表达式
运算符和表达式
在 Python 中你会写大量的表达式。表达式由运算符和操作数组成。像 2+3
就是一个表达式。
知识点
- 关系/逻辑运算
- 表达式
- 类型转换
实验步骤
1. 运算符
运算符是一些符号,它告诉 Python 解释器去做一些数学或逻辑操作。一些基本的数学操作符如下所示:
>>> 2 + 3
5
>>> 23.0 - 3 20.0 >>> 22 / 12 1.8333333333333333
只要有任意一个操作数是浮点数,结果就会是浮点数。
进行除法运算时若是除不尽,结果将会是小数,这很自然,如果要进行整除,使用 //
运算符,它将返回商的整数部分。
%
是求余运算符:
>>> 14 % 3
2
1.1. 整数运算示例
代码如下:
#!/usr/bin/env python3
days = int(input("Enter days: "))
months = days // 30
days = days % 30
print("Months = {} Days = {}".format(months, days))
运行程序:
在开始获得用户输入的天数,然后获得月份数和天数,最后把这些数打印出来。你可以使用更容易的办法。
#!/usr/bin/env python3
days = int(input("Enter days: "))
print("Months = {} Days = {}".format(*divmod(days, 30)))
divmod(num1, num2)
返回一个元组,这个元组包含两个值,第一个是 num1 和 num2 相整除得到的值,第二个是 num1 和 num2 求余得到的值,然后我们用*
运算符拆封这个元组,得到这两个值。
2. 关系运算符
你可以使用下面的运算符实现关系运算。
关系运算符
Operator | Meaning |
---|---|
< | Is less than |
<= | Is less than or equal to |
> | Is greater than |
>= | Is greater than or equal to |
== | Is equal to |
!= | Is not equal to |
举一些例子:
>>> 1 < 2
True
>>> 3 > 34 False >>> 23 == 45 False >>> 34 != 323 True
3. 逻辑运算符
对于逻辑 与,或,非,我们使用 and
,or
,not
这几个关键字。
逻辑运算符 and
和 or
也称作短路运算符:它们的参数从左向右解析,一旦结果可以确定就停止。例如,如果 A
和 C
为真而 B
为假,A and B and C
不会解析 C
。作用于一个普通的非逻辑值时,短路运算符的返回值通常是能够最先确定结果的那个操作数。
关系运算可以通过逻辑运算符 and
和 or
组合,比较的结果可以用 not
来取反意。逻辑运算符的优先级又低于关系运算符,在它们之中,not
具有最高的优先级,or
优先级最低,所以 A and not B or C
等于 (A and (notB)) or C
。当然,括号也可以用于比较表达式。
下面是一些例子:
>>> 5 and 4
4 >>> 0 and 4 0 >>> False or 3 or 0 3 >>> 2 > 1 and not 3 > 5 or 4 True
4. 简写运算符
x op= expression 为简写运算的语法形式。其等价于 x = x op expression ,举例如下:
>>> a = 12
>>> a += 13
>>> a 25 >>> a /= 3 >>> a 8.333333333333334 >>> a += (26 * 32) >>> a 840.3333333333334
shorthand.py 示例:
#!/usr/bin/env python3
N = 100
a = 2
while a < N:print(str(a))a *= a
运行之:
$ ./shorthand.py
2
4
16
5. 表达式
通常我们书写表达式的时候,会在每一个运算符左右都放一个空格,这样使代码更可读,如:
a = 234 * (45 - 56 / 34)
一个用于展示表达式的例子,注意其中运算符的优先级。
#!/usr/bin/env python3
a = 9
b = 12
c = 3
x = a - b / 3 + c * 2 - 1 y = a - b / (3 + c) * (2 - 1) z = a - (b / (3 + c) * 2) - 1 print("X = ", x) print("Y = ", y) print("Z = ", z)
运行之:
$ ./evaluationexp.py
X = 10
Y = 7
Z = 4
第一个计算的是 x,步骤如下:
9 - 12 / 3 + 3 * 2 -1 9 - 4 + 3 * 2 - 1 9 - 4 + 6 - 1 5 + 6 - 1 11 - 1 10
由于括号的存在,y 和 z 的计算方式不同,你可以自己去验证它们。
6. 类型转换
我们可以手动的执行类型转换。
类型转换函数 | 转换路径 |
---|---|
float(string)
|
字符串 -> 浮点值 |
int(string)
|
字符串 -> 整数值 |
str(integer)
|
整数值 -> 字符串 |
str(float)
|
浮点值 -> 字符串 |
>>> a = 8.126768
>>> str(a)
'8.126768'
7. 程序示例
7.1. evaluateequ.py
这个程序计算数列 1/x+1/(x+1)+1/(x+2)+ ... +1/n,我们设 x = 1,n = 10。
#!/usr/bin/env python3
sum = 0
for i in range(1, 11): sum += 1 / i print("{:2d} {:6.4f}".format(i , sum))
运行程序:
7.2. quadraticequation.py
这个程序用来求解二次方程式:
#!/usr/bin/env python3
import math
a = int(input("Enter value of a: "))
b = int(input("Enter value of b: "))
c = int(input("Enter value of c: ")) d = b * b - 4 * a * c if d < 0: print("ROOTS are imaginary") else: root1 = (-b + math.sqrt(d)) / (2 * a) root2 = (-b - math.sqrt(d)) / (2 * a) print("Root 1 = ", root1) print("Root 2 = ", root2)
运行程序:
7.3. salesmansalary.py
这个程序计算以为数码相机销售人员的工资。他的基本工资是 1500,每售出一台相机他可以得到 200 并且获得 2% 的抽成。程序要求输入相机数量及月销售总额。
#!/usr/bin/env python3
basic_salary = 1500
bonus_rate = 200
commision_rate = 0.02
numberofcamera = int(input("Enter the number of inputs sold: ")) price = float(input("Enter the total prices: ")) bonus = (bonus_rate * numberofcamera) commision = (commision_rate * numberofcamera * price) print("Bonus = {:6.2f}".format(bonus)) print("Commision = {:6.2f}".format(commision)) print("Gross salary = {:6.2f}".format(basic_salary + bonus + commision))
运行程序:
总结
除了数值运算,关系和逻辑运算也是程序的重要组成部分。另外 Python 是强类型语言,所以必要的时候需要手动进行类型转换。
python运算符和表达式相关推荐
- Python运算符与表达式
Python运算符与表达式 Python运算符包括赋值运算符.算术运算符.关系运算符.逻辑运算符.位运算符.成员运算符和身份运算符.表达式是将不同类型的数据 (常亮.变量.函数)用运算符按照一定得规则 ...
- CrazyWing:Python自动化运维开发实战 五、Python运算符与表达式
导语: 1.什么是运算符 2.什么是表达式 3.python运算符分类 4.python运算符优先级 什么是运算符: 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操 ...
- 中谷教育04 Python运算符与表达式
Python运算符包括 赋值运算符 (=) 算数运算符(+ .-. *. / .//.%.幂(两个星号)) 关系运算符(<.>.<=.>=.!=.==(完全等于)) 逻辑运算符 ...
- Python 运算符和表达式
作者:billy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 运算符 运算符是一些特殊的符号,主要用于科学计算.比较大小和逻辑运算等.Python 中的运算符主要包括 ...
- python运算符与表达式教案_python运算符与表达式
运算符与表达式 关注公众号"轻松学编程"了解更多. 1.算术运算符 +加 -减 *乘 / 除 % 求模,取余数 ** 幂运算 a**b = a^b a的b次方 // 取整 ,返回商 ...
- python 运算符与表达式
文章目录 运算符 1.算术运算符 ( + - \* / % // / ) 2.赋值运算符 3.比较运算符 4.逻辑运算符 (and or not) 短路运算 4.1 and 运算顺序 4.2 or 运 ...
- 神经网络与深度学习——TensorFlow2.0实战(笔记)(三)(python运算符和表达式)
从程序中学习知识点 1.算术运算符 #运算符(Operator):完成不同类型的常量.变量之间的运算 #除法运算 / 结果是一个浮点型的精确数的值,与java等其他语言的不同之处 print(7/2, ...
- 2的31次方-1的python表达式_[python]运算符与表达式
1. 数字操作 所有数字类型可进行以下操作: 操作 描述 x + y 加法 x - y 减法 x * y 乘法 x / y 除法 x // y 截断除法 x ** y 乘方(x的y次方) x % y ...
- python 除法取模_Python的运算符和表达式(上)
上一篇文章霖小白分享了Python中的字符串和数字类型,这一篇让我们回到小学时代的数学,因为霖小白这一篇分享的是关于Python程序中的运算符和表达式,这一次先分享算术运算符和算术表达式,比较运算符和 ...
最新文章
- centos 6.3安装mysql_centos6.3安装MySQL 5.6(转)
- tt桌球瞄准器手机版_新年换台新手机!各价位段哪些机型值得入手?
- Spring Boot 应用系列 1 -- Spring Boot 2 整合Spring Data JPA和Druid,双数据源
- UITabBarController 笔记(三) UITabBarController 配合 UINavigationController 的使用
- vue学习记录: 遇到过的问题记录
- python类加载机制_PHP面向对象自动加载机制原理与用法分析
- matlab对多项式求导,matlab中多项式求导
- 教师节|祝所有可爱的讲师节日快乐!
- JAVA 中序遍历的非递归栈实现
- Keil μVision4软件简介
- Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(1):基础知识
- Generate Constructor using Fields..
- IOS OpenGL ES GPUImage 滤色混合 GPUImageScreenBlendFilter
- js实现html搜索关键词高亮显示(标红)
- 解决微信群服务管理难题,只需要一个助手
- Opencv色彩空间(GRAY、XYZ、HSV、YCrCb、HLS)展示,以及利用HSV标记指定的颜色
- 中学计算机教材,人教版初中信息技术教材梳理
- 最短路问题(超详细~~)
- 新手怎样自己DIY一套音质不错的音响?
- 神舟笔记本安装Windows系统
热门文章
- Feature Selection Based on Mutual Information:Criteria of Max-Dependency, Max-Relevance,and Min-Redu
- Java开发微信公众号(四)---微信服务器post消息体的接收及消息的处理
- 检查人物身上指定物品位置是否佩带指定物品名称
- Matlab scatter 如何显示不同颜色点状
- POJ 2104 K-th Number
- python __file__ 与相对路径
- EeePC1000hg安装archlinux20121201和openbox
- spring3.0注解
- 《LeetCode力扣练习》剑指 Offer 25. 合并两个排序的链表 Java
- stl clocklist 查找元素_C++|通俗理解STL