Python 基础语法详解(一):从表达式、变量到数据类型

Python 基础语法详解(一):从表达式、变量到数据类型


🔥 星恒随风: 个人主页 ❄️ 个人专栏: 《指针合集》 《C语言基础》 《数据结构》 《机器学习导论》 《前端基础》 ✨ 数据即知识,压缩即智能


目录


一、基础语法演示

Python 可以直接进行算术运算。

python 复制代码
print(1 + 2 - 3)
print(1 + 2 * 3)
print((1 + 2) * 3)
print(1 + 2 / 3)

这里有几个重点:

  • print() 是 Python 的内置函数,用来输出结果;
  • +-*/ 是算术运算符;
  • Python 遵守数学中的运算优先级。

例如:

python 复制代码
print(1 + 2 * 3)

结果是:

python 复制代码
7

因为先算 2 * 3,再加 1

如果想让 1 + 2 先算,就要加括号:

python 复制代码
print((1 + 2) * 3)

结果是:

python 复制代码
9

二、什么是表达式?

像下面这些都叫表达式:

python 复制代码
1 + 2
3 * 4
10 / 3
(67.5 + 89.0 + 12.9 + 32.2) / 4

表达式可以理解成:

能够被计算出结果的一段代码。

表达式计算出来的结果,叫表达式的值。

例如:

python 复制代码
1 + 2

这个表达式的值是:

python 复制代码
3

在表达式中:

  • 123 这种直接写出来的数据叫字面值常量;
  • +-*/ 这种符号叫运算符。

三、Python 中的除法和 C / Java 不太一样

在 C 或 Java 中,如果写:

c 复制代码
2 / 3

如果两个操作数都是整数,结果通常是 0,小数部分会被截断。

但在 Python 中:

python 复制代码
print(2 / 3)

结果是:

python 复制代码
0.6666666666666666

Python 的 / 更符合日常数学直觉。

如果想做整除,可以使用 //

python 复制代码
print(7 // 2)

结果是:

python 复制代码
3

注意,// 是地板除,不是四舍五入。

对于负数:

python 复制代码
print(-7 // 2)

结果是:

python 复制代码
-4

因为它会向下取整。


四、变量:把中间结果保存起来

只做简单计算时,可以直接写表达式。

但如果计算过程变复杂,就需要保存中间结果。

这时候就要用变量。

例如求四个分数的平均值:

python 复制代码
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
print(avg)

这里的 avg 就是变量。

可以把变量理解成:

一个有名字的盒子,用来保存数据。

如果没有变量,复杂计算会变得很难维护。

比如计算方差:

python 复制代码
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4

total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg) ** 2

result = total / 3

print(result)

这里:

  • avg 保存平均值;
  • total 保存平方差之和;
  • result 保存最终方差。

变量的意义就是:

给中间结果起名字,让程序更清楚。


五、变量的定义和赋值

Python 中定义变量非常简单:

python 复制代码
a = 10

这句话的意思是:

创建一个变量 a,并把数字 10 放进去。

其中:

  • a 是变量名;
  • = 是赋值运算符;
  • 10 是变量保存的值。

注意,这里的 = 不是数学里的"等于",而是"赋值"。

也就是说:

python 复制代码
a = 10

不是在判断 a 是否等于 10,而是把 10 赋给 a

如果要判断是否相等,要使用 ==

python 复制代码
print(a == 10)

六、变量命名规则

变量名不能随便写。

Python 变量名有硬性规则,也有建议规则。


1. 硬性规则

变量名由数字、字母、下划线构成。

可以这样写:

python 复制代码
name = "张三"
age = 18
total_score = 95

但不能这样写:

python 复制代码
2name = "张三"

因为变量名不能以数字开头。

变量名也不能和 Python 关键字重复。

比如不能写:

python 复制代码
if = 10
class = 20

另外,Python 变量名区分大小写。

python 复制代码
num = 10
Num = 20

print(num)
print(Num)

numNum 是两个不同变量。


2. 建议规则

变量名最好见名知意。

不建议这样写:

python 复制代码
a = 18
b = 95
c = "张三"

更推荐:

python 复制代码
age = 18
score = 95
name = "张三"

如果变量名由多个单词组成,Python 中更常见的写法是下划线命名法:

python 复制代码
student_name = "张三"
total_score = 280
average_score = 93.3

代码不是只写给机器看的,也是写给人看的。

三个月后的你,也是"别人"。


七、变量的使用和修改

变量定义后,可以读取它的值:

python 复制代码
a = 10
print(a)

也可以修改它的值:

python 复制代码
a = 10
print(a)

a = 20
print(a)

输出:

python 复制代码
10
20

还可以把一个变量的值赋给另一个变量:

python 复制代码
a = 10
b = 20

a = b

print(a)
print(b)

输出:

python 复制代码
20
20

注意:

python 复制代码
a = b

意思是把 b 当前保存的值赋给 a


八、变量的类型:不同数据有不同规则

变量里可以保存很多种数据。

比如:

python 复制代码
a = 10
b = 3.14
c = "hello"
d = True

这些数据类型不同。

常见基础类型有:

类型 含义 示例
int 整数 10-5
float 浮点数 / 小数 3.140.5
str 字符串 "hello"'Python'
bool 布尔值 TrueFalse

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

python 复制代码
a = 10
print(type(a))

b = 0.5
print(type(b))

c = "hello"
print(type(c))

d = True
print(type(d))

九、整数 int

整数类型是 int

python 复制代码
a = 10
print(type(a))

输出:

python 复制代码
<class 'int'>

Python 中的整数非常灵活。

和 C / Java 中固定范围的整数不同,Python 的整数理论上可以表示非常大的数,只要内存足够。

例如:

python 复制代码
num = 123456789123456789123456789123456789
print(num)

这在 Python 中是合法的。


十、浮点数 float

小数类型是 float

python 复制代码
a = 0.5
print(type(a))

输出:

python 复制代码
<class 'float'>

Python 中没有单独的 double 类型。

通常可以把 Python 的 float 理解成双精度浮点数。

不过,浮点数有一个非常重要的坑:

浮点数在计算机中通常不是精确表示的。

例如:

python 复制代码
print(0.1 + 0.2)
print(0.1 + 0.2 == 0.3)

输出可能是:

python 复制代码
0.30000000000000004
False

这不是 Python 算错了,而是二进制浮点数表示方式带来的精度误差。


浮点数比较的正确方式

不要直接用 == 判断两个浮点数是否相等。

更推荐判断它们的差值是否足够小:

python 复制代码
a = 0.1 + 0.2
b = 0.3

print(abs(a - b) < 0.000001)

也可以使用标准库中的 math.isclose()

python 复制代码
import math

a = 0.1 + 0.2
b = 0.3

print(math.isclose(a, b))

输出:

python 复制代码
True

十一、字符串 str

字符串用来表示文本。

可以使用单引号,也可以使用双引号:

python 复制代码
a = 'hello'
b = "world"

print(a)
print(b)

在 Python 中,单引号和双引号没有本质区别。

下面两种写法等价:

python 复制代码
name1 = 'Python'
name2 = "Python"

字符串长度

可以使用 len() 获取字符串长度:

python 复制代码
s = "hello"
print(len(s))

输出:

python 复制代码
5

中文字符串也可以使用 len()

python 复制代码
s = "你好"
print(len(s))

输出:

python 复制代码
2

字符串拼接

字符串之间可以使用 + 拼接:

python 复制代码
a = "hello"
b = "world"

print(a + b)

输出:

python 复制代码
helloworld

如果想中间有空格:

python 复制代码
print(a + " " + b)

输出:

python 复制代码
hello world

但是字符串不能直接和整数相加:

python 复制代码
age = 18
print("年龄:" + age)

这会报错。

应该先把整数转成字符串:

python 复制代码
age = 18
print("年龄:" + str(age))

或者更推荐使用 f-string:

python 复制代码
age = 18
print(f"年龄:{age}")

十二、布尔类型 bool

布尔类型只有两个值:

python 复制代码
True
False

注意首字母必须大写。

不能写成:

python 复制代码
true
false

示例:

python 复制代码
is_student = True
is_working = False

print(type(is_student))
print(type(is_working))

布尔值经常用于条件判断。

比如:

python 复制代码
age = 20
is_adult = age >= 18

print(is_adult)

输出:

python 复制代码
True

十三、Python 的动态类型特性

Python 是动态类型语言。

这意味着:

一个变量的类型可以在程序运行过程中发生变化。

例如:

python 复制代码
a = 10
print(type(a))

a = "hello"
print(type(a))

输出:

python 复制代码
<class 'int'>
<class 'str'>

同一个变量 a,一开始保存整数,后来保存字符串。

这在 Python 中是允许的。


动态类型的优点

动态类型让代码写起来更灵活。

比如变量不需要提前声明类型:

python 复制代码
name = "张三"
age = 18
score = 95.5

不用写类似:

java 复制代码
int age = 18;

这会让 Python 代码看起来更简洁。


动态类型的缺点

动态类型也会带来问题。

比如:

python 复制代码
a = 10
a = "hello"

print(a + 1)

这段代码会报错。

因为字符串不能直接和整数相加。

所以动态类型虽然灵活,但也要求程序员更清楚每个变量当前到底是什么类型。


十四、注释:写给人看的代码说明

注释不会影响程序执行。

它的作用是解释代码,让人更容易理解程序。

比如:

python 复制代码
# 计算四个分数的平均值
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
print(avg)

# 后面的内容就是注释。

程序执行时会忽略它。


十五、注释怎么写才算好?

好的注释不是把代码翻译一遍。

比如下面这种注释意义不大:

python 复制代码
# 给 a 赋值 10
a = 10

因为代码本身已经很明显。

更好的注释应该解释:

  • 为什么这么做
  • 这段代码的目的是什么
  • 有没有容易误解的业务规则
  • 有没有特殊边界情况

比如:

python 复制代码
# input 读取到的是字符串,参与计算前需要先转成 float
score = float(input("请输入分数:"))

这类注释就有价值。


十六、文档字符串 docstring

除了 # 注释,Python 还支持文档字符串。

文档字符串通常使用三引号:

python 复制代码
"""
这是一个文档字符串。
它可以写多行内容。
"""

文档字符串一般放在:

  • 文件开头
  • 函数开头
  • 类开头

示例:

python 复制代码
def add(a, b):
    """
    计算两个数字的和。
    """
    return a + b

文档字符串不仅能起到说明作用,还可以被一些工具读取,用来生成文档。


总结

核心内容主要是:

  • 表达式是能够计算出结果的一段代码;
  • 变量用于保存数据;
  • = 是赋值,不是判断相等;
  • 变量命名要清晰、有意义;
  • Python 常见基础类型包括 intfloatstrbool
  • Python 是动态类型语言,变量类型可以在运行时变化;
相关推荐
888CC++1 小时前
java 并发编程
java·开发语言·python
Dxy12393102161 小时前
python缩放图片如何保证图片质量
python
罗超驿1 小时前
18.Web API 实战:元素与表单属性的获取和修改
开发语言·前端·javascript
ZHW_AI课题组2 小时前
腾讯云调用IP定位
人工智能·python·机器学习
被子你放开我2 小时前
CRMEB PHP多商户升级4.0太麻烦了
开发语言·php
阿里嘎多学长2 小时前
2026-06-01 GitHub 热点项目精选
开发语言·程序员·github·代码托管
zhaoshuzhaoshu2 小时前
Python文件操作详细解析带例子
python
醒醒该学习了!2 小时前
Anaconda安装教程+第一个python例子
开发语言·python