当前位置:首页>python>大模型知识体系 L1阶段 - Python-入门

大模型知识体系 L1阶段 - Python-入门

  • 2026-09-10 06:48:24
大模型知识体系 L1阶段 - Python-入门

        Python就像日常说话一样简洁易懂,一行代码就能实现强大的功能,让你摆脱“入门即放弃”的困境。无论你是零基础小白,还是想转行进阶,无论你想做数据分析、Web开发,还是人工智能,Python都是你最好的起点。接下来,就让我们一起踏上Python学习之旅,从初识Python、使用解释器,到掌握基础语法、数据结构,再到运用模块、面向对象编程,每一步都有详细讲解和带注释的实例,跟着学、跟着练,你很快就能解锁编程技能,用代码实现自己的小想法,开启属于你的人工智能新篇章。本文共有9个章节,逐一学习:

1、 Python 初识(introduction)

首先通过如下代码对Python感性认知,和一般编程语言学习一样,最经典的输出"Hello Python!"

# 这是Python最经典的入门示例,打印"Hello, Python!"# print()是Python内置函数,用于输出内容到控制台print("Hello, Python!")  # 输出:Hello, Python!# Python可以直接进行数学运算,无需复杂的语法# 计算100以内的奇数和:1+3+5+...+99total = 0  # 定义变量total,初始值为0,用于存储累加和for i in range(1, 100, 2):  # range(1,100,2)生成1到99的奇数序列    total += i  # 累加每个奇数到total中print("1到99的奇数和为:", total)  # 输出:1到99的奇数和为:2500# Python处理字符串的便捷性message = "Python 简单又强大"  # 定义字符串变量print(message.upper())  # upper()方法将字符串转为大写,输出:PYTHON 简单又强大print(message.replace("强大", "优雅"))  # 替换字符串内容,输出:Python 简单又优雅

2、使用 Python 解释器(Interpreter)

解释器的使用方式:

  •  交互式解释器(终端输入python/python3进入);
  •  脚本文件执行(python 文件名.py);
  •  解释器的基本操作(退出、换行、注释);
  •  Python 版本查看(python --version);
# ==================== 1. 交互式解释器操作 ====================# 终端输入python/python3进入交互式环境,直接执行以下代码:# >>> 1 + 2  # 回车后直接输出3# >>> print("交互式解释器")  # 输出:交互式解释器# >>> exit()  # 退出交互式解释器# ==================== 2. 脚本文件执行 ====================# 将以下代码保存为interpreter_demo.py,终端执行:python interpreter_demo.py# 查看Python版本(代码中获取版本)import sys  # 导入系统模块print("Python版本:", sys.version)  # 输出当前Python版本,如3.10.12# 单行注释(以#开头)"""多行注释(三个双引号/单引号包裹)这是多行注释的示例"""# 执行脚本时的参数(可选)if __name__ == "__main__":  # 脚本作为主程序执行时才触发    print("这是一个Python脚本文件")  # 输出:这是一个Python脚本文件
  • 3、 Python 基础语法(Grammer)

   基础语法包括:

  • 变量与数据类型(数字、字符串、布尔值);
  • 基本运算符(算术、赋值、比较、逻辑);
  • 简单输入输出(input ()/print ());
  • 缩进的基本概念(Python 的语法核心);
  • 基本表达式和语句;
# ==================== 1. 变量与数据类型 ====================# 变量:无需声明类型,直接赋值即可age = 25  # 整数(int)height = 1.75  # 浮点数(float)name = "张三"  # 字符串(str)is_student = False  # 布尔值(bool)# 打印变量类型print("age的类型:", type(age))  # 输出:<class 'int'>print("name的类型:", type(name))  # 输出:<class 'str'># ==================== 2. 基本运算符 ====================# 算术运算符a = 10b = 3print("加法:", a + b)  # 13print("减法:", a - b)  # 7print("乘法:", a * b)  # 30print("除法:", a / b)  # 3.333...print("取整:", a // b)  # 3print("取余:", a % b)   # 1print("幂运算:", a **2)  # 100# 比较运算符print("是否相等:", a == b)  # Falseprint("是否大于:", a > b)   # True# 逻辑运算符print("逻辑与:", (a > 5) and (b < 5))  # Trueprint("逻辑或:", (a < 5) or (b < 5))   # Trueprint("逻辑非:", not is_student)       # True# ==================== 3. 输入输出 ====================# 获取用户输入(input返回的是字符串,需手动转换类型)user_age = input("请输入你的年龄:")  # 提示用户输入user_age = int(user_age)  # 转换为整数print(f"你的年龄是{user_age},明年是{user_age + 1}岁")  # f-string格式化输出# ==================== 4. 缩进(Python核心) ====================# 缩进用4个空格(或1个Tab),区分代码块if a > b:    print("a大于b")  # 缩进的代码属于if语句块    print("这行也在if块内")print("这行不在if块内")  # 无缩进,不属于if块
  • 4、 Python分支和循环结构(Control Flow)

   分支和循环结构包括:

  • 条件语句(if/elif/else);
  • 循环语句(for 循环、while 循环);
  • 循环控制(break、continue、pass);
  • 条件表达式(三元运算符);
  • range () 函数的使用;
# ==================== 1. 条件语句 ====================score = 85if score >= 90:  # 第一个条件    print("优秀")elif score >= 80:  # 第二个条件(可选多个elif)    print("良好")elif score >= 60:  # 第三个条件    print("及格")else:  # 所有条件不满足时执行    print("不及格")  # 输出:良好# 三元运算符(简化if-else)result = "及格" if score >= 60 else "不及格"print("三元运算结果:", result)  # 输出:及格# ==================== 2. for循环 ====================# 遍历列表fruits = ["苹果", "香蕉", "橙子"]for fruit in fruits:  # 遍历每个元素    print(f"当前水果:{fruit}")  # 依次输出苹果、香蕉、橙子# 遍历数字序列(range)for i in range(1, 5):  # 1,2,3,4(左闭右开)    print("循环次数:", i)# ==================== 3. while循环 ====================count = 0while count < 3:  # 条件为True时循环    print("while循环:", count)  # 输出0、1、2    count += 1  # 计数器自增,避免死循环# ==================== 4. 循环控制 ====================for i in range(1, 6):    if i == 3:        continue  # 跳过当前循环,继续下一次    if i == 5:        break     # 终止整个循环    print("控制循环:", i)  # 输出1、2、4# pass:占位符,无实际操作if score > 80:    pass  # 暂未实现逻辑,避免语法错误

5、内置数据结构(Data Structures)

核心数据结构包括:

  • 列表(List):有序、可变、可重复的序列;
  • 元组(Tuple):有序、不可变、可重复的序列;
  • 字典(Dictionary):键值对、无序、键唯一;
  • 集合(Set):无序、无重复、可哈希;
  • 各数据结构的常用方法(增删改查);
# ==================== 1. 列表(List) ====================# 定义列表nums = [1, 2, 3, 4, 5]fruits = ["苹果", "香蕉", "橙子"]# 访问元素(索引从0开始)print("列表第一个元素:", fruits[0])  # 苹果print("列表切片:", nums[1:3])       # [2,3](左闭右开)# 修改元素(可变)fruits[1] = "葡萄"print("修改后列表:", fruits)  # ['苹果', '葡萄', '橙子']# 常用方法fruits.append("西瓜")  # 末尾添加fruits.insert(1, "草莓")  # 指定位置插入fruits.remove("橙子")  # 删除指定元素print("列表长度:", len(fruits))  # 4# ==================== 2. 元组(Tuple) ====================# 定义元组(不可变,用()或直接逗号分隔)person = ("张三", 25, 1.75)print("元组元素:", person[0])  # 张三# 元组不可修改,以下代码会报错:# person[1] = 26  # TypeError: 'tuple' object does not support item assignment# ==================== 3. 字典(Dictionary) ====================# 定义字典(键值对,键唯一)student = {    "name": "李四",    "age": 20,    "gender": "男"}# 访问值print("学生姓名:", student["name"])  # 李四print("学生年龄:", student.get("age"))  # 20(推荐,键不存在时返回None)# 修改/添加键值对student["age"] = 21  # 修改student["score"] = 90  # 添加print("修改后字典:", student)# ==================== 4. 集合(Set) ====================# 定义集合(无重复元素)s1 = {1, 2, 3, 3, 4}print("去重后的集合:", s1)  # {1,2,3,4}# 集合操作s2 = {3, 4, 5, 6}print("交集:", s1 & s2)  # {3,4}print("并集:", s1 | s2)  # {1,2,3,4,5,6}print("差集:", s1 - s2)  # {1,2}# 添加元素s1.add(5)print("添加后集合:", s1)  # {1,2,3,4,5}

6、模块(Modules)

Python 的模块系统,是代码复用的核心,包括:

  • 模块的定义(一个.py 文件就是一个模块);
  • 模块的导入(import、from...import、import...as);
  • 模块的搜索路径(sys.path);
  • 自定义模块的编写与使用;
  • 模块的私有变量(以_开头);
# my_module.py - 自定义模块# 定义模块级变量MODULE_NAME = "我的第一个模块"# 定义公共函数def add(a, b):    """加法函数"""    return a + bdef subtract(a, b):    """减法函数"""    return a - b# 定义私有函数(以_开头,外部不建议直接使用)def _private_func():    print("这是私有函数")# 模块执行时的初始化代码if __name__ == "__main__":    # 仅当直接运行该模块时执行    print("直接运行my_module.py")    print("1+2=", add(1, 2))

7、输入与输出(Input and Output)

Python 的 I/O 操作,包括:

  • 控制台输入输出(input ()/print () 的高级用法);

  • 字符串格式化(%、format ()、f-string);

  • 文件读写(open () 函数、with 语句);

  • 文本文件 / 二进制文件操作;

  • 文件的常用模式(r/w/a/r+/w + 等);

# ==================== 1. 控制台输入输出 ====================# print高级用法print("a", "b", "c", sep="-")  # 分隔符,输出:a-b-cprint("第一行", end="")  # 不换行,输出:第一行第二行print("第二行")# 字符串格式化name = "张三"age = 25# 方式1:%格式化(老式)print("姓名:%s,年龄:%d" % (name, age))  # 姓名:张三,年龄:25# 方式2:format()print("姓名:{},年龄:{}".format(name, age))  # 姓名:张三,年龄:25print("姓名:{1},年龄:{0}".format(age, name))  # 按索引# 方式3:f-string(推荐,Python3.6+)print(f"姓名:{name},年龄:{age},明年:{age+1}")  # 支持表达式# ==================== 2. 文件读写 ====================# 方式1:手动打开/关闭(易遗漏close,不推荐)f = open("test.txt", "w", encoding="utf-8")  # 打开文件,w=写入模式f.write("Hello, Python!\n")  # 写入内容f.write(f"姓名:{name},年龄:{age}")  # 写入格式化内容f.close()  # 必须关闭文件# 方式2:with语句(自动关闭文件,推荐)with open("test.txt", "r", encoding="utf-8") as f:  # r=读取模式    content = f.read()  # 读取全部内容    print("文件内容:\n", content)# 逐行读取大文件with open("test.txt", "r", encoding="utf-8") as f:    for line in f:  # 逐行读取,节省内存        print("行内容:", line.strip())  # strip()去除换行符# 追加内容with open("test.txt", "a", encoding="utf-8") as f:  # a=追加模式    f.write("\n这是追加的内容")

8、Errors and Exceptions(错误与异常)

异常处理机制,包括:

  • 语法错误(SyntaxError)与运行时错误;
  • 常见异常类型(TypeError、ValueError、IndexError、KeyError 等);
  • 异常捕获(try/except/else/finally);
  • 手动抛出异常(raise);
  • 自定义异常类;
# ==================== 1. 常见异常示例 ====================# 以下代码会触发不同异常(先注释,逐个测试)# print(1 / 0)  # ZeroDivisionError:除以零# fruits = ["苹果", "香蕉"]# print(fruits[2])  # IndexError:索引越界# student = {"name": "张三"}# print(student["age"])  # KeyError:键不存在# int("abc")  # ValueError:无法转换为整数# ==================== 2. 异常捕获(try-except) ====================try:    # 可能触发异常的代码块    num1 = int(input("请输入第一个数字:"))    num2 = int(input("请输入第二个数字:"))    result = num1 / num2except ValueError:    # 捕获值转换异常    print("错误:请输入有效的数字!")except ZeroDivisionError:    # 捕获除以零异常    print("错误:除数不能为零!")except Exception as e:    # 捕获所有其他异常(兜底)    print(f"未知错误:{e}")else:    # 无异常时执行    print(f"{num1} / {num2} = {result}")finally:    # 无论是否异常,始终执行(常用于资源释放)    print("异常处理流程结束")# ==================== 3. 手动抛出异常 ====================def check_age(age):    if age < 0 or age > 150:        # 手动抛出ValueError        raise ValueError(f"年龄{age}不符合逻辑!")    return agetry:    check_age(200)except ValueError as e:    print("抛出的异常:", e)  # 输出:年龄200不符合逻辑!# ==================== 4. 自定义异常 ====================# 定义自定义异常类(继承Exception)class MyCustomError(Exception):    """自定义异常类"""    def __init__(self, message):        self.message = message        super().__init__(self.message)# 使用自定义异常try:    score = 105    if score > 100:        raise MyCustomError(f"分数{score}超出范围!")except MyCustomError as e:    print("自定义异常:", e)  # 输出:分数105超出范围!

9、Classes(类)

面向对象编程(OOP)核心:

  • 类的定义(class 关键字);
  • 实例化对象;
  • 构造方法(init);
  • 实例属性与类属性;
  • 实例方法、类方法(@classmethod)、静态方法(@staticmethod);
  • 继承(单继承、多继承);
  • 方法重写;
  • 封装(私有属性 / 方法,以__开头);
# ==================== 1. 定义类与实例化 ====================class Person:    """人类"""    # 类属性(所有实例共享)    species = "人类"    # 构造方法:初始化实例属性    def __init__(self, name, age):        self.name = name  # 实例属性        self.age = age    # 实例属性        self.__id = 123456  # 私有属性(外部无法直接访问)    # 实例方法(第一个参数必须是self)    def introduce(self):        """自我介绍"""        return f"我叫{self.name},今年{self.age}岁"    # 类方法(第一个参数是cls,代表类本身)    @classmethod    def get_species(cls):        return f"物种:{cls.species}"    # 静态方法(无self/cls参数,与类无关)    @staticmethod    def is_adult(age):        """判断是否成年"""        return age >= 18    # 访问私有属性的方法(封装)    def get_id(self):        return self.__id# 实例化对象p1 = Person("张三", 25)p2 = Person("李四", 17)# 访问实例属性/方法print(p1.introduce())  # 我叫张三,今年25岁print(p2.is_adult(p2.age))  # False(未成年)# 访问类属性/类方法print(Person.species)  # 人类print(Person.get_species())  # 物种:人类# 访问私有属性(通过公共方法)print(p1.get_id())  # 123456# ==================== 2. 继承与方法重写 ====================class Student(Person):    """学生类(继承Person类)"""    def __init__(self, name, age, student_id):        # 调用父类构造方法        super().__init__(name, age)        self.student_id = student_id  # 新增实例属性    # 重写父类方法    def introduce(self):        return f"我叫{self.name},学号{self.student_id},今年{self.age}岁"# 实例化子类s1 = Student("王五", 20, "2024001")print(s1.introduce())  # 我叫王五,学号2024001,今年20岁print(s1.is_adult(s1.age))  # True(继承父类的静态方法)

最新文章

随机文章