Skip to content

📦 变量和计算

一、变量和数据类型

在编程里,表达式是指能够被计算出具体值的语句。简单说,就是“算式”,可以是一个数字、变量,也可以是变量和数字的组合、加减乘除、函数调用等。

1. 什么是变量?

变量就像一个盒子,用来存储数据。 我们需要给这个盒子起个名字,以便后面使用:

python
age = 10
name = "小明"

这里的 agename 就是变量名,分别保存了一个数字 10 和一个字符串 "小明"

变量的赋值不只是数值和字符串,还可以是一个表达式:

python
a = 10
b = 20 + 10
c = a + b # 计算机将a的值10和b的值30赋值给c,最终c得到40的值

💬: 为什么需要变量?

2. 常见的变量类型

Python 中的变量不需要声明类型,直接赋值就可以了,系统会自动识别变量的类型。

类型示例说明
整数:intage = 10不带小数点的数
浮点: floatpi = 3.14带小数点的数
字符串: strname = "弦子"用引号括起来的文字
布尔: boolis_happy = True只有 TrueFalse 两个值

你可以使用 type() 来查看变量的类型:

python
x = "hello"
print(type(x))  # 输出:<class 'str'>

3. 变量的命名规则(必须遵守)

Python 对变量的命名有严格规则:

  • 合法的命名:

  • 只能用**字母、数字、下划线(_)**组成

  • 不能以数字开头

  • 不能用 Python 的关键字(比如 if, class, for 等)

  • 错误示例:

python
2name = "错误"     # 不能以数字开头
class = "也错误"   # class 是关键字

一般来说,我们可以使用英文名字来对一个变量进行命名,比如存放数量的变量可以用number,如果需要多个单词表示,则使用下划线来分开,比如学生名字变量则可以用 student_name来保存,对于一些有关联的变量,也可以使用数字作为后缀,通过这种方法命名的变量基本不会违反命名规则,对于变量名要能体现出这个变量的作用,这样才有助于我们阅读程序。

4. 变量命名风格(建议遵守)

为了让代码更容易阅读,大家通常遵守以下命名风格:

风格名称示例使用场景
小写加下划线user_name✅ 推荐用于普通变量
小驼峰命名userName有些 Java 程序员习惯这样写
全大写加下划线MAX_SIZE✅ 推荐用于常量(虽然 Python 没有真正的常量机制)

5. 同时给多个变量赋值

Python 支持一行同时给多个变量赋值,非常方便!

python
x, y = 1, 2
print(x)  # 输出:1
print(y)  # 输出:2

也可以让多个变量拥有相同的值:

python
a = b = c = 0
print(a, b, c)  # 输出:0 0 0

6. 交换变量

Python 交换变量的值比C/C++都要方便很多,比如交换变量a和变量b的值:

python
a,b = b,a

以下程序定了一个ab的值,并交换他们初始的值,最后打印出来

python
a = 10
b = 20
a,b = b,a
print(a,b)   # 输出:20 10

2个变量的交换比较常见,但是 Python 也支持多个变量的交换:

python
a = 10
b = 20
c = 12
a,b,c = b,c,a
print(a,b,c)

7. 变量的类型转换

Python 有多种变量类型,他们之间可以进行转换,比如字符串的"123"可以转换成数值的123,这样我们就可以进行数学的运算,对于数据的转换,我们需要用到 Python 提供的库函数:

函数作用说明示例
int()把数据转换成整数int("123")123
float()转换成小数float("3.14")3.14
str()转换成字符串str(456)"456"
bool()转换成布尔值(True/False)bool(0)False

二、数学表达式

对于任何编程语言,都必须提供数学运算,使用 Python 可以非常方便的对不同的数值进行常规的数值运算,比如加,简,乘,除,甚至求幂,取整,取余等等,以下是基本的数学运算符:

运算符含义示例结果
+加法3 + 25
-减法5 - 23
*乘法4 * 312
/除法(小数)7 / 23.5
//整除7 // 23
%取余7 % 21
**幂运算2 ** 38

Python 的数学运算和我们日常使用一致,也有优先级(比如先乘除后加减):

优先级运算符说明
1**幂运算(最高)
2* / // %乘、除、整除、取余
3+ -加法、减法

()的优先级是最高的,可以使用括号来指定你需要先计算的部分,通常由于多种运算符(Python 不只有数学运算符)的加入会让程序变得比较复杂,可直接用括号来保证运算的顺序。

三、输入和输出

输出print函数和输出input函数的内容比较多,我们后续再深入的学习,这里由于编程需要,简单地介绍最基础的用法。

1. 输入函数:input()

用来从键盘获取数据。输入的内容会以字符串的形式返回。

python
x = input("请输入一个数字:")
print(x)

说明:

  • input() 会显示括号里的提示文字
  • 返回值总是字符串,所以要做数学计算,得用 int()float() 转换

2. 输出函数: print()

用来把内容显示在屏幕上。

python
name = "小明"
print("你好," + name)

也可以一次输出多个变量:

python
a = 10
b = 20
print("a =", a, "b =", b)

3. 示例

以下程序输入一个数字,并输出它的平方:

python
x = input("请输入一个数字:")
x = float(x)   # 转换成小数
print("它的平方是:", x ** 2)

四、练习

  1. 定义一个变量ab,将变量a赋值10,b赋值"Python"

  2. 使用 input()函数输入一个数值存放到变量num中,打印出num * 2 的值

  3. 输入一个整数,计算并输出它的平方数

  4. 输入两个整数,计算并输出它们的平均值

  5. 输入一个整数,计算它的算数平方根

  6. 输入长和宽,输出矩形的面积和周长


  7. 挑战题:求一元二次方程的两个解(保证有解):

    对一元二次方程有:

ax2+bx+c=0
  • 判别式(delta):
Δ=b24ac
  • 两个解的公式:
x1=b+Δ2a,x2=bΔ2a
  • 本题输入保证 Δ>0,所以一定有两个不相等的实数解。

参考数据:

abcdelta解1(较大)解2(较小)
1-3212.01.0
1-5613.02.0
2-73253.00.5
1-1-6253.0-2.0
4-4-3641.5-0.5
1-4343.01.0

💬 与我联系 QQ:774165314 | 微信:Yonas_Luo