一、行与缩进
在我们写出第一行程序的时候会发现,为什么结尾没有分号;,这就是python这门语言最大的区别,把这种不符合人类交互正常行为的尽量抛弃掉,我们现在在说话时,也很少使用符号做结尾,说完一句换行就可以了。
其他语言都会使用{}来表明这是代码块、函数、类、控制逻辑,这种也被python抛弃了,在python里,采用缩进来控制
而每个条件语句、函数、类等末尾就加个:来表明,这也很像正常的交流,某某说,比如小明说,我们一般就是小明:今天我要暴走了,就OK了,
如下,缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。一般默认为4个空白,就是一个tab
is_robot = True
if is_robot:
print("yes, 我是机器人")
运行结果:
如果我们写成这样,将is_robot 修改成False
is_robot = False
if is_robot:
print("yes, 我是机器人")
print("我会工作")
第一个print语句属于if的范围,而第二个print就不属于,所以只会输出第二个print,第二个print和if是同一层缩进,属于平级。
二、 字面量、变量、常量
直观看代码,应该可以理解了字面量、常量、变量的区别
Python 中的变量赋值不需要类型声明,使用=号给它赋值,就变成变量了。
print(100) # 整型字面量
print("I am robot") # 字符串字面量
MAX_SPEED = 120 # 在python里无强制常量,全大写为约定俗成的不可改变的常量(仅提示开发者不应修改)
# MAX_SPEED,全大写约定为常量,120为整型字面量
current_time = "21:59" # 存储当前时间 current_time 为变量, 21:59 为字符串字面量
1、字面量(Literals)
定义:直接在代码中写入的固定值,无需计算或赋值即可使用。
一般出现在=号的右边或者print语句中。
常见类型:
我们先了解整型、浮点、字符串、布尔、空值这几种,其他的后续课程会逐步介绍。
- 整型:
42
、-5
- 浮点型:
3.14
、-0.001
- 字符串:
"Hello"
、'Python'
(支持三引号多行字符串)- 布尔型:
True
、False
- 空值:
None
- 容器类:
- 列表:
[1, 2, 3]
- 元组:
(4, 5)
- 字典:
{"name": "Alice"}
- 集合:
{1, 2, 3}
示例:
print(100) # 整型字面量
print("2025-03-09") # 字符串字面量(当前日期)
2、变量(Variables)
定义:用于存储数据的标识符,通过赋值(=
)动态绑定值。
特点:
动态类型:变量类型可随时改变,如 x = 10
→ x = "text"
。
命名规则:
以字母或下划线开头,区分大小写。
避免关键字(如 if
、for
)。
作用域:
局部变量(函数内定义)
全局变量(函数外定义,需用 global
关键字修改)
非局部变量(嵌套函数中用 nonlocal
声明)
示例:
current_time = "21:59" # 存储当前时间
current_time = None # 变量类型可动态改变
3、常量(Constants)
定义:约定俗成的“不可变”值,但Python无强制常量机制。
实现方式:
全大写命名:如 MAX_SPEED = 120
(仅提示开发者不应修改)。
模块级常量:例如 math.pi
(通过模块提供固定值)。
枚举类:
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
注意:常量实际仍可被修改,只是一种约定俗成,需依赖代码规范。
三、注释
不参与代码运行,而只是给开发者看,了解程序功能,声音作者,用途等的说明文字
1、通过#号
# 这是一个单行注释
2、通过 三引号"“”“”"来添加多行注释
"""
这是一个多行注释
需要三个引号
与代码相区分
"""
这是一个没有任何注释的代码
print(100)
print("I am robot")
MAX_SPEED = 120
current_time = "21:59"
这是一个有注释的代码
"""
这是一个演示程序
演示字面量、常量、变量
print进行输出
"""
print(100) # 整型字面量
print("I am robot") # 字符串字面量
MAX_SPEED = 120 # 在python里无强制常量,全大写为约定俗成的不可改变的常量(仅提示开发者不应修改)
# MAX_SPEED,全大写约定为常量,120为整型字面量
current_time = "21:59" # 存储当前时间 current_time 为变量, 21:59 为字符串字面量
运行结果一样,有注释是不是更容易理解代码呢?
四、数据类型
1、基本数据类型
Python 内置的基础数据类型,直接表示单一数据,先了解基本数据类型即可,其他类型后续课程会逐步讲解。
整型(
int
)
- 特点:无大小限制,支持十进制、二进制(
0b101
)、八进制(0o77
)、十六进制(0xFF
)。- 示例:
age = 30
浮点型(
float
)
- 特点:带小数点的数值,支持科学计数法(
3e5
)。- 示例:
temperature = 36.5
布尔型(
bool
)
- 特点:仅
True
或False
,常用于逻辑判断。- 示例:
is_valid = True
字符串(
str
)
- 特点:不可变序列,支持单引号、双引号、三引号(多行字符串)。
- 示例:
date = "2025-03-09" # 当前日期 message = '''今日任务: 1. 完成报告 2. 提交审核'''
空值(
NoneType
)1.特点:表示无数据,唯一值为
None
。2.示例:
result = None
2、容器类型
用于存储多个数据的复合类型。
列表(
list
)
- 特点:有序、可变,元素可重复。
- 示例:
tasks = ["会议", "编程", "健身"] tasks.append("阅读") # 动态修改
元组(
tuple
)
- 特点:有序、不可变,适用于固定数据(如坐标)。
- 示例:
point = (3, 5)
字典(
dict
)
- 特点:键值对集合,键唯一且不可变(如字符串、数字)。
- 示例:
user = {"name": "Alice", "age": 28, "join_date": "2025-03-09"}
集合(
set
)
- 特点:无序、元素唯一,用于去重或集合运算(交集、并集)。
- 示例:
unique_ids = {101, 102, 103}
3、其他内置类型
Python 额外支持的实用类型。
字节(
bytes
)
- 特点:不可变二进制序列,常用于文件读写。
- 示例:
data = b'\x00\x01\x02'
字节数组(
bytearray
)
- 特点:可变版本的
bytes
。范围(
range
)
- 特点:生成连续整数序列,常用于循环。
- 示例:
nums = range(1, 6) # 1,2,3,4,5
枚举(
Enum
)
- 特点:定义命名常量集合。
- 示例:
from enum import Enum class Status(Enum): PENDING = 1 APPROVED = 2
五、类型检查
使用 type()
或 isinstance()
:
print(type("我是机器人"))
print(type(389))
print(type(3.14))
print(type(None))
print(type(True))
num = 2025
print(isinstance(num, int)) # True
date_str = "2025-03-09"
print(isinstance(date_str, int)) # False
输出结果为:
可以用一个变量存储类型信息
var_type = type("我是机器人")
print(var_type)
var_type = type(389)
print(var_type)
var_type = type(3.14)
print(var_type)
var_type = type(None)
print(var_type)
var_type = type(True)
print(var_type)
结果为:
变量有没有类型?
没有。在python里,变量不需要定义类型,存储了啥就是啥。
字符串变量表示存储了字符串,而不是表示变量就是字符串
六、类型转换
常见的转换语句:
int(x) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
str(x) | 将x转换为字符串 |
示例:
# 将数字类型转换成字符串
num_str = str(389)
print(type(num_str), num_str)
float_str = str(3.14)
print(type(float_str), float_str)
# 将字符串转换成数字
number = int("756")
print(type(number), number)
number2 = float("5.6789")
print(type(number2), number2)
运行结果:
注意1:不能将非数字的字符串转成数字,比如
# 不能将非数字的字符串转成数字
number = int("hello")
print(type(number), number)
运行报ValueError的错误:
注意2:浮点数转换成整数会丢失小数部分
# 浮点数转换成整数会丢失小数部分
number = int(5.6789)
print(type(number), number)
运行结果: