Python语言基础(四):运算符、基本输入和输出
前言:在Python的编程世界中,运算符以及基本输入和输出是构建程序的重要组成部分。熟练掌握它们,能让你更自如地编写各类Python程序。本章,我们将深入对其进行探讨,助力你的Python学习进程。
在本章中,我们将逐步揭开以下主题的神秘面纱:
-
运算符:学习Python中的算术、比较、逻辑等运算符,掌握它们在表达式中的使用规则以及优先级顺序,明白不同运算符在不同场景下该如何合理运用,以此准确构建各种所需的表达式。
- 算术运算符:包括加法(
+
)、减法(-
)、乘法(*
)、除法(/
)、整除(//
)、取模(%
)、幂运算(**
)、正号(+x
)和负号(-x
)。 - 比较运算符:包括等于(
==
)、不等于(!=
)、大于(>
)、小于(<
)、大于等于(>=
)和小于等于(<=
)。 - 逻辑运算符:包括逻辑与(
and
)、逻辑或(or
)和逻辑非(not
)。 - 位运算符:包括位与(
&
)、位或(|
)、位异或(^
)、位取反(~
)、左移(<<
)和右移(>>
)。 - 赋值运算符:包括简单的赋值(
=
)和复合赋值如加法赋值(+=
)、减法赋值(-=
)等。 - 运算符优先级:了解不同运算符的执行顺序,如幂运算优先级高于乘法和除法。
- 算术运算符:包括加法(
-
基本输入和输出:深入了解如何借助Python的内置函数达成用户输入和屏幕输出的操作,知晓怎样让程序可以顺利地与用户展开基本的交互,使程序不再是单向运行,而是能根据用户的输入做出相应反馈。
- 输入:使用
input()
函数从用户那里获取输入,该函数会暂停程序执行,直到用户输入一些内容并按下回车键。 - 输出:使用
print()
函数将信息输出到屏幕,可以输出文本、变量值等。 - 格式化输出:学习如何使用字符串格式化方法(如
%
操作符、str.format()
方法、f-string)
来控制输出格式,使输出更加清晰和易于阅读。
- 输入:使用
一、运算符
1、算术运算符
运算符 | 描述 | 例子 | 结果 |
---|---|---|---|
+ |
加法 | 4 + 5 |
9 |
- |
减法 | 4 - 5 |
-1 |
* |
乘法 | 4 * 5 |
20 |
/ |
除法 | 4 / 5 |
0.8 |
// |
整除 | 4 // 5 |
0 |
% |
取模 | 4 % 5 |
4 |
** |
幂运算 | 4 ** 5 |
1024 |
+x |
正号 | +4 |
4 |
-x |
负号 | -4 |
-4 |
实例训练03 -计算学生成绩的平均分
某学员3门课程成绩:python:95分;java:96分;C语言:88分;
python = 95
java = 96
C = 88
sub = python - C
avg = (python + java + C) / 3
print("python课程和C语言课程分数之差: " + str(sub) + " 分\n")
print("3门课程的平均分: " + str(avg) + " 分")
2、赋值运算符
运算符 | 描述 | 例子 | 结果 |
---|---|---|---|
= |
赋值 | x = 5 |
x 现在是 5 |
+= |
加法赋值 | x += 5 |
x 现在是 10 (x = x + 5) |
-= |
减法赋值 | x -= 5 |
x 现在是 5 (x = x - 5) |
*= |
乘法赋值 | x *= 5 |
x 现在是 25 (x = x * 5) |
/= |
除法赋值 | x /= 5 |
x 现在是 1.0 (x = x / 5) |
//= |
整除赋值 | x //= 5 |
x 现在是 0 (x = x // 5) |
%= |
取模赋值 | x %= 5 |
x 现在是 4 (x = x % 5) |
**= |
幂运算赋值 | x **= 5 |
x 现在是 1024 (x = x ** 5) |
3、比较运算符
比较运算符也叫“关系运算”,用于对变量和表达式的结果进行大小、真假等比较,如果比较结果为真,则返回True
,如果为假,则返回`False。一般比较运算符通常用在条件语句中作为判断的依据。
运算符 | 描述 | 例子 | 结果 |
---|---|---|---|
== |
等于 | 4 == 5 |
False |
!= |
不等于 | 4 != 5 |
True |
> |
大于 | 4 > 5 |
False |
< |
小于 | 4 < 5 |
True |
>= |
大于等于 | 4 >= 5 |
False |
<= |
小于等于 | 4 <= 5 |
True |
实例训练04 -使用比较运算符比较大小关系
python = 95 #定义变量,存储Python课程的分数
java = 92 #定义变量,存储java课程的分数
C= 89 #定义变量,存储C语言课程的分数
print("python = " + str(python) + " java = " + str(java) + " C = " +str(C) + "\n") #输出3个变量的值
print("python < java的结果: " + str(python < java)) #小于操作
print("python > java的结果: " + str(python > java)) #大于操作
print("python == java的结果: " + str(python == java)) #等于操作
print("python != java的结果: " + str(python != java)) #不等于操作
print("python <= java的结果: " + str(python <= java)) #小于或等于操作
print("python >= C的结果: " + str(python >= C)) #大于或等于操作
4、逻辑运算符
运算符 | 描述 | 例子 | 结果 | 结合方向 |
---|---|---|---|---|
and |
逻辑与 | True and False |
False | 从左到右 |
or |
逻辑或 | True or False |
True | 从左到右 |
not |
逻辑非 | not True |
False | 从右到左 |
5、逻辑运算结果表
① 逻辑与(and
)
表达式1 | 表达式2 | 表达式1 and 表达式2 |
---|---|---|
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
False |
② 逻辑或(or
)
表达式1 | 表达式2 | 表达式1 or 表达式2 |
---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
③ 逻辑非(not
)
表达式1 | not 表达式1 |
---|---|
True |
False |
False |
True |
实例训练05 -参加手机店的打折活动
print("\n手机店正在打折,活动进行中......") #输出提示信息
strweek = input("请输入星期: ") #输入具体星期几
intTime = int(input("请输入参与时间(范围: 0~23) : ")) #输入时间
#判断是否满足活动参与条件
if (strweek == "星期三" and (intTime >= 10 and intTime <= 11)) or (strweek == "星期五" and (intTime >= 14 and intTime <=15)):
print("恭喜您,获得了折扣活动参与资格!") #输出提示信息
else:
print("对不起,您来晚一步,期待下次活动开始......") #输出提示信息
6、位运算符
运算符 | 描述 | 例子 | 结果 |
---|---|---|---|
& |
位与 | 4 & 5 (二进制 100 & 101) |
4 |
` | ` | 位或 | `4 |
^ |
位异或 | 4 ^ 5 (二进制 100 ^ 101) |
3 |
~ |
位取反 | ~4 (二进制 ~100) |
-5 |
<< |
左移 | 4 << 2 (二进制 100 << 2) |
16 |
>> |
右移 | 4 >> 2 (二进制 100 >> 2) |
1 |
7、运算符优先级表
Python 中运算符的优先级如下(从高到低):
**
(幂运算)~
,+x
,-x
(位取反和正负号)*
,/
,//
,%
(乘法、除法、整除、取模)+
,-
(加法、减法)<<
,>>
(左移、右移)&
(位与)^
(位异或)|
(位或)==
,!=
,<
,>
,<=
,>=
(比较运算符)is
,is not
(身份运算符)in
,not in
(成员运算符)not
,or
,and
(逻辑运算符)=
,+=
,-=
,*=
,/=
,//=
,%=
,**=
,<<=
,>>=
,&=
,^=
,|=
(赋值运算符)
请注意,实际编程时,为了提高代码的可读性,建议使用括号来明确指定运算的顺序。
二、基本输入和输出
在Python中,基本的输入和输出是程序与用户进行交互的基础。以下是Python中实现基本输入和输出的方法:
1、基本输入
在Python中,input()
函数用于获取用户输入。当input()
函数被调用时,程序会暂停执行,等待用户在控制台输入文本并按下回车键。用户输入的内容将作为字符串返回。
# 获取用户输入
user_input = input("请输入一些内容: ")
print("您输入的内容是: " + user_input)
在这个例子中,程序会打印出 "请输入一些内容:" 并等待用户输入。用户输入的文本在按下回车键后会被赋值给变量 user_input
,然后程序会继续执行并打印出用户输入的内容。
2、基本输出
在Python中,print()
函数用于将信息输出到控制台。print()
函数可以接受一个或多个参数,并将它们转换为字符串后输出。
# 输出字符串
print("Hello, World!")
# 输出多个参数
name = "Alice"
age = 30
print("姓名:", name, "年龄:", age)
在这个例子中,程序会输出 "Hello, World!" 以及 "姓名: Alice 年龄: 30"。
3、格式化输出
Python提供了多种方式来格式化输出,使输出的文本更加清晰和易于阅读。
-
百分号格式化(
%
):name = "Bob" age = 25 print("%s 是 %d 岁。" % (name, age))
-
str.format()
方法:name = "Alice" age = 30 print("{} 是 {} 岁。".format(name, age))
-
f-string(格式化字符串字面量,Python 3.6+):
name = "Charlie" age = 35 print(f"{name} 是 {age} 岁。")
f-string是最新的字符串格式化方法,它提供了一种简洁且易读的方式来嵌入表达式到字符串字面量中。
4、错误处理
在进行输入操作时,有时需要处理用户输入的非法数据。例如,如果期望用户输入一个数字,但用户输入了非数字的字符串,可以尝试使用try-except
块来捕获ValueError
异常。
try:
number = int(input("请输入一个数字: "))
print("您输入的数字是:", number)
except ValueError:
print("错误:请输入一个有效的数字。")
在这个例子中,如果用户输入的不是数字,程序会捕获ValueError
异常,并打印出错误信息。
通过这些基本的输入和输出操作,Python程序能够与用户进行交互,获取必要的输入数据,并提供反馈信息。