从零开始学Python(二):Python基础语法

从零开始学Python(二):Python基础语法

本系列教程将带你从零开始学习Python编程,无需任何编程基础。

什么是变量?

想象一下,变量就像一个有标签的盒子。你可以在盒子里放东西,也可以随时更换里面的东西。

1
2
3
4
5
6
7
8
9
# 创建一个名为 "name" 的变量,在里面放入 "张三"
name = "张三"

# 创建一个名为 "age" 的变量,在里面放入数字 25
age = 25

# 打印变量的值
print(name)
print(age)

输出会显示”张三”和”25”。

变量赋值

在Python中,使用=符号给变量赋值。注意:=不是数学中的”等于”,而是”赋值给”的意思。

1
2
3
4
x = 10      # 将数字10赋值给变量x
y = 20 # 将数字20赋值给变量y
print(x) # 输出:10
print(y) # 输出:20

更改变量的值

你可以随时更改变量中的值,就像更换盒子里的东西。

1
2
3
4
5
score = 80
print(score) # 输出:80

score = 95
print(score) # 输出:95

变量命名规则

给变量起名字需要遵守一些规则,就像给宠物起名字一样,有一些约定俗成的规范。

命名规则

变量名只能包含字母、数字和下划线,不能以数字开头,区分大小写(nameName是两个不同的变量),不能使用Python关键字(如printiffor等)。

正确的命名示例包括user_name = "张三"age_25 = 25_score = 90

错误的命名示例包括2name = "张三"(不能以数字开头)、user-name = "李四"(不能使用连字符)、class = "一年级"(class是Python关键字)。

命名建议

为了让代码更易读,建议使用有意义的名字,如student_age = 18total_score = 95,而不是x = 18a = 95

使用小写字母和下划线(蛇形命名法),推荐user_name = "张三"而不是UserName = "张三"(驼峰命名)。

注释

注释是代码中不会被Python执行的部分。它的作用是说明代码的作用,帮助你和其他人理解代码。

单行注释

使用#符号创建单行注释。

1
2
3
4
5
# 这是一个注释,Python不会执行它
print("Hello, World!") # 这也是注释,在代码后面

# 下面这行代码会被执行
print("Python很有趣!")

多行注释

使用三个引号('''""")创建多行注释。

1
2
3
4
5
6
7
'''
这是一个多行注释
可以写很多行
Python会忽略这些内容
'''

print("这段代码会被执行")

为什么需要注释?

想象一下,你一个月后回来看自己写的代码。如果没有注释,你可能已经忘记这段代码是做什么的了。

不带注释的代码难以理解,而带注释的代码清晰易懂。例如计算圆的面积的公式,加上注释# 计算圆的面积:π × r²后,代码含义一目了然。

基本数据类型

Python中有几种基本的数据类型,就像生活中有不同类型的东西:数字、文字、列表等。

数字类型

整数是没有小数部分的数字,如age = 25(正整数)、temperature = -5(负整数)、big_number = 1000000000(大整数)。

浮点数是有小数部分的数字,如price = 19.99pi = 3.14159temperature = 36.5

字符串类型

字符串是文本数据,用单引号或双引号括起来。

1
2
3
4
5
6
name1 = "张三"
name2 = '李四'
message = "Hello, World!"

# 中文也可以
greeting = "你好,Python!"

布尔类型

布尔类型只有两个值:True(真)或False(假)。

1
2
3
is_student = True
is_graduated = False
has_job = True

检查变量类型

使用type()函数可以查看变量的类型。

1
2
3
4
5
6
7
8
9
age = 25
price = 19.99
name = "张三"
is_student = True

print(type(age)) # <class 'int'>
print(type(price)) # <class 'float'>
print(type(name)) # <class 'str'>
print(type(is_student)) # <class 'bool'>

用户输入

如果程序每次运行都是一样的,那就太无聊了。我们可以使用input()函数获取用户输入。

获取用户输入

1
2
3
# 获取用户输入
name = input("请输入你的名字:")
print("你好," + name + "!")

运行示例:程序提示”请输入你的名字:”,用户输入”张三”,程序输出”你好,张三!”。

input() 返回的是字符串

注意:input()函数永远返回字符串,即使用户输入的是数字。

1
2
age = input("请输入你的年龄:")
print(type(age)) # <class 'str'>,即使输入25,类型也是字符串

类型转换

如果需要将字符串转换为数字,使用int()转换为整数,float()转换为浮点数,str()转换为字符串。

1
2
3
4
5
6
7
# 获取年龄并转换为整数
age = int(input("请输入你的年龄:"))
print("明年你将" + str(age + 1) + "岁")

# 获取价格并转换为浮点数
price = float(input("请输入商品价格:"))
print("价格是:" + str(price))

实战示例:个人BMI计算器

让我们用一个实际的例子来练习刚学的知识。我们将创建一个简单的BMI(身体质量指数)计算器。

场景说明

BMI是衡量一个人是否健康的常用指标。计算公式是:BMI = 体重(kg) / 身高(m)²

完整代码

创建文件bmi_calculator.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# BMI计算器

print("=" * 35)
print(" BMI 身体质量指数计算器")
print("=" * 35)
print()

# 获取用户输入
name = input("请输入你的名字:")
height = float(input("请输入你的身高(米):"))
weight = float(input("请输入你的体重(公斤):"))

# 计算BMI
bmi = weight / (height * height)

# 显示结果
print()
print("=" * 35)
print("计算结果")
print("=" * 35)
print(name + ",你的BMI指数是:" + str(round(bmi, 2)))
print()

# 判断健康状态
if bmi < 18.5:
print("健康提示:偏瘦,注意营养补充")
elif bmi < 24:
print("健康提示:正常,继续保持!")
elif bmi < 28:
print("健康提示:超重,建议适当运动")
else:
print("健康提示:肥胖,建议咨询医生")

print("=" * 35)

运行结果

运行python3 bmi_calculator.py,程序会提示输入姓名、身高和体重,然后计算BMI并给出健康提示。

代码解析

input()获取用户输入的字符串,float()将输入转换为浮点数(身高和体重可能是小数),bmi = weight / (height * height)计算BMI的公式,round(bmi, 2)将BMI四舍五入到小数点后2位,if/elif/else进行条件判断。

常见错误

错误1:变量名使用关键字

1
2
print = "Hello"  # 错误:print是Python关键字
print(print) # 这里会报错

正确做法:

1
2
message = "Hello"
print(message)

错误2:忘记类型转换

1
2
age = input("请输入年龄:")  # 输入:25
print(age + 1) # 错误:字符串不能和数字相加

正确做法:

1
2
age = int(input("请输入年龄:"))
print(age + 1) # 输出:26

错误3:字符串拼接错误

1
2
age = 25
print("你的年龄是:" + age) # 错误:字符串不能直接和数字拼接

正确做法:

1
2
3
4
age = 25
print("你的年龄是:" + str(age)) # 先转换为字符串
# 或者
print("你的年龄是:", age) # 使用逗号分隔

错误4:变量未定义就使用

1
2
print(name)  # 错误:变量name还未定义
name = "张三"

正确做法:

1
2
name = "张三"
print(name)

系列导航