news 2026/7/19 4:46:12

Python基础语法精要:从入门到实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python基础语法精要:从入门到实践

1. Python基础语法精要

Python作为一门高级编程语言,其语法设计以简洁明了著称。对于初学者而言,掌握基础语法是迈向Python编程的第一步。让我们从最核心的语法元素开始剖析。

1.1 变量与数据类型

Python是动态类型语言,变量声明时无需指定类型。基础数据类型包括:

  • 整型(int):如age = 25
  • 浮点型(float):如price = 19.99
  • 字符串(str):如name = "Alice"
  • 布尔型(bool):如is_active = True

类型转换非常直观:

num_str = "123" num_int = int(num_str) # 字符串转整型 float_num = float(num_int) # 整型转浮点

注意:Python变量名区分大小写,且不能以数字开头。推荐使用下划线命名法,如user_name

1.2 运算符详解

Python支持丰富的运算符:

  • 算术运算符:+ - * / // % **
  • 比较运算符:== != > < >= <=
  • 逻辑运算符:and or not
  • 赋值运算符:= += -= *= /=

特殊运算符示例:

# 整除与幂运算 print(7 // 3) # 输出2 print(2 ** 3) # 输出8 # 海象运算符(Python 3.8+) if (n := len("hello")) > 4: print(f"长度{n}大于4")

1.3 控制流程结构

条件判断使用if-elif-else结构:

score = 85 if score >= 90: grade = 'A' elif score >= 80: grade = 'B' else: grade = 'C'

循环结构包括whilefor

# while循环 count = 0 while count < 5: print(count) count += 1 # for循环 fruits = ['apple', 'banana', 'cherry'] for fruit in fruits: print(fruit) # 带索引的遍历 for index, fruit in enumerate(fruits): print(f"第{index}个水果是{fruit}")

循环控制语句:

  • break:完全终止循环
  • continue:跳过当前迭代
  • else:循环正常结束时执行(非break退出时)

2. 函数与模块化编程

2.1 函数定义与调用

基本函数结构:

def greet(name, greeting="Hello"): """返回问候语""" return f"{greeting}, {name}!" print(greet("Alice")) # 使用默认参数 print(greet("Bob", "Hi")) # 传递显式参数

函数参数的高级用法:

  • 位置参数
  • 关键字参数
  • 默认参数
  • 可变参数(*args)
  • 关键字可变参数(**kwargs)

示例:

def print_info(name, *hobbies, **details): print(f"姓名:{name}") print("爱好:", hobbies) print("详细信息:", details) print_info("Alice", "读书", "编程", age=25, city="北京")

2.2 作用域与闭包

Python有四种作用域:

  1. 局部作用域(Local)
  2. 嵌套作用域(Enclosing)
  3. 全局作用域(Global)
  4. 内置作用域(Built-in)

闭包示例:

def outer_func(x): def inner_func(y): return x + y return inner_func closure = outer_func(10) print(closure(5)) # 输出15

2.3 常用内置函数

Python内置了大量实用函数:

  • len():获取长度
  • range():生成数列
  • input():获取用户输入
  • type():获取对象类型
  • isinstance():类型检查
  • map()/filter():函数式编程工具

列表推导式示例:

squares = [x**2 for x in range(10) if x % 2 == 0] print(squares) # [0, 4, 16, 36, 64]

3. 异常处理与调试

3.1 异常处理机制

基本try-except结构:

try: result = 10 / 0 except ZeroDivisionError: print("不能除以零!") except Exception as e: print(f"发生错误:{e}") else: print("计算成功") finally: print("执行清理操作")

常见异常类型:

  • SyntaxError:语法错误
  • IndexError:索引越界
  • KeyError:字典键不存在
  • TypeError:类型错误
  • ValueError:值错误
  • FileNotFoundError:文件未找到

3.2 调试技巧

使用print调试:

def calculate(a, b): print(f"输入参数:a={a}, b={b}") # 调试输出 result = a * b print(f"计算结果:{result}") # 调试输出 return result

使用pdb调试器:

import pdb def buggy_function(x): pdb.set_trace() # 设置断点 return x * 2 + undefined_var # 故意制造错误

日志记录:

import logging logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) def process_data(data): try: logger.debug(f"处理数据:{data}") # 处理逻辑... except Exception as e: logger.error(f"处理失败:{e}")

4. 文件操作与IO

4.1 基本文件操作

文件读写模式:

  • 'r':读取(默认)
  • 'w':写入(会覆盖)
  • 'a':追加
  • 'x':独占创建
  • 'b':二进制模式
  • '+':读写模式

示例:

# 写入文件 with open('example.txt', 'w', encoding='utf-8') as f: f.write("Hello, Python!\n") f.write("这是第二行\n") # 读取文件 with open('example.txt', 'r', encoding='utf-8') as f: content = f.read() print(content) # 逐行读取 with open('example.txt', 'r', encoding='utf-8') as f: for line in f: print(line.strip())

4.2 JSON与CSV处理

JSON操作:

import json # 写入JSON data = {"name": "Alice", "age": 25, "hobbies": ["reading", "coding"]} with open('data.json', 'w') as f: json.dump(data, f, indent=2) # 读取JSON with open('data.json', 'r') as f: loaded_data = json.load(f) print(loaded_data['name'])

CSV操作:

import csv # 写入CSV with open('data.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerow(['Name', 'Age', 'City']) writer.writerow(['Alice', 25, 'Beijing']) writer.writerow(['Bob', 30, 'Shanghai']) # 读取CSV with open('data.csv', 'r') as f: reader = csv.reader(f) for row in reader: print(row)

4.3 路径操作

使用ospathlib模块:

from pathlib import Path import os # 创建目录 Path('my_folder').mkdir(exist_ok=True) # 检查文件存在 if Path('example.txt').exists(): print("文件存在") # 获取绝对路径 abs_path = os.path.abspath('example.txt') print(f"绝对路径:{abs_path}") # 遍历目录 for item in Path('.').iterdir(): print(item.name)

5. 面向对象编程基础

5.1 类与对象

基本类定义:

class Person: """人类""" species = "Homo sapiens" # 类属性 def __init__(self, name, age): self.name = name # 实例属性 self.age = age def greet(self): return f"你好,我是{self.name},今年{self.age}岁" # 创建实例 alice = Person("Alice", 25) print(alice.greet()) print(f"物种:{Person.species}")

5.2 继承与多态

继承示例:

class Student(Person): """学生类,继承自Person""" def __init__(self, name, age, student_id): super().__init__(name, age) self.student_id = student_id def study(self, subject): return f"{self.name}正在学习{subject}" def greet(self): # 方法重写 return f"老师好,我是学生{self.name}" # 使用子类 bob = Student("Bob", 20, "S12345") print(bob.greet()) print(bob.study("Python编程"))

5.3 特殊方法与属性

常用特殊方法:

  • __str__:定义对象的字符串表示
  • __len__:定义对象的长度
  • __getitem__/__setitem__:实现索引访问
  • __iter__:使对象可迭代

示例:

class Book: def __init__(self, title, author, pages): self.title = title self.author = author self.pages = pages def __str__(self): return f"《{self.title}》 by {self.author}" def __len__(self): return self.pages def __getitem__(self, key): if key == 'title': return self.title elif key == 'author': return self.author else: raise KeyError(key) # 使用特殊方法 book = Book("Python编程", "Guido van Rossum", 500) print(book) # 调用__str__ print(len(book)) # 调用__len__ print(book['title']) # 调用__getitem__

6. Python标准库常用模块

6.1 datetime模块

日期时间处理:

from datetime import datetime, timedelta # 当前时间 now = datetime.now() print(f"当前时间:{now}") # 时间格式化 formatted = now.strftime("%Y-%m-%d %H:%M:%S") print(f"格式化时间:{formatted}") # 时间计算 tomorrow = now + timedelta(days=1) print(f"明天此时:{tomorrow}") # 字符串转时间 date_str = "2023-01-15" date_obj = datetime.strptime(date_str, "%Y-%m-%d") print(f"解析后的日期:{date_obj}")

6.2 collections模块

常用数据结构:

from collections import defaultdict, Counter, namedtuple # 默认字典 word_counts = defaultdict(int) for word in ['apple', 'banana', 'apple', 'cherry']: word_counts[word] += 1 print(word_counts) # 计数器 colors = ['red', 'blue', 'red', 'green', 'blue', 'blue'] color_counts = Counter(colors) print(color_counts.most_common(1)) # 出现最多的颜色 # 命名元组 Point = namedtuple('Point', ['x', 'y']) p = Point(10, 20) print(f"点坐标:({p.x}, {p.y})")

6.3 random模块

随机数生成:

import random # 基本随机数 print(random.random()) # [0,1)之间的浮点数 print(random.randint(1, 10)) # 1-10的整数 # 序列操作 items = ['apple', 'banana', 'cherry'] print(random.choice(items)) # 随机选择 random.shuffle(items) # 随机打乱 print(items) # 生成随机字符串 import string random_str = ''.join(random.choices(string.ascii_letters + string.digits, k=8)) print(f"随机字符串:{random_str}")

7. 虚拟环境与包管理

7.1 创建虚拟环境

命令行创建:

# 创建虚拟环境 python -m venv myenv # 激活环境 # Windows: myenv\Scripts\activate # Linux/Mac: source myenv/bin/activate

7.2 pip包管理

常用命令:

# 安装包 pip install requests # 安装特定版本 pip install django==3.2 # 升级包 pip install --upgrade pip # 卸载包 pip uninstall package_name # 查看已安装包 pip list # 生成requirements文件 pip freeze > requirements.txt # 从requirements安装 pip install -r requirements.txt

7.3 项目结构示例

典型Python项目结构:

my_project/ ├── README.md ├── requirements.txt ├── setup.py ├── my_package/ │ ├── __init__.py │ ├── module1.py │ └── module2.py ├── tests/ │ ├── __init__.py │ └── test_module1.py └── docs/ └── conf.py

setup.py示例:

from setuptools import setup, find_packages setup( name="my_package", version="0.1", packages=find_packages(), install_requires=[ 'requests>=2.25.1', 'numpy>=1.20.0', ], )

8. 代码风格与最佳实践

8.1 PEP 8编码规范

主要规则:

  • 缩进:4个空格
  • 行长度:不超过79字符
  • 导入:分组且按标准库、第三方库、本地库排序
  • 命名:
    • 变量/函数:小写下划线lower_case_with_underscores
    • 常量:大写ALL_CAPS
    • 类:驼峰ClassName

示例:

# 正确示例 import os import sys from datetime import datetime import numpy as np MAX_RETRIES = 3 def calculate_average(numbers): """计算数字列表的平均值""" return sum(numbers) / len(numbers) class DataProcessor: """数据处理类""" def __init__(self, data): self.data = data

8.2 文档字符串

函数文档字符串:

def add_numbers(a, b): """返回两个数字的和 参数: a (int/float): 第一个数字 b (int/float): 第二个数字 返回: int/float: 两个数字的和 示例: >>> add_numbers(2, 3) 5 """ return a + b

类文档字符串:

class BankAccount: """银行账户类 属性: owner (str): 账户持有人姓名 balance (float): 账户余额 方法: deposit(amount): 存款 withdraw(amount): 取款 """ def __init__(self, owner, balance=0.0): """初始化账户 参数: owner (str): 账户持有人 balance (float, 可选): 初始余额,默认为0 """ self.owner = owner self.balance = balance

8.3 单元测试基础

使用unittest模块:

import unittest def factorial(n): """计算阶乘""" if n < 0: raise ValueError("n不能为负数") return 1 if n <= 1 else n * factorial(n-1) class TestFactorial(unittest.TestCase): """测试阶乘函数""" def test_factorial_of_zero(self): self.assertEqual(factorial(0), 1) def test_factorial_of_positive(self): self.assertEqual(factorial(5), 120) self.assertEqual(factorial(1), 1) def test_negative_input(self): with self.assertRaises(ValueError): factorial(-1) if __name__ == '__main__': unittest.main()

9. 性能优化基础

9.1 时间测量

使用timeit模块:

import timeit # 测量代码执行时间 setup_code = "from math import sqrt" stmt = "result = [sqrt(x) for x in range(1000)]" time_taken = timeit.timeit(stmt, setup=setup_code, number=1000) print(f"执行1000次耗时:{time_taken:.4f}秒")

9.2 使用生成器

生成器表达式:

# 列表推导式(立即计算) squares_list = [x**2 for x in range(1000000)] # 占用内存 # 生成器表达式(惰性计算) squares_gen = (x**2 for x in range(1000000)) # 节省内存 # 生成器函数 def fibonacci(limit): a, b = 0, 1 while a < limit: yield a a, b = b, a + b # 使用生成器 for num in fibonacci(1000): print(num)

9.3 缓存与记忆化

使用functools.lru_cache

from functools import lru_cache @lru_cache(maxsize=128) def fibonacci(n): """带缓存的斐波那契数列计算""" if n < 2: return n return fibonacci(n-1) + fibonacci(n-2) # 第一次计算会递归调用 print(fibonacci(50)) # 非常快,因为有缓存

10. 实际项目示例

10.1 简易计算器

def calculator(): """命令行计算器""" print("简易计算器") print("支持操作:+ - * /") print("输入'quit'退出") while True: try: # 获取用户输入 user_input = input("请输入表达式(如 2 + 3):").strip() if user_input.lower() == 'quit': print("感谢使用计算器!") break # 解析输入 parts = user_input.split() if len(parts) != 3: raise ValueError("输入格式应为:数字 操作符 数字") num1 = float(parts[0]) operator = parts[1] num2 = float(parts[2]) # 执行计算 if operator == '+': result = num1 + num2 elif operator == '-': result = num1 - num2 elif operator == '*': result = num1 * num2 elif operator == '/': if num2 == 0: raise ZeroDivisionError("不能除以零") result = num1 / num2 else: raise ValueError(f"不支持的操作符:{operator}") print(f"结果:{result}") except ValueError as e: print(f"输入错误:{e}") except ZeroDivisionError as e: print(f"计算错误:{e}") except Exception as e: print(f"发生未知错误:{e}") if __name__ == '__main__': calculator()

10.2 文件搜索工具

import os import fnmatch from pathlib import Path def file_search(root_dir, pattern, recursive=True): """搜索匹配指定模式的文件 参数: root_dir (str): 搜索根目录 pattern (str): 文件名模式(支持通配符) recursive (bool): 是否递归搜索子目录 返回: list: 匹配的文件路径列表 """ matches = [] root_path = Path(root_dir) if not root_path.exists(): raise FileNotFoundError(f"目录不存在:{root_dir}") if recursive: # 递归搜索 for dirpath, dirnames, filenames in os.walk(root_dir): for filename in fnmatch.filter(filenames, pattern): matches.append(Path(dirpath) / filename) else: # 非递归搜索 for item in root_path.iterdir(): if item.is_file() and fnmatch.fnmatch(item.name, pattern): matches.append(item) return matches # 使用示例 if __name__ == '__main__': try: search_dir = input("请输入搜索目录:") file_pattern = input("请输入文件名模式(如*.txt):") found_files = file_search(search_dir, file_pattern) if found_files: print(f"找到{len(found_files)}个匹配文件:") for file in found_files: print(f" - {file}") else: print("未找到匹配文件") except Exception as e: print(f"搜索出错:{e}")

10.3 天气查询CLI

import requests import json from datetime import datetime def get_weather(api_key, city): """使用OpenWeatherMap API获取天气数据""" base_url = "http://api.openweathermap.org/data/2.5/weather" params = { 'q': city, 'appid': api_key, 'units': 'metric', 'lang': 'zh_cn' } try: response = requests.get(base_url, params=params) response.raise_for_status() # 检查HTTP错误 data = response.json() # 解析数据 weather_info = { 'city': data['name'], 'temperature': data['main']['temp'], 'feels_like': data['main']['feels_like'], 'humidity': data['main']['humidity'], 'description': data['weather'][0]['description'], 'wind_speed': data['wind']['speed'], 'sunrise': datetime.fromtimestamp(data['sys']['sunrise']).strftime('%H:%M'), 'sunset': datetime.fromtimestamp(data['sys']['sunset']).strftime('%H:%M') } return weather_info except requests.exceptions.RequestException as e: print(f"API请求失败:{e}") return None def display_weather(weather_data): """格式化显示天气信息""" if not weather_data: print("无法获取天气数据") return print(f"\n{weather_data['city']}天气信息:") print(f"当前温度:{weather_data['temperature']}°C") print(f"体感温度:{weather_data['feels_like']}°C") print(f"湿度:{weather_data['humidity']}%") print(f"天气状况:{weather_data['description']}") print(f"风速:{weather_data['wind_speed']} m/s") print(f"日出时间:{weather_data['sunrise']}") print(f"日落时间:{weather_data['sunset']}") if __name__ == '__main__': # 在实际使用中,应该从环境变量或配置文件中获取API密钥 API_KEY = "your_api_key_here" # 替换为实际API密钥 print("天气查询CLI") print("输入'quit'退出") while True: city = input("\n请输入城市名称:").strip() if city.lower() == 'quit': print("感谢使用天气查询!") break weather_data = get_weather(API_KEY, city) display_weather(weather_data)

11. 常见问题与解决方案

11.1 编码问题

问题:文件读写时出现UnicodeDecodeError

解决方案:

# 明确指定编码 with open('file.txt', 'r', encoding='utf-8') as f: content = f.read() # 处理不同编码 encodings = ['utf-8', 'gbk', 'latin-1'] for encoding in encodings: try: with open('file.txt', 'r', encoding=encoding) as f: content = f.read() break except UnicodeDecodeError: continue

11.2 模块导入问题

问题:ModuleNotFoundError: No module named 'xxx'

可能原因及解决:

  1. 模块未安装:pip install xxx
  2. 模块名称错误:检查拼写
  3. Python路径问题:
    import sys sys.path.append('/path/to/your/module')
  4. 虚拟环境问题:确保在正确的虚拟环境中

11.3 性能瓶颈

常见性能问题及优化:

  1. 循环中重复计算:

    # 不推荐 for i in range(len(data)): result = complex_calculation(data[i]) # 推荐 calc_results = [complex_calculation(x) for x in data]
  2. 不必要的对象创建:

    # 不推荐 def process_data(data): temp = list(data) # 不必要的复制 return [x*2 for x in temp] # 推荐 def process_data(data): return [x*2 for x in data]
  3. 使用合适的数据结构:

    • 频繁查找:使用集合(set)或字典(dict)
    • 频繁插入/删除:考虑使用collections.deque

11.4 内存管理

检测内存泄漏:

import tracemalloc tracemalloc.start() # 执行可能泄漏内存的代码 snapshot = tracemalloc.take_snapshot() top_stats = snapshot.statistics('lineno') print("[ Top 10 memory usage ]") for stat in top_stats[:10]: print(stat)

减少内存使用技巧:

  • 使用生成器代替列表
  • 及时删除不再需要的大对象
  • 使用__slots__减少对象内存占用
  • 考虑使用内存映射文件处理大文件

12. 进阶学习路径

12.1 推荐学习资源

官方文档:

  • Python官方文档
  • Python标准库参考
  • PEP索引

在线课程:

  • Coursera/edX上的Python专项课程
  • Udemy的Complete Python Bootcamp
  • 廖雪峰Python教程(中文)

书籍推荐:

  • 《Python Crash Course》
  • 《Fluent Python》
  • 《Effective Python》

12.2 项目实践建议

初学者项目:

  1. 待办事项CLI应用
  2. 简易博客系统
  3. 数据分析小工具
  4. 网络爬虫
  5. 自动化脚本(如文件整理)

中级项目:

  1. RESTful API服务
  2. 使用Django/Flask的Web应用
  3. 数据可视化仪表板
  4. 机器学习模型部署
  5. 异步网络应用

12.3 社区参与

参与方式:

  • 加入本地Python用户组
  • 参加PyCon会议
  • 为开源项目贡献代码
  • 在Stack Overflow回答问题
  • 撰写技术博客分享经验

优质社区:

  • Python官方论坛
  • Reddit的r/learnpython和r/Python
  • Real Python社区
  • 中文Python社区(如Python中文网)

13. Python版本选择与维护

13.1 版本差异概述

Python 3.x主要版本特性对比:

版本重要特性支持截止
3.7数据类、上下文变量2023-06
3.8海象运算符、位置参数2024-10
3.9字典合并、类型提示增强2025-10
3.10结构模式匹配、更清晰的错误提示2026-10
3.11显著性能提升、异常增强2027-10

建议:新项目应使用最新的稳定版本(目前为3.11+)

13.2 多版本管理

使用pyenv管理多版本:

# 安装pyenv curl https://pyenv.run | bash # 常用命令 pyenv install 3.11.4 # 安装特定版本 pyenv global 3.11.4 # 设置全局版本 pyenv local 3.10.0 # 设置当前目录版本 pyenv versions # 查看已安装版本

13.3 代码兼容性

确保代码兼容多版本:

  1. 使用__future__导入:
    from __future__ import annotations
  2. 条件导入:
    try: from typing import Literal except ImportError: from typing_extensions import Literal
  3. 版本检查:
    import sys if sys.version_info >= (3, 9): # 使用3.9+特性 else: # 回退方案

14. 开发工具推荐

14.1 IDE与编辑器

主流选择:

  1. PyCharm(专业版/社区版)

    • 优点:功能全面,专业Python IDE
    • 缺点:资源占用较大
  2. VS Code

    • 优点:轻量级,扩展性强
    • 配置要点:
      • 安装Python扩展
      • 配置linting工具(flake8/pylint)
      • 设置测试框架
  3. Sublime Text

    • 优点:极速启动
    • 配置:需安装插件(Anaconda、LSP等)

14.2 调试工具

内置调试器:

import pdb def buggy_function(): x = 1 pdb.set_trace() # 设置断点 y = x / 0 return y

VS Code调试配置:

{ "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": true } ] }

14.3 代码质量工具

静态检查:

  • pylint:全面检查
  • flake8:PEP8合规性
  • mypy:静态类型检查

格式化工具:

  • black:无妥协的代码格式化
  • autopep8:自动修复PEP8问题
  • isort:自动排序import语句

使用示例:

# 安装工具 pip install black flake8 mypy # 格式化代码 black my_script.py # 静态检查 flake8 my_script.py mypy my_script.py

15. Python与其他语言交互

15.1 调用C代码

使用ctypes

from ctypes import CDLL, c_int # 加载C库 libc = CDLL("libc.so.6") # Linux # libc = CDLL("msvcrt") # Windows # 调用C函数 rand = libc.rand rand.argtypes = [] rand.restype = c_int print(f"随机数:{rand() % 100}")

15.2 使用Cython

示例步骤:

  1. 安装Cython:pip install cython
  2. 创建.pyx文件:
    # fib.pyx def fib(n): """打印斐波那契数列""" a, b = 0, 1 while b < n: print(b, end=' ') a, b = b, a+b print()
  3. 创建setup.py
    from distutils.core import setup from Cython.Build import cythonize setup(ext_modules=cythonize("fib.pyx"))
  4. 编译:python setup.py build_ext --inplace
  5. 使用:
    import fib fib.fib(1000)

15.3 与JavaScript交互

使用PyExecJS

import execjs # 执行JavaScript代码 ctx = execjs.compile(""" function add(a, b) { return a + b; } """) result = ctx.call("add", 1, 2) print(f"JavaScript计算结果:{result}")

16. Python在Web开发中的应用

16.1 Flask快速入门

最小应用:

from flask import Flask app = Flask(__name__) @app.route('/') def home(): return "欢迎来到Flask应用!" @app.route('/hello/<name>') def hello(name): return f"你好,{name}!" if __name__ == '__main__': app.run(debug=True)

16.2 Django核心概念

项目结构:

myproject/ ├── manage.py └── myproject/ ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py

创建应用:

python manage.py startapp myapp

视图示例:

# myapp/views.py from django.http import HttpResponse from django.shortcuts import render def index(request): return HttpResponse("欢迎页面") def greet(request, name): return render(request, 'greet.html', {'name': name})

16.3 异步Web框架

FastAPI示例:

from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} @app.get("/items/{item_id}") async def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q}

17. 数据分析与科学计算

17.1 NumPy基础

数组操作:

import numpy as np # 创建数组 arr = np.array([1, 2, 3, 4, 5]) matrix = np.array([[1, 2], [3, 4]]) # 基本运算 print(arr + 1) # 广播 print(matrix.T) # 转置 print(np.dot(matrix, matrix)) # 矩阵乘法 # 统计函数 print(np.mean(arr)) print(np.std(arr))

17.2 Pandas数据处理

DataFrame操作:

import pandas as pd # 创建DataFrame data = { 'Name': ['Alice', 'Bob', 'Charlie'],
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 4:45:59

Codex 任务跑太久怎么办?超时、日志、重试和中断恢复处理

Codex 执行大规模重构、安装依赖或运行完整测试时&#xff0c;几分钟没有新输出并不一定代表卡死&#xff1b;但如果任务长时间停在同一条命令、日志不再增长&#xff0c;或者反复重试同一个失败步骤&#xff0c;就需要人工介入。处理长任务的关键不是简单“再等一会”&#xf…

作者头像 李华
网站建设 2026/7/19 4:44:48

Python基础语法详解与实战应用指南

1. Python基础入门概述Python作为一门简洁优雅的编程语言&#xff0c;已经成为当今最受欢迎的编程入门选择之一。Day6的课程内容主要围绕Python基础语法展开&#xff0c;适合已经完成前5天学习的学习者巩固基础。作为动态类型的解释型语言&#xff0c;Python特别适合快速开发和…

作者头像 李华
网站建设 2026/7/19 4:44:36

YOLO V3 学习笔记

目录 1. YOLO V3简介 2. YOLO V3网络结构 3. 边界框预测 4. 正负样本的分配 5. YOLO V3损失函数 5.1 置信度损失 5.2 分类损失 5.3 定位损失 6. YOLO V3总结 1. YOLO V3简介 YOLO&#xff08;You Only Look Once&#xff09;系列算法是目标检测领域经典的 one‑stage 方…

作者头像 李华
网站建设 2026/7/19 4:42:40

2025生成式AI引擎市场格局与技术趋势解析

1. 2025年生成式引擎服务市场格局解析2025年的生成式引擎服务市场已经形成了明显的分层格局。根据最新行业调研数据&#xff0c;全球范围内提供生成式AI引擎服务的厂商超过200家&#xff0c;但真正具备核心技术竞争力的不超过15家。这些服务商主要分为三大阵营&#xff1a;云计…

作者头像 李华
网站建设 2026/7/19 4:38:02

linux系统附加msqsql数据库后,显示只读解决记录

linux系统附加msqsql数据库后,显示只读解决记录 如果mssql数据库附加后,显示只读,多半是权限问题,只需要把权限改成777就行了,不过这存在安全隐患,如果是开发环境可以忽略;如果是生产环境就得注意了。 解决文件夹权限问题 方案A:将文件夹的拥有者改为 jjycheng(推荐)…

作者头像 李华