第一单元:Python基础语法
从零开始,轻松入门Python编程
预计学习时间:3-4小时
单元介绍
欢迎来到Python基础课程的第一单元!在这个单元中,你将学习Python编程最基础、最重要的概念。即使你之前完全没有接触过编程,也不用担心——我们会一步步引导你。
学习目标
- 了解什么是编程和Python
- 学会使用print函数输出内容
- 理解变量的概念和使用方法
- 掌握Python的基本数据类型
- 学会使用基本运算符进行计算
- 能够使用input函数获取用户输入
- 掌握条件语句if/elif/else
- 学会使用for循环和while循环
- 掌握字符串的基本操作
- 了解列表的基础使用
学习提示
💡 重要提示:学习编程最好的方法就是动手实践!在阅读教程的同时,建议你打开Python编辑器,跟着示例代码一起敲一遍。遇到不懂的地方可以多试几次,编程就是在不断试错中进步的!
1.1 你的第一行Python代码:print函数
让我们从最经典的"Hello, World!"程序开始!这是学习任何编程语言的传统第一步。
什么是print函数?
print函数就像是Python的"嘴巴",它可以把你想让它说的话显示在屏幕上。
基本用法
# 这是一条注释,Python会忽略它
print("Hello, World!")
print("你好,世界!")
print(123)
print(3.14)
小提示
- 引号:文字需要用引号(单引号或双引号都可以)括起来
- 数字:数字不需要引号
- 括号:print后面一定要有圆括号()
- 注释:以#开头的内容是注释,用来解释代码
试一试
现在轮到你了!试着用print函数输出你的名字:
print("我的名字是:李巧沅")
1.2 变量:给数据起个名字
想象一下,你有一个盒子,你可以把东西放进去,然后给这个盒子起个名字。下次你想用这个东西的时候,只要叫盒子的名字就可以了。这就是变量!
什么是变量?
变量就是存储数据的容器。你可以把数字、文字等各种数据存放在变量里。
如何创建变量
# 创建一个名为name的变量,存储文字
name = "李巧沅"
# 创建一个名为age的变量,存储数字
age = 18
# 创建一个名为pi的变量,存储小数
pi = 3.14159
# 使用变量
print(name)
print(age)
print(pi)
变量命名规则
- ✅ 可以用:字母、数字、下划线
- ❌ 不能用:数字开头、特殊符号、空格
- 📝 建议:使用有意义的名字,比如name、age、score
修改变量的值
变量的值是可以改变的,就像你可以把盒子里的东西拿出来,放进新的东西:
score = 80
print(score) # 输出 80
score = 90 # 修改score的值
print(score) # 输出 90
score = score + 5 # 在原来的基础上加5
print(score) # 输出 95
1.3 数据类型:不同种类的数据
就像生活中有不同种类的东西(水果、文具、衣服等),Python中也有不同类型的数据。让我们来认识一下最常用的几种!
四种基本数据类型
1. 整数(int)
整数就是没有小数部分的数,可以是正数、负数或零。
age = 18
temperature = -5
count = 0
print(type(age)) # 查看类型
2. 浮点数(float)
浮点数就是有小数部分的数。
pi = 3.14159
height = 1.65
weight = 50.5
print(type(pi))
3. 字符串(str)
字符串就是文字,需要用引号括起来。
name = "李巧沅"
greeting = '你好!'
message = "Python真有趣!"
print(type(name))
4. 布尔值(bool)
布尔值只有两个:True(真)和False(假)。
is_student = True
is_teacher = False
is_adult = age >= 18
print(type(is_student))
类型转换
有时候我们需要把一种类型转换成另一种类型:
# 字符串转数字
age_str = "18"
age = int(age_str)
print(age + 1) # 输出 19
# 数字转字符串
score = 95
score_str = str(score)
print("我的分数是:" + score_str)
# 整数转浮点数
num = 10
num_float = float(num)
print(num_float) # 输出 10.0
1.4 运算符:让数据动起来
运算符就像是计算器上的按钮,可以让我们对数据进行各种运算。让我们来学习最常用的几种!
算术运算符
| 运算符 | 说明 | 示例 | 结果 |
|---|---|---|---|
| + | 加法 | 5 + 3 | 8 |
| - | 减法 | 10 - 4 | 6 |
| * | 乘法 | 3 * 4 | 12 |
| / | 除法 | 10 / 3 | 3.333... |
| // | 整除 | 10 // 3 | 3 |
| % | 取余数 | 10 % 3 | 1 |
| ** | 幂运算 | 2 ** 3 | 8 |
运算示例
a = 10
b = 3
print(a + b) # 加法
print(a - b) # 减法
print(a * b) # 乘法
print(a / b) # 除法
print(a // b) # 整除
print(a % b) # 取余数
print(a ** b) # 幂运算
比较运算符
| 运算符 | 说明 | 示例 | 结果 |
|---|---|---|---|
| == | 等于 | 5 == 3 | False |
| != | 不等于 | 5 != 3 | True |
| > | 大于 | 5 > 3 | True |
| < | 小于 | 5 < 3 | False |
| >= | 大于等于 | 5 >= 3 | True |
| <= | 小于等于 | 5 <= 3 | False |
逻辑运算符
# and:与运算,两边都为True时结果才为True
print(True and True) # True
print(True and False) # False
# or:或运算,只要有一边为True结果就为True
print(True or False) # True
print(False or False) # False
# not:非运算,取反
print(not True) # False
print(not False) # True
# 实际应用
age = 20
is_student = True
print(age >= 18 and is_student) # True
1.5 input函数:与用户互动
print函数是Python"说话",那我们怎么让Python"听"我们说话呢?这就是input函数的作用!
基本用法
# 简单的输入
name = input("请输入你的名字:")
print("你好," + name + "!")
# 输入数字(注意要转换类型)
age = input("请输入你的年龄:")
age = int(age)
print("明年你就" + str(age + 1) + "岁了!")
综合练习:简单的计算器
print("=== 简单加法计算器 ===")
num1 = float(input("请输入第一个数字:"))
num2 = float(input("请输入第二个数字:"))
result = num1 + num2
print("结果:" + str(num1) + " + " + str(num2) + " = " + str(result))
1.6 条件语句:让程序做判断
生活中我们经常需要做判断:"如果今天下雨,我就带伞;否则,我就不带伞。"在Python中,我们用条件语句来实现这样的逻辑!
if语句:如果...就...
if语句是最简单的条件语句,当条件为True时,就执行缩进的代码块。
age = 18
if age >= 18:
print("你已经成年了!")
# 注意缩进:Python用缩进来区分代码块
score = 85
if score >= 60:
print("恭喜,你及格了!")
print("继续努力!")
if-else语句:如果...否则...
当条件为True时执行一块代码,为False时执行另一块代码。
age = 17
if age >= 18:
print("你已经成年了!")
else:
print("你还未成年。")
score = 55
if score >= 60:
print("恭喜,你及格了!")
else:
print("很遗憾,你需要补考。")
if-elif-else语句:多个条件判断
当有多个条件需要判断时,使用elif。
score = 85
if score >= 90:
print("优秀!")
elif score >= 80:
print("良好!")
elif score >= 70:
print("中等!")
elif score >= 60:
print("及格!")
else:
print("不及格!")
嵌套条件语句
条件语句里面还可以再放条件语句。
age = 20
has_license = True
if age >= 18:
print("你已经成年了")
if has_license:
print("你可以开车了")
else:
print("你还需要考驾照")
else:
print("你还未成年")
实际应用:猜数字游戏
secret_number = 42
guess = int(input("猜一个数字(1-100):"))
if guess == secret_number:
print("恭喜你,猜对了!")
elif guess < secret_number:
print("猜小了,再试试!")
else:
print("猜大了,再试试!")
1.7 循环语句:让程序重复执行
想象一下,你要打印100次"Hello",难道要写100行print语句吗?当然不用!循环语句可以帮你轻松搞定!
for循环:遍历序列
for循环可以遍历一个序列(比如列表、字符串等)中的每一个元素。
# 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print("我喜欢吃" + fruit)
# 使用range()函数
for i in range(5):
print(i) # 输出 0, 1, 2, 3, 4
for i in range(1, 6):
print(i) # 输出 1, 2, 3, 4, 5
for i in range(1, 10, 2):
print(i) # 输出 1, 3, 5, 7, 9
# 计算1到10的和
total = 0
for i in range(1, 11):
total = total + i
print("1到10的和是:" + str(total))
while循环:条件满足时重复
while循环在条件为True时会一直执行,直到条件变为False。
# 简单的while循环
count = 1
while count <= 5:
print("这是第" + str(count) + "次")
count = count + 1
# 猜数字游戏(完整版)
secret_number = 42
guess = 0
attempts = 0
while guess != secret_number:
guess = int(input("猜一个数字(1-100):"))
attempts = attempts + 1
if guess < secret_number:
print("猜小了!")
elif guess > secret_number:
print("猜大了!")
print("恭喜你,猜对了!用了" + str(attempts) + "次机会!")
break和continue
break用来跳出循环,continue用来跳过当前循环的剩余部分。
# break:跳出循环
for i in range(10):
if i == 5:
break # 当i等于5时跳出循环
print(i) # 输出 0, 1, 2, 3, 4
# continue:跳过当前循环
for i in range(10):
if i == 5:
continue # 当i等于5时跳过这次循环
print(i) # 输出 0, 1, 2, 3, 4, 6, 7, 8, 9
# 实际应用:寻找第一个偶数
numbers = [3, 5, 7, 8, 9, 10]
for num in numbers:
if num % 2 == 0:
print("找到第一个偶数:" + str(num))
break
嵌套循环
循环里面还可以再放循环。
# 九九乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print(str(j) + "×" + str(i) + "=" + str(i*j), end=" ")
print() # 换行
1.8 字符串操作:处理文字数据
字符串是Python中最常用的数据类型之一。让我们来学习如何操作字符串!
字符串的基本操作
# 字符串拼接
greeting = "你好"
name = "李巧沅"
message = greeting + "," + name
print(message)
# 字符串重复
laugh = "哈" * 5
print(laugh)
# 获取字符串长度
text = "Python编程"
print(len(text)) # 输出 6
字符串索引和切片
字符串中的每个字符都有一个位置编号(索引),从0开始。
text = "Python编程真有趣"
# 获取单个字符(索引从0开始)
print(text[0]) # 输出 P
print(text[6]) # 输出 编
print(text[-1]) # 输出 趣(最后一个字符)
# 切片:获取子字符串
# 格式:[起始:结束:步长]
print(text[0:6]) # 输出 Python
print(text[6:]) # 输出 编程真有趣
print(text[::2]) # 输出 Pto编真趣(每隔一个字符)
print(text[::-1]) # 输出 趣真程编nohtyP(反转)
常用字符串方法
text = " Hello, Python! "
# 去除空格
print(text.strip()) # 去除两端空格
print(text.lstrip()) # 去除左边空格
print(text.rstrip()) # 去除右边空格
# 大小写转换
print(text.upper()) # 全部大写
print(text.lower()) # 全部小写
print(text.capitalize()) # 首字母大写
# 查找和替换
print(text.find("Python")) # 查找子字符串位置
print(text.replace("Python", "World")) # 替换
# 判断
print(text.startswith(" H")) # 是否以...开头
print(text.endswith("! ")) # 是否以...结尾
# 分割和连接
sentence = "苹果,香蕉,橙子,葡萄"
fruits = sentence.split(",") # 分割成列表
print(fruits)
joined = " - ".join(fruits) # 用连接符连接
print(joined)
# 格式化字符串
name = "李巧沅"
age = 18
print(f"我叫{name},今年{age}岁")
print("我叫{},今年{}岁".format(name, age))
实际应用:文字处理
# 统计字符出现次数
text = "Hello, World! Hello, Python!"
count = text.count("Hello")
print("Hello出现了" + str(count) + "次")
# 判断是否包含某个字符
email = "test@example.com"
if "@" in email and "." in email:
print("这看起来像一个邮箱地址")
# 提取信息
url = "https://www.example.com/path/to/page"
domain = url.split("/")[2]
print("域名是:" + domain)
1.9 列表基础:存储多个数据
列表是Python中最常用的数据结构之一,它可以存储多个数据,就像一个购物清单一样!
创建列表
# 创建空列表
empty_list = []
# 创建包含元素的列表
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
numbers = [1, 2, 3, 4, 5]
mixed = ["Hello", 123, 3.14, True]
# list()函数
chars = list("Python")
print(chars) # 输出 ['P', 'y', 't', 'h', 'o', 'n']
print(fruits)
print(numbers)
访问列表元素
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
# 通过索引访问(从0开始)
print(fruits[0]) # 输出 苹果
print(fruits[2]) # 输出 橙子
print(fruits[-1]) # 输出 葡萄(最后一个)
# 切片
print(fruits[1:3]) # 输出 ['香蕉', '橙子']
print(fruits[:2]) # 输出 ['苹果', '香蕉']
print(fruits[2:]) # 输出 ['橙子', '葡萄']
修改列表元素
fruits = ["苹果", "香蕉", "橙子"]
# 修改元素
fruits[1] = "西瓜"
print(fruits) # 输出 ['苹果', '西瓜', '橙子']
# 添加元素
fruits.append("葡萄") # 在末尾添加
print(fruits)
fruits.insert(1, "香蕉") # 在指定位置插入
print(fruits)
# 删除元素
fruits.remove("橙子") # 删除指定元素
print(fruits)
popped = fruits.pop() # 删除并返回最后一个元素
print(popped)
print(fruits)
del fruits[0] # 删除指定索引的元素
print(fruits)
常用列表方法
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
# 排序
numbers.sort()
print(numbers) # 升序
numbers.sort(reverse=True)
print(numbers) # 降序
# 反转
numbers.reverse()
print(numbers)
# 统计
print(len(numbers)) # 长度
print(numbers.count(1)) # 统计1出现的次数
print(sum(numbers)) # 求和
print(min(numbers)) # 最小值
print(max(numbers)) # 最大值
# 查找
print(numbers.index(5)) # 查找元素位置
# 复制
new_numbers = numbers.copy()
print(new_numbers)
列表遍历
fruits = ["苹果", "香蕉", "橙子"]
# 遍历元素
for fruit in fruits:
print("我喜欢吃" + fruit)
# 遍历索引和元素
for index, fruit in enumerate(fruits):
print("第" + str(index + 1) + "个水果是" + fruit)
# 列表推导式
numbers = [1, 2, 3, 4, 5]
squares = [x * x for x in numbers]
print(squares) # 输出 [1, 4, 9, 16, 25]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers) # 输出 [2, 4]
1.10 单元练习题
太棒了!你已经学完了第一单元的所有内容。现在让我们通过一些练习来巩固所学知识吧!
练习题1:自我介绍
编写一个程序,使用变量存储你的姓名、年龄、爱好,然后用print函数输出一段自我介绍。
查看参考答案
name = "李巧沅"
age = 18
hobby = "美食探索"
print("大家好!")
print("我叫" + name)
print("今年" + str(age) + "岁")
print("我喜欢" + hobby)
练习题2:BMI计算器
BMI(身体质量指数)= 体重(kg) / 身高(m)²。编写一个程序,输入身高和体重,计算BMI并根据结果给出健康建议。
查看参考答案
weight = float(input("请输入体重(kg):"))
height = float(input("请输入身高(m):"))
bmi = weight / (height ** 2)
print("你的BMI是:" + str(round(bmi, 2)))
if bmi < 18.5:
print("体重过轻,建议增加营养")
elif 18.5 <= bmi < 24:
print("体重正常,继续保持!")
elif 24 <= bmi < 28:
print("体重偏重,建议适当运动")
else:
print("体重过重,建议咨询医生")
练习题3:猜数字游戏
编写一个完整的猜数字游戏,随机生成1-100之间的数字,让用户猜,直到猜对为止,并记录猜测次数。
查看参考答案
import random
secret_number = random.randint(1, 100)
guess = 0
attempts = 0
print("=== 猜数字游戏 ===")
print("我想了一个1-100之间的数字,你来猜猜看!")
while guess != secret_number:
guess = int(input("请输入你的猜测:"))
attempts = attempts + 1
if guess < secret_number:
print("猜小了,再大一点!")
elif guess > secret_number:
print("猜大了,再小一点!")
print("🎉 恭喜你,猜对了!")
print("这个数字是:" + str(secret_number))
print("你用了" + str(attempts) + "次机会!")
练习题4:九九乘法表
使用嵌套循环打印九九乘法表。
查看参考答案
print("=== 九九乘法表 ===")
for i in range(1, 10):
for j in range(1, i + 1):
product = i * j
print(str(j) + "×" + str(i) + "=" + str(product), end=" ")
print()
练习题5:成绩统计
编写一个程序,让用户输入多个学生的成绩,然后计算总分、平均分、最高分和最低分。
查看参考答案
scores = []
print("=== 成绩统计系统 ===")
print("请输入学生成绩(输入-1结束):")
while True:
score = float(input("成绩:"))
if score == -1:
break
scores.append(score)
if len(scores) > 0:
print("\n=== 统计结果 ===")
print("学生人数:" + str(len(scores)))
print("总分:" + str(sum(scores)))
print("平均分:" + str(round(sum(scores) / len(scores), 2)))
print("最高分:" + str(max(scores)))
print("最低分:" + str(min(scores)))
else:
print("没有输入成绩!")
单元总结
🎉 恭喜你完成了第一单元的学习!
- 你学会了用print函数输出内容
- 你理解了变量的概念和用法
- 你认识了四种基本数据类型
- 你掌握了基本运算符的使用
- 你学会了用input函数与用户互动
- 你掌握了条件语句if/elif/else
- 你学会了使用for循环和while循环
- 你掌握了字符串的基本操作
- 你了解了列表的基础使用
继续加油,下一个单元我们将学习更有趣的内容!