跳到主要内容
Python 核心基础语法 | 极客日志
Python
Python 核心基础语法 综述由AI生成 介绍 Python 核心基础语法,涵盖语言概述、数据类型、运算符、控制流、函数定义、文件操作、异常处理、模块包及高级特性。详细讲解了变量赋值、列表字典集合操作、if 循环、函数参数与作用域、文件读写模式、try-except 结构以及迭代器装饰器等知识点,适合初学者快速掌握 Python 编程基础。
编程诗人 发布于 2026/3/29 更新于 2026/6/8 33 浏览Python 语言概述
1. Python 特点
解释型语言:无需编译,直接运行
动态类型:变量类型在运行时确定
面向对象:支持面向对象编程范式
语法简洁:代码可读性强,学习曲线平缓
丰富的标准库:内置大量实用模块
2. Python 应用领域
Web 开发:Django, Flask
数据科学:NumPy, Pandas
机器学习:Scikit-learn, TensorFlow
自动化运维:Ansible
爬虫:Scrapy
桌面应用:PyQt, Tkinter
基础语法与数据类型
1. 变量与赋值
_class_name = None
x = y = z = 0
first, second, third = data
2. 基本数据类型
数值类型
binary_num = 0b1010
octal_num = 0o12
hex_num = 0xA
scientific = 2.5e3
bool_false = False
字符串
str2 = "双引号"
str3 = '''三引号 可以跨多行'''
print (len (text))
print (text[0 ])
(text[ : ])
(text.upper())
(text.lower())
(text.replace( , ))
name =
age =
( )
print
1
4
print
print
print
'P'
'J'
"小明"
20
print
f"{name} 今年{age} 岁"
列表 (List)
nested_list = [[1 , 2 ], [3 , 4 ]]
my_list.insert(1 , 'x' )
my_list.remove('a' )
popped = my_list.pop()
my_list = ['a' , 'b' , 'c' , 'd' , 'w' , 's' ]
my_list.sort()
my_list.reverse()
new_list = my_list.copy()
filtered = [x for x in range (10 ) if x % 2 == 0 ]
元组 (Tuple)
single_tuple = (1 ,)
empty_tuple = ()
字典 (Dictionary)
empty_dict = {}
value = my_dict.get('name' )
value = my_dict['name' ]
del my_dict['city' ]
print (f"{key} : {value} " )
集合 (Set)
empty_set = set ()
set2 = {2 , 3 , 4 }
union = set1 | set2
intersection = set1 & set2
difference = set1 - set2
symmetric_diff = set1 ^ set2
3. 运算符
1. 算术运算符 a + b
a - b
a * b
a / b
a // b
a % b
a ** b
2. 比较运算符 a == b
a != b
a > b
a < b
a >= b
a <= b
3. 逻辑运算符
4. 成员运算符 x in collection
x not in collection
5. 身份运算符
4. 控制流
1. 条件语句
if score >= 90 :
grade = 'A'
elif score >= 80 :
grade = 'B'
elif score >= 70 :
grade = 'C'
else :
grade = 'D'
2. 循环语句
for 循环
for fruit in fruits:
print (fruit)
for key, value in person.items():
print (f"{key} : {value} " )
print (i)
for i in range (1 , 10 , 2 ):
print (i)
print (index, value)
while 循环 count = 0
while count < 5 :
print (count)
count += 1
while count < 5 :
print (count)
count += 1
else :
print ("循环结束" )
循环控制
if i == 5 :
break
print (i)
if i % 2 == 0 :
continue
print (i)
pass
5. 函数
1. 函数定义 def function_name (parameters ):
"""函数文档字符串"""
return result
2. 函数参数
return f"{message} , {name} !"
return f"{message} , {name} !"
return sum (numbers)
sum_all(1 , 2 , 3 , 4 , 5 )
for key, value in info.items():
print (f"{key} : {value} " )
print_info(name="小明" , age=20 , city="北京" )
pass
3. 返回值
return x ** 2
return min (numbers), max (numbers)
min_val, max_val = min_max([1 , 5 , 3 , 9 , 2 ])
pass
result = do_nothing()
4. 作用域
local_var = 10
print (local_var)
def access_global ():
global global_var
global_var = 200
print (global_var)
x = 10
def inner ():
nonlocal x
x = 20
print (x)
inner()
print (x)
5. 匿名函数 (Lambda)
print (square(5 ))
sorted_numbers = sorted (numbers, key=lambda x: x % 3 )
6. 高阶函数
squared = list (map (lambda x: x**2 , numbers))
product = reduce(lambda x, y: x * y, numbers)
6. 文件相关操作 文件操作是 Python 核心实用技能,用于读取/写入文本、配置、日志等数据。核心流程:打开文件 → 操作文件(读/写)→ 关闭文件 ,推荐使用 with 语句自动管理文件生命周期(无需手动关闭)。
1. 核心基础:文件打开与关闭
关键函数:open() 语法:open(file, mode='r', encoding=None)
file:文件路径(绝对路径/相对路径)
mode:打开模式(核心参数,见下表)
encoding:编码格式(推荐 utf-8,避免中文乱码)
常用打开模式 模式 作用 读写权限 若文件不存在 指针位置 r 只读(默认) 仅读 报错 FileNotFoundError 文件开头 w 写入(覆盖) 仅写 创建文件 文件开头(清空原有内容) a 追加写入 仅写 创建文件 文件末尾 r+ 读写 读写 报错 文件开头 w+ 读写(覆盖) 读写 创建文件 文件开头(清空原有内容) a+ 读写(追加) 读写 创建文件 文件末尾 rb/wb 二进制读写(如图片/视频) 对应权限 创建文件 文件末尾
两种打开方式(推荐第二种)
方式 1:手动打开 + 关闭(需 try-except 保证关闭)
try :
file.write("手动打开文件测试" )
finally :
if file:
file.close()
方式 2:with 语句(自动关闭,推荐) with 会在代码块结束后自动关闭文件,即使出现异常也能保证资源释放:
file.write("with 语句自动关闭文件" )
3. 核心操作:读文件(r/r+/a+ 模式) 常用读方法:read()、readline()、readlines()、逐行遍历(推荐大文件)
1. read(size):读取指定字节数(默认读全部) with open ("test.txt" , mode="r" , encoding="utf-8" ) as file:
content = file.read()
print ("读取结果:" , content)
2. readline():逐行读取(每次读 1 行,含换行符 ` with open ("test.txt" , mode="r" , encoding="utf-8" ) as file:
line1 = file.readline()
line2 = file.readline()
print ("第 1 行:" , line1.strip())
print ("第 2 行:" , line2.strip())
3. readlines():读取所有行(返回列表,每行是元素) with open ("test.txt" , mode="r" , encoding="utf-8" ) as file:
lines = file.readlines()
print ("行内容:" , line.strip())
4. 逐行遍历(处理大文件不占内存) 直接用 for 循环遍历文件对象,一行一行读,适合 GB 级大文件:
for line in file:
print ("处理行:" , line.strip())
4. 核心操作:写文件(w/a/r+/w+ 模式) 常用写方法:write()、writelines()
1. write(str):写入字符串(需手动加换行符 `
file.write("第一行内容\n" )
file.write("第二行内容(w 模式覆盖原有)\n" )
file.write("第三行内容(a 模式追加)\n" )
2. writelines(iterable):写入可迭代对象(列表/元组等) lines = [
"Python 文件操作\n" ,
"writelines 写入列表\n" ,
"每个元素是字符串\n"
]
with open ("write_lines.txt" , mode="w" , encoding="utf-8" ) as file:
file.writelines(lines)
5. 进阶操作:文件指针与定位 文件指针:记录当前读写位置(类似文本编辑器的光标)
tell():获取当前指针位置(字节数)
seek(offset, whence):移动指针
offset:偏移量(正数向右移,负数向左移)
whence:基准位置(0 = 文件开头,1 = 当前位置,2 = 文件末尾)
with open ("pointer_test.txt" , mode="r+" , encoding="utf-8" ) as file:
print ("读取内容:" , content)
print ("读后指针位置:" , file.tell())
print ("移回开头后指针:" , file.tell())
print ("移到末尾后指针:" , file.tell())
6. 总结
最佳实践 :优先用 with open(...) 语句,自动管理文件关闭;
编码统一 :读写文本文件时指定 encoding="utf-8",避免中文乱码;
模式选择 :
读文件:r(仅读)、r+(读写);
写文件:w(覆盖)、a(追加);
二进制文件:rb/wb(图片/视频等);
大文件处理 :用 for line in file 逐行读取,不占内存;
异常处理 :捕获 FileNotFoundError、PermissionError 等常见错误,提升程序健壮性。
7. 异常处理
1. 基本语法 try :
except ZeroDivisionError:
print ("不能除以零" )
except (TypeError, ValueError) as e:
print (f"类型或值错误:{e} " )
except Exception as e:
print (f"发生错误:{e} " )
else :
print ("操作成功" )
finally :
print ("清理资源" )
2. 常见内置异常
3. 抛出异常 def validate_age (age ):
if age < 0 :
raise ValueError("年龄不能为负数" )
if age > 150 :
raise ValueError("年龄不合理" )
return True
def __init__ (self, message ):
super ().__init__(message)
self .custom_data = "额外的数据"
try :
raise MyCustomError("自定义错误" )
except MyCustomError as e:
print (e)
print (e.custom_data)
8. 模块与包
1. 创建模块
return f"Hello, {name} !"
def add (a, b ):
return a + b
print ("模块测试" )
print (greet("World" ))
2. 导入模块
print (math.sqrt(16 ))
print (sqrt(16 ), pi)
from math import sqrt as square_root
3. 创建包 mypackage/
__init__.py
module 1. py
module 2. py
subpackage/
__init__.py
module 3. py
4. 常用标准库
os.getcwd()
os.listdir()
sys.argv
sys.path
now = datetime.now()
today = date.today()
data = {'name' : '小明' , 'age' : 20 }
json_str = json.dumps(data)
data2 = json.loads(json_str)
pattern = r'\d+'
result = re.findall(pattern, "abc123def456" )
counter = Counter(['a' , 'b' , 'a' , 'c' ])
print (counter)
9. 高级特性
1. 迭代器与生成器
def __init__ (self, start ):
self .current = start
def __iter__ (self ):
return self
def __next__ (self ):
if self .current <= 0 :
raise StopIteration
num = self .current
self .current -= 1
return num
for num in CountDown(5 ):
print (num)
while n > 0 :
yield n
n -= 1
for num in count_down(5 ):
print (num)
2. 装饰器
def wrapper (*args, **kwargs ):
print ("函数执行前" )
result = func(*args, **kwargs)
print ("函数执行后" )
return result
return wrapper
@my_decorator
def say_hello (name ):
return f"Hello, {name} !"
print (say_hello("小明" ))
''' 函数执行前
函数执行后
Hello, 小明! '''
def decorator (func ):
def wrapper (*args, **kwargs ):
for _ in range (times):
result = func(*args, **kwargs)
return result
return wrapper
return decorator
@repeat(3 )
def greet (name ):
print (f"Hello, {name} !" )
greet("世界" )
''' Hello, 世界!
Hello, 世界!
Hello, 世界! '''
目录
Python 语言概述 1. Python 特点 2. Python 应用领域 基础语法与数据类型 1. 变量与赋值 变量命名规则 variable_name = "value" 小写加下划线 CONSTANT_NAME = 100 # 全大写表示常量 多重赋值 a, b, c = 1, 2, 3 解包赋值 data = [1, 2, 3] 2. 基本数据类型 数值类型 整数 int_num = 10 浮点数 float_num = 3.14 复数 complex_num = 3 + 4j 布尔值 bool_true = True 字符串 三种引号 str1 = '单引号' 字符串操作 text = "Python" 列表 (List) 创建列表 my_list = [1, 2, 3, 'a', 'b'] 列表操作 my_list.append(4) # 添加元素 [1, 2, 3, 'a', 'b', 4] 列表推导式 squares = [x**2 for x in range(10)] #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 元组 (Tuple) 创建元组 my_tuple = (1, 2, 3) my_tuple[0] = 10 # 错误!不能修改 解包 x, y, z = my_tuple 字典 (Dictionary) 创建字典 my_dict = {'name': '小明', 'age': 20, 'city': '北京'} 字典操作 my_dict['gender'] = '男' # 添加/修改 遍历字典 for key, value in my_dict.items(): 字典推导式 squares = {x: x**2 for x in range(5)} #{0: 0, 1: 1, 2: 4, 3: 9, 4: 16} 集合 (Set) 创建集合 my_set = {1, 2, 3, 3} # 自动去重,结果为{1, 2, 3} 集合操作 set1 = {1, 2, 3} 集合推导式 even_squares = {x**2 for x in range(10) if x % 2 == 0} #{0, 64, 4, 36, 16} 3. 运算符 1. 算术运算符 2. 比较运算符 3. 逻辑运算符 4. 成员运算符 5. 身份运算符 4. 控制流 1. 条件语句 if-elif-else score = 85 三元表达式 result = "及格" if score >= 60 else "不及格" 2. 循环语句 for 循环 遍历序列 fruits = ['apple', 'banana', 'cherry'] 遍历字典 person = {'name': '小明', 'age': 20} range 函数 for i in range(5): # 0 到 4 enumerate 获取索引 for index, value in enumerate(['a', 'b', 'c']): while 循环 带 else 的 while 循环 count = 0 循环控制 break - 跳出整个循环 for i in range(10): continue - 跳过当前迭代 for i in range(10): pass - 占位符,什么都不做 for i in range(5): 5. 函数 1. 函数定义 2. 函数参数 位置参数 def greet(name, message): 默认参数 def greet(name, message="你好"): 关键字参数 greet(name="小明", message="Hello") 可变位置参数 (args) def sum_all(numbers): 可变关键字参数 (kwargs) def print_info(info): 参数组合 def complex_func(a, b, args, c=10, *kwargs): 3. 返回值 返回单个值 def square(x): 返回多个值 (实际上是返回元组) def min_max(numbers): 返回 None (隐式) def do_nothing(): 4. 作用域 局部变量 def my_func(): 全局变量 global_var = 100 嵌套函数 def outer(): 5. 匿名函数 (Lambda) 基本语法 lambda arguments: expression 示例 square = lambda x: x ** 2 与内置函数结合使用 numbers = [1, 5, 3, 8, 2] 6. 高阶函数 map - 对每个元素应用函数 numbers = [1, 2, 3, 4] filter - 过滤元素 even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) #[2, 4] reduce - 累积计算 from functools import reduce 6. 文件相关操作 1. 核心基础:文件打开与关闭 关键函数:open() 常用打开模式 两种打开方式(推荐第二种) 方式 1:手动打开 + 关闭(需 try-except 保证关闭) 手动管理文件(不推荐,容易遗漏 close()) file = None 方式 2:with 语句(自动关闭,推荐) 自动管理文件(推荐) with open("test.txt", mode="w", encoding="utf-8") as file: 3. 核心操作:读文件(r/r+/a+ 模式) 1. read(size):读取指定字节数(默认读全部) 2. readline():逐行读取(每次读 1 行,含换行符 ` 3. readlines():读取所有行(返回列表,每行是元素) 4. 逐行遍历(处理大文件不占内存) 大文件读取(最优方案) with open("large_file.txt", mode="r", encoding="utf-8") as file: 4. 核心操作:写文件(w/a/r+/w+ 模式) 1. write(str):写入字符串(需手动加换行符 ` 1. w 模式:覆盖写入(清空原有内容) with open("write_test.txt", mode="w", encoding="utf-8") as file: 2. a 模式:追加写入(在文件末尾添加,不覆盖) with open("write_test.txt", mode="a", encoding="utf-8") as file: 2. writelines(iterable):写入可迭代对象(列表/元组等) 5. 进阶操作:文件指针与定位 6. 总结 7. 异常处理 1. 基本语法 2. 常见内置异常 基础异常类 BaseException ├─ SystemExit ├─ KeyboardInterrupt ├─ GeneratorExit └─ Exception ├─ ArithmeticError │ ├─ ZeroDivisionError │ └─ OverflowError ├─ LookupError │ ├─ IndexError │ └─ KeyError ├─ TypeError ├─ ValueError ├─ FileNotFoundError └─ ... 3. 抛出异常 自定义异常 class MyCustomError(Exception): 8. 模块与包 1. 创建模块 mymodule.py def greet(name): 当模块直接运行时执行的代码 if name == "main": 2. 导入模块 导入整个模块 import math 导入特定函数 from math import sqrt, pi 导入并重命名 import numpy as np 导入所有 (不推荐) from math import * 3. 创建包 4. 常用标准库 os - 操作系统接口 import os sys - 系统相关参数和函数 import sys datetime - 日期时间处理 from datetime import datetime, date, timedelta json - JSON 处理 import json re - 正则表达式 import re collections - 容器数据类型 from collections import Counter, defaultdict, deque 9. 高级特性 1. 迭代器与生成器 迭代器 class CountDown: 生成器函数 def count_down(n): 生成器表达式 squares = (x**2 for x in range(10)) 2. 装饰器 简单装饰器 def my_decorator(func): 带参数的装饰器 def repeat(times): 相关免费在线工具 curl 转代码 解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
Markdown转HTML 将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
HTML转Markdown 将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
JSON 压缩 通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online