Python初学随堂笔记
语句
行
-
物理行:程序员编写代码的行。
-
逻辑行:python解释器需要执行的指令。
-
建议一个逻辑行在一个物理行上。
-
如果一个物理行中使用多个逻辑行,需要使用分号;隔开。
-
如果逻辑行过长,可以使用隐式换行或显式换行。
隐式换行:所有括号的内容换行,称为隐式换行
括号包括: () [] {} 三种
显式换行:通过折行符 \ (反斜杠)换行,必须放在一行的末尾,目的是告诉解释器,下一行也是本行的语句。
选择语句
if elif else语句
-
作用:
让程序根据条件选择性的执行语句。 -
语法:
"""
if 条件1:
语句块1
elif 条件2:
语句块2
else:
语句块3
"""
-
说明:
elif 子句可以有0个或多个。else 子句可以有0个或1个,且只能放在if语句的最后。
# 例如
number = int(input("请输入数字:"))
if number > 0:
print("正数")
elif number < 0:
print("负数")
else:
print("零")
简写 If … Else
如果只有两条语句要执行,一条用于 if,另一条用于 else,则可以将它们全部放在同一行
#单行 if else 语句
#例如
a = 20
b = 66
print("A") if a > b else print("B")
#B
#单行 if else 语句,有三个条件:
#例如
a = 200
b = 66
print("A") if a > b else print("=") if a == b else print("B")
#A
注意:
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch – case语句。
if嵌套
"""
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
"""
#例如
#如果是vip客户,消费小于等于500,享受85折
# 消费大于500,享受8折
# 如果不是vip客户,消费大于等于800,享受9折
# 消费小于800,原价
# 在终端中输入账户类型,消费金额,计算折扣.
account_type = input("请输入账户类型:")
consumption = float(input("请输入消费金额:"))
if account_type == "vip":
if consumption <= 500:
print("享受85折")
else:
print("享受8折")
else:
if consumption >= 800:
print("享受九折")
else:
print("原价")
循环语句
while语句
-
作用:
可以让一段代码满足条件,重复执行。 -
语法:
"""
while 条件:
满足条件执行的语句
else:
不满足条件执行的语句
"""
#例如
count = 0 #循环前 -- 开始值
while count < 5: # 循环条件 -- 结束值
print (count, " 小于 5")
count = count + 1 # 循环体 -- 间隔
else:
print (count, " 大于或等于 5")
"""
死循环
语法:
while True:
循环体
if 退出条件:
break
作用:
延长程序的生命周期
"""
#例如
#在终端中录入数字,如果录入空字符串则停止录入,
# 最后打印累加和.
time = 0
sum = 0
while True:
number = input("请输入数字:")
if number == " ": #" "空字符
break
sum += int(number)
print(sum)
- 说明:
else子句可以省略。
在循环体内用break终止循环时,else子句不执行。
for 语句
-
作用:
用来遍历可迭代对象的数据元素。
可迭代对象是指能依次获取数据元素的对象,例如:容器类型。 -
语法:
for 变量列表 in 可迭代对象:
语句块1
else:
语句块2 -
说明:
else子句可以省略。在循环体内用break终止循环时,else子句不执行。
range 函数
-
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)。 -
语法:
range(开始点,结束点,间隔)语法:range(stop):从零开始,每次生成一个整数后,在加一,直到stop为止(不包含stop)
range(start,stop[,step]):从start开始,直到stop停止(含头不含尾),step:步长(可为正,可为负)
-
说明:
函数返回的可迭代对象可以用for取出其中的元素
返回的数字不包含结束点
开始点默认为0
间隔默认值为1
#例如
for i in range(5):
print(i)
#0 1 2 3 4
跳转语句
break 语句
-
跳出循环体,后面的代码不再执行。
-
可以让while语句的else部分不执行。
#例如
n = 5
while n > 0:
n -= 1
if n == 2:
break
print(n)
print('循环结束。')
continue 语句
跳过本次,继续下次循环。
#例如
sum_value = 0
for number in range(1, 101):
# 思想:不满足条件 跳过 否则 累加
if number % 3 != 0:
continue # 跳过本次循环,继续下次循环
# break # 跳出循环
sum_value += number
print(sum_value)
pass 语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例
实例
while True:
pass # 等待键盘中断 (Ctrl+C)
and
and 关键字是一个逻辑运算符,用于组合条件语句:
#测试 a 是否大于 b,且 c 是否大于 a:
a = 200
b = 66
c = 500
if a > b and c > a:
print("Both conditions are True")
or
or 关键字也是逻辑运算符,用于组合条件语句
#测试 a 是否大于 b,或者 a 是否大于 c:
a = 200
b = 66
c = 500
if a > b or a > c:
print("At least one of the conditions is True")
容器类型
数学运算符
-
+:用于拼接两个容器
-
+=:用原容器与右侧容器拼接,并重新绑定变量
-
*:重复生成容器元素
-
*=:用原容器生成重复元素, 并重新绑定变量
-
< <= > >= == !=:依次比较两个容器中元素,一但不同则返回比较结果。
#例如
#拼接+ : 将两个容器所有元素合并到一个容器中
data01 = "悟空"
data02 = data01 + "八戒"
print(data02)
# 悟空八戒
# 重复*: 将容器中所有元素重复整数(2)次
data03 = data01 * 2
print(data03)
# 悟空悟空
# 比较:依次比较两个容器中元素,一但不同则返回比较结果。
print("悟空" > "唐僧")
成员运算符
-
语法:
数据 in 序列
数据 not in 序列 -
作用:
如果在指定的序列中找到值,返回bool类型。
#例如
# 命题:"悟空" 在 "我是齐天大圣孙悟空" 中
print("悟空" in "我是齐天大圣孙悟空")
# True
索引 index
- 作用:定位单个容器元素。
- 语法:容器[整数]
- 说明:
正向索引从0开始,第二个索引为1,最后一个为len(s)-1。
反向索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)。
#例如
message = "我是花果山水帘洞齐天大圣孙悟空"
print(message[1]) # 定位第二个元素
print(message[-2]) # 定位倒数第二个
切片 slice
-
作用:
定位多个容器元素。 -
语法:
容器[开始索引:结束索引:步长] -
说明:
结束索引不包含该位置元素
步长是切片每次获取完当前元素后移动的偏移量
开始、结束和步长都可以省略
写法1: 容器名称[开始:结束:间隔]
注意:不包含结束
写法2: 容器名称[开始:结束]
注意:间隔默认为1
写法3: 容器名称[:结束]
注意:开始默认为头
写法4: 容器名称[:]
注意:结束默认为尾
索引超过范围会报错
内建函数
-
len(x) 返回序列的长度
-
max(x) 返回序列的最大值元素
-
min(x) 返回序列的最小值元素
-
sum(x) 返回序列中所有元素的和(元素必须是数值类型)
附:
小练习1
a = "3456789012"
print(a[::3]) # 步长为3
print(a[3]) # 下标为3 即输出6
print(a[3:7]) # 截取一段
print(a[3:]) # 3-结尾
print(a[:7]) # 开头
print(a[:]) # 全部
小练习2
# 猜数字游戏:
# 1.答案数字为89 让用户进行猜测,猜对退出 猜错继续输入
answer = int(input("请输入一个猜测数字:")) # 0
while answer != 89:
# 让用户重新输入
answer = int(input("请输入一个猜测数字:"))