第一单元: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循环
  • 你掌握了字符串的基本操作
  • 你了解了列表的基础使用

继续加油,下一个单元我们将学习更有趣的内容!