自学内容网 自学内容网

Python入门教程丨2.1 了解基本数据类型、变量、交互,写一个简单的BMI计算器!

1. 什么是变量?

顾名思义,变量就是一个可以变化的量,就像数学里的 ( x ) 是一个未知数,给定不同的 x,方程 f(x)就可以得到不同的值,在 Python 中,变量不仅可以表示数字,还可以是:数字、文字、逻辑值、列表等。

1.1 变量的命名规则
  • 只能包含字母、数字和下划线,不能以数字开头。
    ✅ 正确:my_name, age_2025
    ❌ 错误:2name, my-var
  • 避免使用保留字(如 if, for, print 等)。
  • 尽量见名知意 让变量名反映其用途,如用gender表示性别。

以下是 Python 一些常见的保留字,是 Python 中定义的用来实现特殊功能的关键字,不能作为变量名使用。

保留字

作用

保留字

作用

保留字

作用

False

表示假值

None

表示空值

True

表示真值

and

逻辑与

as

起别名

assert

断言检查

async

定义异步函数

await

暂停异步函数

break

跳出循环

class

定义类

continue

继续下一轮循环

def

定义函数

del

删除对象等

elif

多条件判断

else

条件不满足时

except

捕获异常

finally

最后执行

for

循环遍历

from

导入特定内容

global

声明全局变量

if

条件判断

import

导入模块

in

成员检查或遍历

is

身份检查

lambda

创建匿名函数

nonlocal

访问外层变量

not

逻辑非

or

逻辑或

pass

占位语句

raise

抛出异常

return

返回值

try

包裹异常代码

while

循环执行

with

资源管理

yield

定义生成器

1.2 常量

变量是可以变化的,但有些东西需要保持固定,比如数学中的 π,也就是一个常量。
Python 中没有专门用来表示常量的关键字,不过我们一般用全大写来表示“常量”,虽然技术上仍能改,但程序员约定俗成地不去更改它。

PI = 3.14159  # 常量

1.3 全局变量

在 Python 中,全局变量是在函数外部定义的变量。只要遵循一定的规则,它可以在整个程序的任何地方被访问。其作用域是整个程序,从定义的位置开始,到程序结束。

即便函数内部没有定义变量,也可以直接访问全局变量。例如

my_ip = "127.0.0.1"  # 定义一个全局变量

def function():
    print(my_ip)  # 在函数内部访问全局变量

function()

如果想要修改全局变量,则需要使用关键词global,有限像 C 语言中的指针,修改某地址的值。

my_ip = "127.0.0.1"  # 定义一个全局变量

def function():
    global my_ip  # 通过global关键字声明要修改全局变量
    my_ip = "192.168.0.1"  # 修改全局变量的值
    print(my_ip)  # 打印修改后的值,此时会输出新值 "192.168.0.1"

function()
print(my_ip)  # 在函数外再次打印全局变量,也会输出 "192.168.0.1",说明全局变量确实被修改了

假如没有正确声明,则只是修改了局部变量

my_ip = "127.0.0.1"  # 定义一个全局变量

def function():
    my_ip = "10.0.0.1"  # 这里实际是新定义了一个局部变量,和外面的全局变量不是同一个
    print(my_ip)  # 输出这个局部变量的值 "10.0.0.1"

function()
print(my_ip)  # 输出全局变量的值,仍然是 "127.0.0.1",因为函数内部并没有修改到全局变量

这里不太懂也没关系,后面函数部分还会具体介绍📒


2. 数据类型:变量的种类

在 Python 中,每个变量都属于某种类型,常见的基本数据类型如下:

数据类型

描述

示例

整数(int)

没有小数点的数字

x = 42

浮点数(float)

带小数点的数字

y = 3.14

字符串(str)

一串文字或字符,用引号括起来

name = "Python"

布尔值(bool)

只有 True 或 False

is_fun = True

列表(list)

有序的可变元素集合

fruits = ["apple", "banana"]

字典(dict)

键值对的集合,像真实字典

info = {"name": "Tom", "age": 10}

元组(tuple)

有序的不可变元素集合

coords = (10, 20)

集合(set)

无序、唯一的元素集合

numbers = {1, 2, 3}

我们先从简单的开始了解:

2.1 整数(int)

整数是没有小数点的数字,用于表示计数或序号。

x = 10  # 这是一个整数
y = -5  # 负数也是整数
z = 0   # 零也是整数
2.2 浮点数(float)

浮点数是带小数点的数字,常用于表示精确值(如测量值、货币金额)。

pi = 3.14159  # 圆周率
price = 9.15 # 商品价格
2.3 字符串(str)

字符串是由一对引号括起来的文字内容,可以是单引号 ' ' 或双引号 " "

name = "凌小添"      # 使用双引号
greeting = 'Hello!' # 使用单引号
2.4 布尔值(bool)

布尔值只有两个取值:TrueFalse,常用于逻辑判断。

is_raining = True
is_sunny = False

细心的小伙伴会发现,这里我们并没有特别的去指定变量的类别,

这是因为Python 是 动态类型语言,不需要在声明变量时指定类型,系统会根据赋值内容自动推断类型:

x = 10         # 整数
y = "Hello"    # 字符串
z = 3.14       # 浮点数

假如我们使用的是 C 语言等强类型语言,则必须声明类型

#include <stdio.h>

int x = 10; // 定义整数
char y[] = "Hello"; // 定义字符数组
double z = 3.14; // 定义浮点数

从语法来说,显然 Python 更加简洁,但对于初学者来说,也必须注意对不同数据类型的操作

示例:容易犯错的情况

1)不同类型的数据相加

x = 10
x = "10"
print(x + 5)  # 报错:无法将 str 和 int 相加

解决方法:将字符串类型转换为整数:

x = "10"
print(int(x) + 5)  # 输出 15

2) 没有定义变量就进行操作

print(z)  # 报错:变量 z 未定义

解决方法:先对 z 初始化,z = 0


3. 数据类型的常见操作

3.1 整数和浮点数的运算

Python 支持常见的数学运算:

x = 10
y = 3

# 加法
print(x + y)  # 输出 13

# 减法
print(x - y)  # 输出 7

# 乘法
print(x * y)  # 输出 30

# 除法(结果总是浮点数)
print(x / y)  # 输出 3.3333333333333335

# 取整
print(x // y)  # 输出 3

# 取余数(模运算)
print(x % y)  # 输出 1

# 幂运算,x的y次方
print(x ** y)  # 输出 1000
3.2 字符串的常见操作

字符串可以拼接、重复和操作:

name = "凌小添"
greeting = "Hello"

# 拼接
message = greeting + ", " + name + "!"
print(message)  # 输出 Hello, 凌小添!

# 字符串乘法
echo = name * 3
print(echo)  # 输出 凌小添凌小添凌小添
3.3 布尔值与逻辑运算

布尔值常用于条件判断,在开发中也可以用 10来表示真和假。

is_raining = True
is_sunny = False

# 逻辑与
print(is_raining and is_sunny)  # 输出 False

# 逻辑或
print(is_raining or is_sunny)  # 输出 True

# 逻辑非
print(not is_raining)  # 输出 False

4. 输入和输出

在编程中,输入(Input)输出(Output) 是与用户交互的关键环节。

Python 提供了简单且灵活的输入输出方法,下面我们用几个例子来说明。


例4.1 求两数之和
# 输入两个数字并计算它们的和
num1 = input("请输入第一个数字:")  # 输入的内容是字符串
num2 = input("请输入第二个数字:")

# 类型转换,将字符串转换为整数
num1 = int(num1)
num2 = int(num2)

# 计算和并输出
result = num1 + num2
print(f"两个数字的和是:{result}")

print可以实现将结果打印在窗口中

input() 可以接收用户输入,但默认输入的是字符串,需要用 int()float() 转换为数字。


例4.2 单位转化

我们再来看一个例子,将丈和尺化为米。

# 输入长度(丈和尺)
zhang = float(input("请输入长度(单位:丈):"))
chi = float(input("请输入长度(单位:尺):"))

# 计算总长度(米)
total_meters = zhang * 3.333 + chi * 0.333

# 输出结果
print("\n----- 长度转换结果 -----")
print(f"{zhang:.2f} 丈 和 {chi:.2f} 尺 等于 {total_meters:.2f} 米")

注:格式化输出{miles:.2f} 表示保留两位小数。


例4.3 购物计算器
# 输入商品信息
item_name = input("请输入商品名称:")
price = float(input(f"请输入 {item_name} 的单价(元):"))
quantity = int(input(f"请输入购买的数量:"))
discount = float(input("请输入折扣(例如,九折输入0.9):"))

# 计算总价
total_price = price * quantity * discount

# 输出结果
print("\n----- 购物小票 -----")
print(f"商品名称:{item_name}")
print(f"单价:{price:.2f} 元")
print(f"数量:{quantity}")
print(f"折扣:{discount * 100:.0f}%")
print(f"总价:{total_price:.2f} 元")
print("-------------------")

5. 来写点代码试试!

本节课我们学习了 Python 中的变量、常见数据类型、类型转换、变量操作以及输入输出,下面我们通过一个小项目来复习一下,可以先动手尝试实现。


个人健康管理系统详细要求:

  • 通过 input() 获取用户的基本信息,包括姓名、性别、年龄、身高(厘米)和体重(公斤)。
  • 注意将用户输入的数字转换为 intfloat 类型以便后续计算。
  • BMI=体重(kg)/身高(m)^2
  • 身高需要从厘米转换为米,因此用 height_cm / 100
  • 使用条件语句 if-elif-else 对 BMI 的值进行区间判断:
    • BMI < 18.5:偏瘦
    • 18.5 ≤ BMI < 24.9:正常
    • 25 ≤ BMI < 29.9:超重
    • BMI ≥ 30:肥胖
  • 结合性别和年龄,给出更贴合个人的健康建议,例如女性需注意补钙,男性需关注心血管健康。
  • 使用格式化字符串(如 f"{bmi:.2f}")确保输出的数据格式美观且精确。

如果你已经完成了这个例子,和下面的例子对照对照,看看结果吧~

例 5.1 通过身高体重计算 BMI 评估健康情况
# 个人健康管理系统
print("欢迎来到个人健康管理系统!💪")

# 输入个人基本信息
name = input("请输入您的名字:")
gender = input("请输入您的性别(男/女):")
age = int(input("请输入您的年龄(单位:岁):"))
height_cm = float(input("请输入您的身高(单位:厘米):"))
weight_kg = float(input("请输入您的体重(单位:公斤):"))

# 将身高从厘米转换为米
height_m = height_cm / 100

# 计算BMI
bmi = weight_kg / (height_m ** 2)

# 输出基本信息和BMI
print("\n----- 个人健康信息 -----")
print(f"姓名:{name}")
print(f"性别:{gender}")
print(f"年龄:{age} 岁")
print(f"身高:{height_cm:.1f} 厘米")
print(f"体重:{weight_kg:.1f} 公斤")
print(f"BMI 指数:{bmi:.2f}")

# 根据BMI判断健康状况
if bmi < 18.5:
    bmi_status = "偏瘦"
    advice = "多吃一些高蛋白和高热量食物,注意加强营养。"
elif 18.5 <= bmi < 24.9:
    bmi_status = "正常"
    advice = "体重正常,继续保持健康饮食和适量运动!"
elif 25 <= bmi < 29.9:
    bmi_status = "超重"
    advice = "体重略超标,建议减少高热量食物,增加运动。"
else:
    bmi_status = "肥胖"
    advice = "体重过高,请注意饮食控制,并养成锻炼习惯。"

# 根据性别和年龄补充建议
if gender == "女" and age > 50:
    extra_advice = "建议注意骨密度,适当补钙。"
elif gender == "男" and age > 50:
    extra_advice = "建议定期监测血压和心脏健康。"
else:
    extra_advice = "保持良好的生活习惯,定期体检。"

# 输出健康评估和建议
print("\n----- 健康评估 -----")
print(f"BMI 状态:{bmi_status}")
print(f"建议:{advice}")
print(f"额外建议:{extra_advice}")


“纸上学来终觉浅,绝知此事要躬行。”

编程的核心不是听懂了多少理论,而是能不能写出代码并让它运行!

编程的实践性非常强,只有置身事内,才能真正体会编程的乐趣。

别害怕犯错,错误是最好的老师。


原文地址:https://blog.csdn.net/w646645452/article/details/145093376

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!