文章目录
- 一、基础用法
- 二、变量与类型
-
- [1. 变量的定义与使用](#1. 变量的定义与使用)
- [2. 变量的类型](#2. 变量的类型)
- [3. 为什么需要数据类型?](#3. 为什么需要数据类型?)
- 三、注释
-
- [1. 注释的作用](#1. 注释的作用)
- [2. Python注释的两种语法](#2. Python注释的两种语法)
- [3. 注释规范](#3. 注释规范)
- 四、输入输出
-
- [1. 输出:`print()`函数](#1. 输出:
print()函数) - [2. 输入:`input()`函数](#2. 输入:
input()函数) - [3. 示例:输入4个小数,计算平均值](#3. 示例:输入4个小数,计算平均值)
- [1. 输出:`print()`函数](#1. 输出:
- 五、运算符
-
- [1. 算术运算符](#1. 算术运算符)
- [2. 关系运算符](#2. 关系运算符)
- [3. 逻辑运算符](#3. 逻辑运算符)
- [4. 赋值运算符](#4. 赋值运算符)
- 六、练习
一、基础用法
Python最直观的用法就是作为计算器进行算术运算。
python
print(1 + 2 - 3) # 输出:0
print(1 + 2 / 3) # 输出:1.6666666666666665(除法返回小数)
这里有个关键差异:和C/Java不同,Python中2/3会返回小数(而非截断小数部分),更符合日常计算直觉。
二、变量与类型
1. 变量的定义与使用
(1)定义变量
变量定义语法极简:变量名 = 数据
python
# 定义变量存储平均值
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
print(avg) # 输出:50.4
(2)变量命名规则
- 硬性规则 :
- 由字母、数字、下划线(
_)组成,不能包含空格或特殊字符(如!、@)。 - 不能以数字开头(比如
123avg是非法的,avg123是合法的)。 - 不能与Python关键字重复(如
if、for、print等,这些是Python自带的"保留字")。 - 大小写敏感(
num和Num是两个不同的变量)。
- 由字母、数字、下划线(
- 软性建议 :
- 用有描述性的单词(比如
student_score表示学生分数,而非x、y)。 - 多单词用"驼峰命名法"(首单词小写,后续单词首字母大写,如
totalCount、personInfo)。
- 用有描述性的单词(比如
(3)变量的修改与赋值
Python中修改变量无需重新声明,直接用=覆盖即可;也可以将一个变量的值赋给另一个变量:
python
a = 10
print(a) # 输出:10
# 修改变量a的值
a = 20
print(a) # 输出:20
# 将a的值赋给b
b = a
print(b) # 输出:20
2. 变量的类型
变量存储的数据有不同类型,Python会在赋值时自动确定类型 (无需像C/Java那样显式声明int、string),常见类型如下:
| 类型 | 说明 | 示例 | 常用操作 |
|---|---|---|---|
| 整数(int) | 无范围限制的整数(内存足够即可) | a = 10、b = 1000000000 |
+、-、*、/等算术运算 |
| 浮点数(float) | 双精度小数(相当于C/Java的double) | a = 0.5、b = 67.5 |
同整数,注意精度问题 |
| 字符串(str) | 文本数据,用单引号(')或双引号(")包裹 |
a = 'hello'、b = "world" |
+(拼接)、len()(求长度) |
| 布尔(bool) | True(真)、False(假) |
a = True、b = 10 > 20 |
逻辑判断 |
(1)查看变量类型:type()函数
用type(变量名)可查看变量的具体类型:
python
a = 10
print(type(a)) # 输出:<class 'int'>
b = 0.5
print(type(b)) # 输出:<class 'float'>
c = 'hello'
print(type(c)) # 输出:<class 'str'>
d = True
print(type(d)) # 输出:<class 'bool'>
(2)字符串的常用操作
- 求长度:
len()
python
a = 'hello'
print(len(a)) # 输出:5(包含5个字符)
- 字符串拼接:
+
python
b = 'world'
print(a + ' ' + b) # 输出:hello world(拼接时可加空格)
注意: 字符串不能和整数/浮点数直接相加
python
# print('年龄:' + 20) # 报错!需先转换类型
print('年龄:' + str(20)) # 输出:年龄:20(str()将整数转为字符串)
(3)Python的动态类型特性
和C/Java不同,Python变量的类型可以在程序运行中动态变化(这是Python的核心特性之一):
python
a = 10
print(type(a)) # 输出:<class 'int'>(初始为整数)
a = 'hello'
print(type(a)) # 输出:<class 'str'>(后续变为字符串)
这种特性让代码更灵活,但大型项目中需注意变量类型一致性,避免混乱。
3. 为什么需要数据类型?
- 决定内存占用 :不同类型占用的内存空间不同(比如
float占8个字节,int根据数值大小动态调整)。 - 限制操作范围 :不同类型支持的运算不同(比如
int/float可以做乘法,str不能做乘法;str可以用len()求长度,int不能)。
三、注释
注释是不参与程序执行的代码说明,目的是让自己和他人能快速理解代码逻辑------好的注释是代码的"灵魂",也是编程规范的核心要求。
1. 注释的作用
python
# 计算4个分数(67.5, 89.0, 12.9, 32.2)的方差
# 方差公式:(每项-平均值)²求和 ÷ (项数-1)
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) # 输出:924.3566666666667
如果没有注释,后续阅读代码时很难快速知道这是计算方差的逻辑------注释不仅方便他人,也能帮三个月后的自己回忆代码用途。
2. Python注释的两种语法
(1)单行注释
用#开头,#右侧的内容均为注释,适用于简短说明:
python
# 这是单行注释,用于解释单行代码
num = 10 # 也可以写在代码右侧(注释代码功能)
(2)文档字符串(多行注释)
用三引号("""或''')包裹,支持多行内容,适用于文件、函数或类的详细说明:
python
"""
这是文档字符串(多行注释)
作用:计算两个整数的和
参数:无
返回值:打印求和结果
"""
a = 10
b = 20
print(a + b)
3. 注释规范
- 内容准确:注释必须和代码逻辑一致,代码修改后需同步更新注释(避免"注释骗人")。
- 篇幅合理 :不用过于精简(比如
# 计算和足够,不用只写# 和),也不用长篇大论(避免注释比代码还长)。 - 语言规范:国内项目优先用中文注释(外企可例外),避免中英文混杂。
- 积极向上:注释中不能包含负能量或不文明内容。
四、输入输出
程序需要和用户交互:用户向程序传递信息(输入 ),程序向用户展示结果(输出),最基础的交互方式是通过控制台。
1. 输出:print()函数
print()是Python内置的输出函数,可打印字符串、变量、表达式结果等,支持多种格式:
python
# 1. 打印字符串
print('Hello Python!') # 输出:Hello Python!
# 2. 打印变量
num = 10
print(num) # 输出:10
# 3. 打印表达式结果
print(10 + 20) # 输出:30
# 4. 混合输出(f-string语法,最常用)
name = '小明'
age = 20
print(f'姓名:{name},年龄:{age}') # 输出:姓名:小明,年龄:20
其中f-string (前缀f+字符串+{变量/表达式})是Python3.6+的特性,简洁直观,推荐优先使用。
2. 输入:input()函数
input()是Python内置的输入函数,用于读取用户从控制台输入的内容,返回值为字符串类型:
python
# 基础用法:带提示信息的输入
name = input('请输入你的姓名:')
print(f'你好,{name}!') # 输入:小明 → 输出:你好,小明!
# 注意:input()返回值是字符串,需转换类型才能做算术运算
num1 = input('请输入第一个整数:')
num2 = input('请输入第二个整数:')
# print(num1 + num2) # 输入:10 20 → 输出:1020(字符串拼接,非加法)
print(int(num1) + int(num2)) # 输入:10 20 → 输出:30(int()转为整数)
3. 示例:输入4个小数,计算平均值
python
# 输入4个小数
a = float(input('请输入第一个小数:'))
b = float(input('请输入第二个小数:'))
c = float(input('请输入第三个小数:'))
d = float(input('请输入第四个小数:'))
# 计算平均值
avg = (a + b + c + d) / 4
# 输出结果(保留2位小数,更美观)
print(f'四个数的平均值:{avg:.2f}')
运行效果:
请输入第一个小数:10.2
请输入第二个小数:20.3
请输入第三个小数:30.4
请输入第四个小数:40.5
四个数的平均值:25.35
五、运算符
除了基础算术运算符,Python还提供关系运算符、逻辑运算符、赋值运算符等,覆盖各类运算场景,是实现复杂逻辑的核心。
1. 算术运算符
| 运算符 | 说明 | 示例 | 结果 |
|---|---|---|---|
+ |
加法 | 10 + 20 |
30 |
- |
减法 | 20 - 10 |
10 |
* |
乘法 | 10 * 20 |
200 |
/ |
除法(返回小数) | 20 / 3 |
6.666... |
% |
取余数(模运算) | 7 % 2 |
1 |
** |
乘方 | 4 ** 2(4的平方) |
16 |
// |
取整除法(向下取整) | 7 // 2、-7 // 2 |
3、-4 |
注意:
- 除法
/不能用0做除数,否则会报错(ZeroDivisionError)。 - 取整除法
//是"向下取整",而非四舍五入(比如-7//2结果是-4,而非-3)。 - 乘方
**支持小数次方(比如4**0.5是求平方根,结果为2.0)。
2. 关系运算符
返回值为布尔类型(True/False):
| 运算符 | 说明 | 示例 | 结果 |
|---|---|---|---|
< |
小于 | 10 < 20 |
True |
<= |
小于等于 | 10 <= 10 |
True |
> |
大于 | 10 > 20 |
False |
>= |
大于等于 | 10 >= 20 |
False |
== |
等于 | 10 == 20 |
False |
!= |
不等于 | 10 != 20 |
True |
注意:
- 字符串比较:按"字典序"比较(类似英语词典的排序规则),逐字符对比ASCII码:
python
print('a' < 'b') # True('a'的ASCII码小于'b')
print('hello' < 'world') # True(首字符'h' < 'w')
- 浮点数不能用
==比较:浮点数在计算机中存储不精确,会有微小误差:
python
print(0.1 + 0.2 == 0.3) # 输出:False(实际结果是0.3000000000000004)
正确做法:判断差值是否小于允许的误差范围(比如1e-6):
python
a = 0.1 + 0.2
b = 0.3
print(-1e-6 < (a - b) < 1e-6) # 输出:True(误差在可接受范围)
3. 逻辑运算符
用于逻辑判断,操作数为布尔类型,返回值也为布尔类型:
| 运算符 | 说明 | 逻辑规则 | 示例 | 结果 |
|---|---|---|---|---|
and |
并且(逻辑与) | 两侧均为True才返回True | 10 < 20 and 20 < 30 |
True |
or |
或者(逻辑或) | 两侧均为False才返回False | 10 > 20 or 20 < 30 |
True |
not |
逻辑取反 | True→False,False→True | not (10 < 20) |
False |
特性:
- 短路求值 (提高效率):
and:左侧为False时,右侧不再执行(整体结果已确定为False)。or:左侧为True时,右侧不再执行(整体结果已确定为True)。
python
print(10 > 20 and 10 / 0) # 输出:False(右侧除以0未执行,无报错)
print(10 < 20 or 10 / 0) # 输出:True(右侧除以0未执行,无报错)
- 连续比较简化 :Python支持
a < b < c的写法(等价于a < b and b < c),更直观:
python
print(10 < 20 < 30) # 输出:True(无需写两个and)
4. 赋值运算符
| 运算符 | 说明 | 示例 | 等价写法 |
|---|---|---|---|
= |
基础赋值 | a = 10 |
- |
+= |
加法赋值 | a += 2 |
a = a + 2 |
-= |
减法赋值 | a -= 2 |
a = a - 2 |
*= |
乘法赋值 | a *= 2 |
a = a * 2 |
/= |
除法赋值 | a /= 2 |
a = a / 2 |
%= |
取余赋值 | a %= 2 |
a = a % 2 |
**= |
乘方赋值 | a **= 2 |
a = a ** 2 |
- 链式赋值:同时给多个变量赋相同值:
python
a = b = c = 10
print(a, b, c) # 输出:10 10 10
- 多元赋值:快速交换两个变量的值(无需临时变量):
python
a = 10
b = 20
a, b = b, a # 交换a和b的值
print(a, b) # 输出:20 10
注意: Python中没有++(自增)、--(自减)运算符,如需自增/自减,用a += 1或a -= 1即可。
六、练习
练习1:计算圆的面积
需求:输入圆的半径,计算并输出面积(π取3.14159)。
python
pi = 3.14159
radius = float(input('请输入圆的半径:'))
area = pi * radius **2
print(f'圆的面积:{area:.2f}') # 保留2位小数
练习2:判断成绩等级
需求:输入学生分数(0-100),判断等级:90+为A,80-89为B,70-79为C,60-69为D,60以下为E。
python
score = float(input('请输入学生分数:'))
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'E'
print(f'成绩等级:{grade}')
练习3:计算两个数的最大公约数
需求:输入两个正整数,用辗转相除法计算最大公约数。
python
# 辗转相除法
a = int(input('请输入第一个正整数:'))
b = int(input('请输入第二个正整数:'))
# 确保a > b
if a < b:
a, b = b, a # 交换a和b的值
while b != 0:
remainder = a % b
a = b
b = remainder
print(f'最大公约数:{a}')