Python 以其简洁的语法和丰富的内置功能著称,掌握其核心函数、句式与模块是高效编程的基础。

以下内容旨在提供可直接背诵和反复练习的要点与示例。

一、 常用内置函数 (Built-in Functions)

这些函数无需导入任何模块,开箱即用。

函数 核心用途 典型示例
print() 输出内容到控制台,用于调试和显示结果。 print("Hello", name, end='!')
len() 返回序列(字符串、列表、元组、字典等)的长度或项目数。 len([1, 2, 3]) 返回 `
3`。
type() 返回对象的类型。 type(100) 返回 <class 'int'>
int(), float(), str() 类型转换。 int("123"), str(456), float(7)
input() 从标准输入读取一行字符串。 name = input("Enter your name: ")
range() 生成一个整数序列,常用于循环。 for i in range(5): 生成 0,1,2,3,4
list(), dict(), tuple(), set() 创建或转换对应的数据类型。 list('abc') 返回 ['a', 'b', 'c']
sum(), max(), min() 对可迭代对象求和、找最大值、最小值。 sum([1,2,3]) 返回 `
6`
sorted() 返回一个新的排序列表。 sorted([3,1,2]) 返回 [1,2,3]
enumerate() 为可迭代对象添加索引,形成(索引, 值)对。 for i, v in enumerate(['a','b']):
zip() 将多个可迭代对象“打包”成元组序列。 list(zip([1,2], ['a','b']))[(1,'a'), (2,'b')]
map() 将函数应用于可迭代对象的每个元素。 list(map(str, [1,2,3]))['1','2','3']
filter() 用函数过滤可迭代对象,保留使函数返回True的元素。 list(filter(lambda x: x>0, [-1,0,1]))[1]
isinstance() 检查对象是否是指定类或元组中某个类的实例。 isinstance(10, int) 返回 True
dir() 返回对象的属性、方法列表。 dir([]) 查看列表的所有方法。
help() 获取函数或模块的帮助文档。 help(print)
round() 对浮点数进行四舍五入。 round(3.14159, 2) 返回 `
3.14`。
id() 返回对象的唯一标识(内存地址)。 id(obj)
abs() 返回数字的绝对值。 abs(-10) 返回 `
10`

记忆口诀“打(print)量(len)类型(type),转(int/str)换输入(input)范围(range)。

列(list)表求(sum)最值(max/min),排序(sorted)枚举(enumerate)拉链(zip)。

映射(map)过滤(filter)查实例(isinstance),目录(dir)求助(help)四舍(round)入。”


二、 常用句式与控制流

这是构建程序逻辑的骨架。

  1. 条件判断 (if-elif-else)

    score = 85
    if score >= 90:
        grade = 'A'
    elif score >= 80: # 注意是 elif,不是 else if
        grade = 'B'
    else:
        grade = 'C'
    print(grade) # 输出 B
    
  2. 循环 (for, while)

    • for 循环遍历序列:
      for item in ['apple', 'banana', 'orange']:
          print(f"I like {item}.")
      
    • while 循环满足条件时执行:
      count = 0
      while count < 3:
          print(count)
          count += 1  # 等价于 count = count + 1
      
  3. 列表推导式 (List Comprehension)
    快速生成列表的简洁语法,务必掌握。

    # 生成平方列表
    squares = [x**2 for x in range(5)]  # [0, 1, 4, 9, 16]
    # 带条件的推导式
    even_squares = [x**2 for x in range(10) if x % 2 == 0]  # [0, 4, 16, 36, 64]
    
  4. 异常处理 (try-except-else-finally)

    try:
        result = 10 / int(input("请输入除数: "))
    except ZeroDivisionError:
        print("错误:除数不能为零!")
    except ValueError:
        print("错误:请输入一个有效的数字!")
    else:
        print(f"结果是:{result}")
    finally:
        print("计算尝试结束。") # 无论是否异常都会执行
    

三、 常用标准库模块

模块是扩展Python功能的利器,以下是最常用的几个。

模块名 主要用途 关键函数/类与简单示例
os 与操作系统交互,管理文件和目录。 os.getcwd(): 获取当前工作目录。
os.listdir('.'): 列出当前目录文件。
os.path.join('folder', 'file.txt'): 跨平台路径拼接。
sys 访问与Python解释器相关的变量和函数。 sys.argv: 获取命令行参数列表。
sys.exit(0): 退出程序。
json 编码和解码JSON数据,用于数据交换。 json.dumps(python_obj): 将Python对象转为JSON字符串。
json.loads(json_str): 将JSON字符串转为Python对象。
datetime 处理日期和时间。 datetime.datetime.now(): 获取当前时间。
dt.strftime('%Y-%m-%d'): 时间格式化输出。
random 生成随机数。 random.randint(1, 10): 生成1到10的随机整数。
random.choice(['a','b','c']): 随机选择。
re 正则表达式,用于复杂的字符串匹配与查找。 re.findall(r'\d+', 'a12b34'): 找出所有数字,返回 ['12','34']
math 数学运算。 math.sqrt(16): 开平方,得4.0。
math.pi: 常数π。
collections 提供有用的扩展数据类型。 from collections import Counter
Counter('abracadabra'): 统计字符频率。

四、 综合练习与背诵建议

练习1:数据处理小脚本

import os
import json
from datetime import datetime

# 1. 使用 os 和 datetime
current_time = datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"data_{current_time}.json"
print(f"准备创建文件: {filename}")

# 2. 模拟一些数据并用 json 保存
data = {
    "project": "Python Basics",
    "author": "Learner",
    "scores": [85, 92, 78, 90],
    "passed": True
}
# 将字典写入文件
with open(filename, 'w', encoding='utf-8') as f:
    json.dump(data, f, indent=2) # indent 使json文件更易读
print(f"数据已保存至 {filename}")

# 3. 读取并处理数据
with open(filename, 'r', encoding='utf-8') as f:
    loaded_data = json.load(f)
    avg_score = sum(loaded_data['scores']) / len(loaded_data['scores'])
    print(f"平均分是: {avg_score:.2f}") # :.2f 格式化保留两位小数

练习2:列表推导式与随机数

import random

# 生成一个包含10个随机整数的列表(范围1-100)
random_numbers = [random.randint(1, 100) for _ in range(10)]
print(f"随机列表: {random_numbers}")

# 使用列表推导式找出其中的偶数
even_numbers = [x for x in random_numbers if x % 2 == 0]
print(f"其中的偶数: {even_numbers}")

# 使用内置函数
print(f"最大值: {max(random_numbers)}")
print(f"列表长度: {len(random_numbers)}")

背诵与熟能生巧建议:

  1. 分类记忆:将函数按“输入输出”、“数据类型转换”、“序列操作”、“数学计算”等类别分组记忆。
  2. 每日一练:每天选择2-3个函数或一个模块,编写小程序使用它们,例如用os模块遍历目录,用json模块读写配置文件。
  3. 善用help()dir():在交互环境(如Python Shell, Jupyter Notebook)中,对任何不熟悉的函数或模块使用help()查看文档,用dir()查看其所有方法。
  4. 模仿与重构:阅读他人代码时,留意其使用的函数和句式,尝试用自己的方式重写相同功能。
  5. 构建工具集:将常用的代码片段(如读取CSV、发送HTTP请求、日志记录)封装成自己的函数或小模块,积累个人代码库。

通过反复练习上述函数、句式和模块,将其内化为肌肉记忆,是提升Python编程熟练度最直接的路径。


参考来源

更多推荐