Python 简介

       Python 是一种由 Guido van Rossum 于 1989 年开发的高级、通用、解释型编程语言。它以简洁易读的语法(如使用缩进而非大括号)和丰富的标准库而闻名,被广泛应用于 Web 开发、数据科学、人工智能、自动化脚本、网络爬虫、游戏开发等领域。

学习资源

  • 官方文档Python.org
  • 教程
  • 社区:Stack Overflow、Reddit 的 r/Python、GitHub。

    运算符

  • 运算顺序:括号 > 乘方 > 乘除 > 加减​​(同级别从左到右)
  • 类型 符号 说明 示例
    算术运算符 + 加法 5 + 3 → 8
    - 减法 5 - 3 → 2
    * 乘法 5 * 3 → 15
    / 除法(结果为浮点数) 5 / 2 → 2.5
    // 整除(向下取整) 5 // 2 → 2
    % 取模(余数) 5 % 2 → 1
    ** 幂运算 2 ** 3 → 8
    比较运算符 == 等于 5 == 5 → True
    != 不等于 5 != 3 → True
    > 大于 5 > 3 → True
    < 小于 5 < 3 → False
    >= 大于等于 5 >= 5 → True
    <= 小于等于 5 <= 3 → False
    逻辑运算符 and 逻辑与 True and False → False
    or 逻辑或 True or False → True
    not 逻辑非 not True → False
    位运算符 & 按位与 5 & 3 → 1
    | 按位或 5 | 3 → 7
    ^ 按位异或 5 ^ 3 → 6
    ~ 按位取反 ~5 → -6
    << 左移 5 << 1 → 10
    >> 右移 5 >> 1 → 2
    赋值运算符 = 基本赋值 x = 5
    += 加法赋值 x += 3 等价于 x = x + 3
    -= 减法赋值 x -= 3 等价于 x = x - 3
    *= 乘法赋值 x *= 3 等价于 x = x * 3
    /= 除法赋值 x /= 3 等价于 x = x / 3
    //= 整除赋值 x //= 3 等价于 x = x // 3
    %= 取模赋值 x %= 3 等价于 x = x % 3
    **= 幂赋值 x **= 3 等价于 x = x ** 3
    &= 按位与赋值 x &= 3 等价于 x = x & 3
    |= 按位或赋值 x |= 3 等价于 x = x | 3
    ^= 按位异或赋值 x ^= 3 等价于 x = x ^ 3
    <<= 左移赋值 x <<= 3 等价于 x = x << 3
    >>= 右移赋值 x >>= 3 等价于 x = x >> 3
    成员运算符 in 判断元素是否存在于序列中 'a' in ['a', 'b'] → True
    not in 判断元素是否不存在于序列中 'c' not in ['a', 'b'] → True
    身份运算符 is 判断两个对象是否为同一实例(比较内存地址) a = [1]; b = a; a is b → True
    is not 判断两个对象是否不是同一实例 a = [1]; 
  • 字符串操作

    操作 符号 / 语法 说明 示例
    字符串字面量 '单引号' 单引号包裹的文本,允许包含双引号 'Hello "World"'
    "双引号" 双引号包裹的文本,允许包含单引号 "It's a string"
    '''三引号''' 三引号(单 / 双)允许跨多行,常用于文档字符串 '''Line 1\nLine 2'''
    字符串拼接 + 连接两个字符串 'Hello' + ' World' → 'Hello World'
    字符串重复 * 重复字符串指定次数 'a' * 3 → 'aaa'
    字符串索引 [] 访问字符串中单个字符(0-based) s = 'abc'; s[0] → 'a'
    字符串切片 [start:end:step] 截取子字符串,支持负数索引和步长 s = 'abcde'; s[1:3] → 'bc'
    格式化字符串 f"{}" f-string(Python 3.6+),嵌入表达式 name = 'Alice'; f"Hello, {name}" → 'Hello, Alice'
    格式化方法 str.format() 传统格式化方法 "{0} + {1} = {2}".format(1, 2, 3) → '1 + 2 = 3'
    字符串替换 str.replace() 替换子字符串 'apple'.replace('p', 'b') → 'abble'
    字符串分割 str.split() 按分隔符分割字符串为列表 'a,b,c'.split(',') → ['a', 'b', 'c']
    字符串连接 str.join() 用指定字符串连接列表元素 ','.join(['a', 'b', 'c']) → 'a,b,c'
    大小写转换 str.upper() 转为大写 'hello'.upper() → 'HELLO'
    str.lower() 转为小写 'WORLD'.lower() → 'world'
    去除空白 str.strip() 去除字符串首尾空格(或指定字符) ' abc '.strip() → 'abc'
    查找子串 str.find() 查找子串位置,不存在返回 - 1 'apple'.find('p') → 1
    str.index() 查找子串位置,不存在抛出异常 'apple'.index('p') → 1
    判断子串 in 判断子串是否存在 'p' in 'apple' → True
    字符串长度 len() 返回字符串字符数 len('abc') →
  • 特殊符号

    符号 名称 用途 示例
    # 注释符号 用于添加单行注释 # 这是一个注释
    ''' 或 """ 多行注释 / 文档字符串 用于添加多行注释或函数 / 类的文档字符串 '''这是一个多行注释'''
    , 逗号 分隔函数参数、元组元素等 a, b = 1, 2
    : 冒号 用于分隔切片、定义代码块(如 if/for/def 后) if True: print('a')
    ; 分号 用于在同一行分隔多条语句(不推荐频繁使用) a = 1; b = 2
    () 圆括号 用于函数调用、元组、表达式分组等 (1, 2); func()
    [] 方括号 用于列表、索引、切片等 [1, 2]; my_list[0]
    {} 花括号 用于字典、集合 {'a': 1}; {1, 2}
    @ at 符号 用于装饰器(Python 3.8+) @staticmethod def func(): pass
    \ 反斜杠 用于转义字符或行延续 'It\'s'; print('hello \\\nworld')
    r'...' 原始字符串 忽略转义字符 r'C:\path\to\file'
    f'...' f-string 格式化字符串(Python 3.6+) name = 'Alice'; f'Hello, {name}'
    * 星号 用于解包(如函数参数展开)、可变参数、乘法等 def func(*args); [*[1,2], 3]
    ** 双星号 用于字典解包、幂运算、关键字参数等 def func(**kwargs); {'a': 1, **{'b': 2}}
  • 关键字( keyword)

作用 示例
async 定义异步函数或异步生成器 async def fetch_data(): await asyncio.sleep(1)
await 等待异步操作完成(只能在 async 函数中使用) result = await async_function()
match 结构模式匹配(替代复杂的 if-elif 链) match x: case 0: print("零")
case match 语句的分支条件 case [x, y]: print(f"列表: {x}, {y}")

1. 注释(#)和换行

给代码添加说明:

避免注释冗余

#1. 这是单行注释

2.用'''...'''的格式表示多行内容,...是提示符不是代码的一部分,超过了一行,可以用三引号、圆括号、方括号或者大括号扩展新一行,使用"""或'''包裹多行文本,字符串中的换行符会被保留(输出为多行)。可包含单引号和双引号,无需转义。

"""  
这是多行注释
可以写很多内容
"""


3.圆括号 ()  作用:将表达式用圆括号包裹,允许在括号内自由换行。
           特点:常用于函数参数、元组、复杂表达式等。换行处无需任何符号(Python 自动延续)。

result = (1 + 2 + 3 +
          4 + 5 + 6)
print(result)  # 输出21


 4.方括号 []  作用:在列表、字典、集合等字面量中自由换行。
            特点:代码更易读,尤其适合包含大量元素的容器。

my_list = [
    "apple",
    "banana",
    "cherry"
]

my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}



5. 大括号 {} 作用:与方括号类似,用于字典和集合的多行定义。

my_set = {
    "apple",
    "banana",
    "cherry"
}

person = {
    "name": "Bob",
    "age": 25,
    "hobbies": ["reading", "swimming"]
}

5. 显式行延续符 \  作用:当无法使用括号时,使用反斜杠\强制换行。

total = 1 + 2 + 3 + \
        4 + 5 + 6
print(total)  # 输出21

注意:

\后不能有任何字符(包括空格),否则会报错。
不推荐频繁使用,优先考虑括号方式。

2. 变量和数据类型

变量就像 “盒子”,可以存放不同类型的数据:

常量(Constant) 是指在程序运行过程中其值不会发生变化的量。

变量(Variable) 则是指在程序运行过程中其值可以改变的标识符。

变量由一个或多个字符组成的名称构成,并通过赋值运算符(即等号 =)赋予一个具体的值。

  1. 变量名不能包含空格,可使用下划线 _ 代替,如 my_variable
  2. 变量名只能由字母、数字和下划线组成。
  3. 变量名不能以数字开头;以下划线开头的变量有特殊含义,建议暂时避免使用。
  4. 变量名不能是 Python 的关键字(保留字)。
x = 10        # 整数(int)
name = "Alice"  # 字符串(str)
is_student = True  # 布尔值(bool)
height = 1.75   # 浮点数(float)

3. 条件语句(if/elif/else)

根据条件选择执行不同的代码:

age = 18

if age >= 18:
    print("成年人")
else:
    print("未成年人")

4. 循环(for/while)

重复执行代码:

# for 循环:遍历列表
fruits = ["苹果", "香蕉", "橘子"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

# while 循环:条件满足时继续
count = 0
while count < 3:
    print(f"计数: {count}")
    count += 1

5. 函数(def)

封装可复用的代码块:

def add(a, b):
    return a + b

result = add(3, 5)  # 调用函数
print(result)  # 输出: 8

6. 列表(List)

存储多个值的有序集合:

numbers = [1, 2, 3, 4, 5]
names = ["Alice", "Bob", "Charlie"]

print(numbers[0])  # 输出: 1(索引从0开始)
names.append("David")  # 添加元素
print(names)  # 输出: ['Alice', 'Bob', 'Charlie', 'David']

7. 字典(Dict)

用键值对存储数据:

person = {
    "name": "Alice",
    "age": 30,
    "city": "北京"
}

print(person["name"])  # 输出: Alice
person["age"] = 31  # 修改值
print(person)  # 输出: {'name': 'Alice', 'age': 31, 'city': '北京'}

8. 文件操作(with/open)

读取或写入文件:

# 写入文件
with open("test.txt", "w") as f:
    f.write("Hello, World!\n")

# 读取文件
with open("test.txt", "r") as f:
    content = f.read()
    print(content)  # 输出: Hello, World!

9. 异常处理(try/except)

捕获和处理错误:

try:
    result = 10 / 0  # 会触发除零错误
except ZeroDivisionError:
    print("不能除以零!")

10. 类和对象(class)

创建自定义数据类型:

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def bark(self):
        print(f"{self.name} 汪汪叫!")

my_dog = Dog("小白", 3)  # 创建对象
my_dog.bark()  # 输出: 小白 汪汪叫!

11. 布尔逻辑(and/or/not)

组合条件判断:

x = 5
y = 10

if x > 0 and y < 20:
    print("两个条件都满足")

if x > 10 or y > 5:
    print("至少一个条件满足")

if not x > 10:
    print("x 不大于 10")

12. 空语句(pass)

占位符,不执行任何操作:

def empty_function():
    pass  # 暂时不写代码,用 pass 占位

if True:
    pass  # 占位

13.海象运算符

用途:在表达式中赋值,减少重复计算。
示例

# 传统写法
data = input("输入数字:")
if len(data) > 3:
    print(f"长度为 {len(data)},太长了!")  # 重复调用 len()

# 海象运算符
if (n := len(data)) > 3:  # 赋值同时判断
    print(f"长度为 {n},太长了!")

14.结构模式匹配(match-case)

用途:替代复杂的 if-elif,支持模式解构。
示例

def handle_result(result):
    match result:
        case {"code": 200, "data": data}:  # 匹配字典结构
            print(f"成功: {data}")
        case {"code": 404}:
            print("资源不存在")
        case _:  # 类似 default
            print("未知结果")

15. 异步编程升级

async/await

用途:高效处理 I/O 密集型任务(如网络请求)。
示例

import asyncio

async def fetch(url):
    await asyncio.sleep(1)  # 模拟网络请求
    return f"数据来自 {url}"

async def main():
    results = await asyncio.gather(
        fetch("https://api1.com"),
        fetch("https://api2.com")
    )
    print(results)  # 并行执行,总耗时约 1 秒

asyncio.run(main())

16.依赖管理(PDM/Poetry)

用途:替代 pip + requirements.txt
示例(PDM):

# 创建项目
pdm init
# 添加依赖
pdm add requests

17.数据类(Data Classes)

用途:自动生成类的 __init____repr__ 等方法。
示例

from dataclasses import dataclass

@dataclass
class Point:
    x: float
    y: float
    z: float = 0  # 默认值

p = Point(1, 2)
print(p)  # 输出: Point(x=1, y=2, z=0)

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐