当前位置:首页>python>Python 全语法保姆级入门教程

Python 全语法保姆级入门教程

  • 2026-09-09 18:06:32
Python 全语法保姆级入门教程
    本文我们从零基础开始,系统学习 Python 的所有核心语法与知识点,通过通俗易懂的讲解和示例代码,快速掌握 Python 编程。

一、基础语法入门

1. 变量与赋值

  • 变量命名规则:只能包含字母、数字、下划线,不能以数字开头;区分大小写;避免使用 Python 关键字(如 if、for等)。
  • 赋值方式:使用 = 进行变量赋值,且声明变量时无需使用任何关键字(这一点与 JavaScript 需要 let/const 显式声明不同)。此外,Python 还支持多变量同时赋值,写法更简洁高效。
# 单个变量赋值name = "Python"age = 30# 多变量同时赋值a, b, c = 1, 2, 3

2. 注释

  • 单行注释 :以 # 开头,用于解释单行代码。
  • 多行注释 :用三对单引号 ''' 或三对双引号 """ 包裹,用于解释多行代码或文档说明。
# 这是单行注释'''这是多行注释可以写多行内容'''"""这也是多行注释同样支持多行"""

3. 输入与输出

  • 输出:使用 print()函数,可输出字符串、变量等。
  • 输入:使用 input()函数,接收用户输入,返回字符串类型。
# 输出print("Hello, Python!")print("年龄:", age)# 输入user_name = input("请输入你的名字:")print("你好,", user_name)

二、数据类型

1. 数字类型

  • 整数(int):如 10、-5。
  • 浮点数(float):如 3.14、-2.5。
  • 复数(complex):如 1 + 2j(j表示虚数单位。数学定义:在数学里,将平方是负数的数定义为纯虚数,虚数单位规定为i,它的定义是i2=−1,在 Python 中使用j来表示虚数单位)
num1 = 10  # intnum2 = 3.14  # floatnum3 = 1 + 2j  # complex

2. 字符串(str)

  • 定义:用单引号 '或双引号 "包裹。
  • 索引与切片:通过索引访问单个字符(从 0 开始),切片获取子字符串。
  • 常用方法:strip()(去除首尾空格)、split()(分割字符串)、join()(拼接字符串)等。
s = "Hello, Python"# 索引print(s[0])  # 输出 'H'# 切片print(s[7:13])  # 输出 'Python'# 常用方法print(s.strip())  # 去除首尾空格print(s.split(","))  # 按逗号分割,输出 ['Hello', ' Python']print("-".join(["a", "b", "c"]))  # 拼接,输出 'a-b-c'

3. 列表(list)

  • 定义:用方括号 []包裹,元素可修改、可重复、有序。
  • 常用操作:增(append()、insert())、删(remove()、pop())、改、查、排序(sort())等。
lst = [1, 2, 3, "Python"]# 增lst.append(4)  # 末尾添加lst.insert(1, "a")  # 指定位置插入# 删lst.remove(3)  # 删除指定元素lst.pop()  # 删除末尾元素# 改lst[0] = 10# 查print(lst[1])  # 输出 'a'# 排序lst_num = [3, 1, 4, 2]lst_num.sort()  # 升序排序print(lst_num)  # 输出 [1, 2, 3, 4]

4. 元组(tuple)

  • 定义:用圆括号 ()包裹,元素不可修改、可重复、有序。
  • 特点:访问速度比列表快,占用内存小。
tup = (1, 2, 3, "Python")# 访问元素print(tup[2])  # 输出 3# 元组解包a, b, c, d = tupprint(a)  # 输出 1

5. 字典(dict)

  • 定义:用花括号 {}包裹,以键值对(key: value)形式存储,键唯一且不可变,值可修改。
  • 常用操作:增、删、改、查键值对。
dic = {"name": "Python", "age": 30}# 增dic["version"] = 3.10# 删del dic["age"]# 改dic["name"] = "Python 3"# 查print(dic["name"])  # 输出 'Python 3'print(dic.get("age", "未知"))  # 安全获取,不存在返回默认值

6. 集合(set)

  • 定义:用花括号 {}包裹,元素唯一、无序、不可变。
  • 常用操作:交集(&)、并集(|)、差集(-)等。
s1 = {1, 2, 3}s2 = {3, 4, 5}# 交集print(s1 & s2)  # 输出 {3}# 并集print(s1 | s2)  # 输出 {1, 2, 3, 4, 5}# 差集print(s1 - s2)  # 输出 {1, 2}

三、控制流

1. 条件语句(if-elif-else)

根据条件判断执行不同代码块。

score = 85if score >= 90:    print("优秀")elif score >= 80:    print("良好")elif score >= 60:    print("及格")else:    print("不及格")

2. 循环语句

(1)for 循环

    用于遍历可迭代对象(如列表、字符串等)。

# 遍历列表for i in [1, 2, 3]:    print(i)# 遍历字符串for char in "Python":    print(char)# range() 函数:生成数字序列for i in range(1, 5):  # 从 1 到 4(不包含 5)    print(i)

(2)while 循环

    只要条件为真,就重复执行代码块。

count = 0while count < 5:    print(count)    count += 1

3. 循环控制语句

  • break:跳出当前循环。
  • continue:跳过当前循环的剩余代码,进入下一次循环。
  • pass:空语句,占位用,不执行任何操作。
# break 示例for i in range(10):    if i == 5:        break    print(i)  # 输出 0-4# continue 示例for i in range(10):    if i == 5:        continue    print(i)  # 输出 0-4, 6-9

四、函数

1. 函数定义与调用

使用 def 关键字定义函数,通过函数名调用。

def greet(name):    """这是一个问候函数"""  # 文档字符串    print("Hello,", name)# 调用函数greet("Python")

2. 参数类型

  • 位置参数:按顺序传递参数。
  • 默认参数:定义函数时给参数默认值,调用时可省略。
  • 可变参数:*args接收任意数量位置参数,以元组形式存储。
  • 关键字参数:**kwargs接收任意数量关键字参数,以字典形式存储。
def func(a, b=10, *args, **kwargs):    print("a:", a)    print("b:", b)    print("args:", args)    print("kwargs:", kwargs)func(5, 20, 30, 40, name="Python", age=30)# 输出:# a: 5# b: 20# args: (30, 40)# kwargs: {'name': 'Python', 'age': 30}

3. 返回值

使用 return 语句返回值,可返回多个值(以元组形式)。

def add(a, b):    return a + bresult = add(3, 5)print(result)  # 输出 8

4. 作用域

  • 局部变量:在函数内部定义,仅函数内部可访问。
  • 全局变量:在函数外部定义,函数内部可访问(如需修改,需用 
global 声明)
x = 10  # 全局变量def func():    global x  # 声明使用全局变量    x = 20    y = 5  # 局部变量    print("内部 x:", x)func()print("外部 x:", x)  # 输出 20

5. 匿名函数(lambda)

用于定义简单的、一次性使用的函数。

add = lambda a, b: a + bprint(add(3, 5))  # 输出 8

6. 高阶函数

接受函数作为参数或返回函数的函数,如map()、filter()、reduce()。

# map():对可迭代对象每个元素应用函数lst = [1, 2, 3]result = map(lambda x: x * 2, lst)print(list(result))  # 输出 [2, 4, 6]# filter():过滤可迭代对象,保留符合条件的元素result = filter(lambda x: x > 1, lst)print(list(result))  # 输出 [2, 3]# reduce():对可迭代对象元素累积计算(需从 functools 导入)from functools import reduceresult = reduce(lambda a, b: a + b, lst)print(result)  # 输出 6

五、模块与包

1. 模块导入

  • import 模块名:导入整个模块。
  • from 模块名 import 函数 / 类:导入模块中的特定部分。
  • **from 模块名 import ***:导入模块所有内容(不推荐)。
# 导入 math 模块import mathprint(math.sqrt(16))  # 输出 4.0# 从 math 模块导入 sqrt 函数from math import sqrtprint(sqrt(16))  # 输出 4.0

2. 自定义模块

创建一个 .py 文件,即可作为模块导入。

# my_module.pydef greet(name):    print("Hello,", name)# 导入自定义模块import my_modulemy_module.greet("Python")

3. 包

包是包含多个模块的文件夹,需包含 __init__.py 文件(可空)。

my_package/    __init__.py    module1.py    module2.py

导入包中的模块:

from my_package import module1module1.func()

六、面向对象编程(OOP)

1. 类与对象

  • 类:用 class 关键字定义,是对象的模板。
  • 对象:类的实例,通过类名加括号创建。
class Person:    # 初始化方法(构造函数)    def __init__(self, name, age):        self.name = name  # 实例属性        self.age = age    # 实例方法    def greet(self):        print("Hello, my name is", self.name)# 创建对象p = Person("Python", 30)p.greet()  # 输出 'Hello, my name is Python'

2. 继承

子类继承父类的属性和方法,可重写或扩展。

class Student(Person):    def __init__(self, name, age, grade):        # 调用父类初始化方法        super().__init__(name, age)        self.grade = grade    # 重写方法    def greet(self):        print("Hello, I'm a student, my name is", self.name)s = Student("Xiao Ming", 18, 3)s.greet()  # 输出 'Hello, I'm a student, my name is Xiao Ming'

3. 封装

通过私有属性(以 __ 开头)限制外部访问,提供公共方法操作。

class Person:    def __init__(self, name):        self.__name = name  # 私有属性    # 获取私有属性    def get_name(self):        return self.__name    # 设置私有属性    def set_name(self, name):        self.__name = namep = Person("Python")print(p.get_name())  # 输出 'Python'p.set_name("Python 3")print(p.get_name())  # 输出 'Python 3'

4. 多态

不同对象对同一方法的响应不同,通过继承和方法重写实现。

class Animal:    def speak(self):        passclass Dog(Animal):    def speak(self):        print("Woof!")class Cat(Animal):    def speak(self):        print("Meow!")def make_speak(animal):    animal.speak()dog = Dog()cat = Cat()make_speak(dog)  # 输出 'Woof!'make_speak(cat)  # 输出 'Meow!'

5. 类方法与静态方法

  • 类方法:用 @classmethod装饰,第一个参数为 cls(类本身)。
  • 静态方法:用 @staticmethod 装饰,无需 self 或 cls 参数。
class MyClass:    count = 0  # 类属性    def __init__(self):        MyClass.count += 1    @classmethod    def get_count(cls):        return cls.count    @staticmethod    def static_func():        print("这是静态方法")obj1 = MyClass()obj2 = MyClass()print(MyClass.get_count())  # 输出 2MyClass.static_func()  # 输出 '这是静态方法'

七、异常处理

1. try-except-else-finally

捕获并处理异常,避免程序崩溃。

try:    num = int(input("请输入一个数字:"))    result = 10 / numexcept ValueError:    print("输入的不是数字!")except ZeroDivisionError:    print("不能除以零!")else:    print("结果:", result)  # 无异常时执行finally:    print("程序结束")  # 无论是否异常都执行

2. 抛出异常

使用 raise 主动抛出异常。

def check_age(age):    if age < 0:        raise ValueError("年龄不能为负数")    print("年龄:", age)check_age(-5)  # 抛出 ValueError

八、文件操作

1. 打开与关闭文件

使用 open() 函数打开文件,close() 关闭文件,推荐用 with 语句自动关闭。

# 打开文件(模式:r-读,w-写,a-追加,r+-读写)with open("test.txt", "w", encoding="utf-8") as f:    f.write("Hello, Python!\n")    f.write("这是第二行")# 读取文件with open("test.txt", "r", encoding="utf-8") as f:    # 读取全部内容    content = f.read()    print(content)    # 按行读取    # for line in f:    #     print(line.strip())

2. 常用文件操作

  • read(size):读取指定字节数。
  • readline():读取一行。
  • readlines():读取所有行,返回列表。
  • write(str):写入字符串。
  • writelines(list):写入字符串列表。

九、进阶特性

1. 推导式

快速创建列表、字典、集合。

# 列表推导式lst = [x * 2 for x in range(5) if x > 1]print(lst)  # 输出 [4, 6, 8]# 字典推导式dic = {x: x * 2 for x in range(3)}print(dic)  # 输出 {0: 0, 1: 2, 2: 4}# 集合推导式s = {x % 3 for x in range(5)}print(s)  # 输出 {0, 1, 2}

2. 生成器

节省内存,按需生成数据,用 () 或 yield 定义。

# 生成器表达式gen = (x * 2 for x in range(5))for i in gen:    print(i)  # 输出 0, 2, 4, 6, 8# 生成器函数def my_gen(n):    for i in range(n):        yield i * 2gen = my_gen(5)for i in gen:    print(i)  # 输出 0, 2, 4, 6, 8

3. 迭代器

实现 __iter__ 和 __next__ 方法的对象,可被 for 循环遍历。

class MyIterator:    def __init__(self, n):        self.n = n        self.current = 0    def __iter__(self):        return self    def __next__(self):        if self.current < self.n:            result = self.current * 2            self.current += 1            return result        else:            raise StopIterationit = MyIterator(5)for i in it:    print(i)  # 输出 0, 2, 4, 6, 8

4. 装饰器

在不修改原函数代码的情况下,扩展函数功能,用 @装饰器名 应用。

def my_decorator(func):    def wrapper():        print("函数执行前")        func()        print("函数执行后")    return wrapper@my_decoratordef say_hello():    print("Hello!")say_hello()# 输出:# 函数执行前# Hello!# 函数执行后

5. 上下文管理器

用 with 语句管理资源,实现 __enter__ 和 __exit__ 方法。

class MyContext:    def __enter__(self):        print("进入上下文")        return "资源"    def __exit__(self, exc_type, exc_val, exc_tb):        print("退出上下文")with MyContext() as res:    print("使用", res)# 输出:# 进入上下文# 使用 资源# 退出上下文

结语

    以上这些内容,都是 Python 基础语法的核心知识点,帮大家快速掌握 Python 编程的 “基本功”。后续无论是做爬虫爬取数据、开发自动化脚本处理重复工作,还是学习大模型训练时理解数据运算逻辑,都能更顺畅地上手,一步步从入门走向实践。

最新文章

随机文章