1.程序的组织结构
1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成
2.顺序结构
顺序结构:程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束
3.对象的布尔值
每个对象都有一个布尔值(True 或 False),通过 bool() 函数可以显式转换为布尔值。某些对象在布尔上下文中默认被视为 False,称为“假值”(falsy),而其他对象被视为 True,称为“真值”(truthy)。
在 Python 中,每个对象都有一个布尔值(True 或 False)的原因源于 Python 的设计哲学和其“一切皆对象”(everything is an object)的核心理念。
Python 是一种面向对象的编程语言,所有数据类型(整数、字符串、列表等)和函数、模块等都被视为对象。每个对象都拥有自己的属性和方法。
为了在布尔上下文中(如条件语句 if 或逻辑运算 and/or)统一处理这些对象,Python 为每个对象定义了一个布尔值。通过内置函数 bool(),可以显式地将任何对象转换为布尔值。
Python 中会被视为 False 的常见对象:
- False:布尔类型的值 False。
- 数值 0:整数 0 或浮点数 0.0。
- None:Python 中的空值对象,表示无值。
- 空字符串:”” 或 ‘‘(不含任何字符的字符串)。
- 空列表:[](不含元素的列表)。
- 空元组:()(不含元素的元组)。
- 空字典:{}(不含键值对的字典)。
- 空集合:set()(不含元素的集合)。
这些假值在控制流(如 if、while)和逻辑运算中非常重要。例如,检查列表是否为空时,可以直接用 if lst:,如果 lst 是空列表([]),条件为 False,不会执行代码块。
这种设计简化了代码,开发者无需显式比较 == False
或 == None
,提高了可读性和简洁性。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 博客地址: https://kirsten-1.github.io/
# 创建者: kirsten-1
# 时间: 2025/6/25 15:17
print("-------------以下对象的布尔值均为False---------------")
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(''))
print(bool(""))
print(bool([]))
print(bool(list()))
print(bool(()))
print(bool(tuple()))
print(bool({}))
print(bool(dict()))
print(bool(set()))
print("-------------其他对象的布尔值均为True---------------")
控制台结果:
4.分支结构
程序根据判断条件的布尔值选择性地执行部分代码,明确的让计算机知道在什么条件下,该去做什么
(1)单分支if结构
中文语义:如果……就…. 如果你是妖怪,就该被孙悟空打 如果下雨,就带伞 如果是周六,就不上班 语法结构:
1
2
if 条件表达式:
条件执行体
(2)双分支if…else结构
中文语义:如果……不满足……就…… 如果中奖就领奖,没中奖就不领 如果是妖怪就打,不是就不打 如果是周末不上班,不是就上班 语法结构:
1
2
3
4
if 条件表达式:
条件执行体1
else:
条件执行体2
1
2
3
4
5
6
7
money = 1000
amount = int(input("请输入你想取的金额:"))
if money >= amount:
money-=amount
print("取款成功!余额为:", money)
else:
print("取款失败!金额不足!")
(3)多分支if…elif…else结构
多分支结构
中文语义: 成绩是在90分以上吗?不是 成绩是80到90分之间吗?不是 成绩是70到80分之间吗?不是 成绩是60到70分之间吗?不是 成绩是60分以下吗?是
语法结构:
1
2
3
4
5
6
7
8
9
if 条件表达式1:
条件执行体1
elif 条件表达式2:
条件执行体2
......
elif 条件表达式N:
条件执行体N
else:
条件执行体N+1
最后的else
是可选的。
一个例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'''
是不是大于等于0小于等于100
90-100:A 包含90
80-90:B 包含80
70-80:C
60-70:D
不及格
'''
score = int(input("请录入成绩"))
if 0 <= score <= 100: # 注意python中可以像写数学表达式(0 <= score <= 100)那样写条件,其他语言不一定可以
if 90 <= score <= 100:
print("A")
elif 80 <= score < 90:
print("B")
elif 70 <= score < 80:
print("C")
elif 60 <= score < 70:
print("D")
else:
print("不及格")
else:
print("输入非法")
(4)If语句的嵌套
语法结构:
1
2
3
4
5
6
7
if 条件表达式1:
if 内层条件表达式:
内存条件执行体1
else:
内存条件执行体2
else:
条件执行体
例如:
用代码书写就是:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
isVIP = input("您是会员吗?y/n:")
bill = int(input("请输入购买金额:"))
if isVIP == 'y' :
if bill >= 200 :
print("打8折,您需要支付", bill * 0.8)
elif bill >= 100:
print("打9折,您需要支付", bill * 0.9)
else:
print("不打折,您需要支付", bill)
else:
if bill >= 200:
print("打9.5折,您需要支付", bill * 0.95)
else:
print("不打折,您需要支付", bill)
4.条件表达式
条件表达式是if……else的简写
语法结构:
x if 判断条件 else y
运算规则 如果判断条件的布尔值为True,条件表达式的返回值为x,否则条件表达式的返回值为False
例如:
1
2
3
4
5
6
7
8
a = int(input("输入第一个数"))
b = int(input("输入第二个数"))
if a >= b :
print(a, "大于等于", b)
else:
print(a, "小于", b)
是多个双分支结构,可以简写为条件表达式:
1
print(str(a) + "大于等于" + str(b) if a >= b else str(a) + "小于" + str(b))
和上面双分支的结果是一样的。
5.pass空语句
语句什么都不做,只是一个占位符,用在语法上需要语句的地方
什么时候使用:先搭建语法结构,还没想好代码怎么写的时候
哪些语句一起使用:
- if语句的条件执行体
- for-in语句的循环体
- 定义函数时的函数体
例如:下面的代码如果还没想好怎么写,就可以这么写,后期想到了可以再来补充
1
2
3
4
5
isVIP = input("您是否是会员?y/n:")
if isVIP == "y" :
pass
else:
pass
而且程序这么写不会报错。