当前位置: 首页 > news >正文

python模块导入

python模块导入

import os
import requests
import re
import sys
这个为什么不用from

 

因为这几个是模块导入,不是从模块里拿某个名字,所以用 import xxx 更自然。

你这段在 app.py:1 的写法含义是:

  1. import os:导入整个 os 模块,后面用 os.getenv。
  2. import requests:导入 requests 模块,后面用 requests.get。
  3. import re:导入 re 模块,后面用 re.sub、re.split。
  4. import sys:导入 sys 模块,后面用 sys.stdin、sys.stdout。

什么时候用 from

  1. 当你只想导入模块里的某个对象时,比如:
    from datetime import datetime(你在 app.py:5 就是这样)
  2. 或者 from pathlib import Path(你在 app.py:6 也是这样)

为什么这里不写 from os import getenv 这种

  1. 可读性:看到 os.getenv 一眼知道来自 os。
  2. 避免命名冲突:直接导入函数名(如 split、sub)容易和本地变量撞名。
  3. 维护方便:后续要用模块里更多函数时不用再改导入语句。

所以这是常见风格选择,不是对错问题。

 

 


 
 
91 x 4
 
 
 
 
 

这行代码返回一个字典,键是工具名,值是工具对象本身。

在你的 app.py:123 里,等价效果大概是:

 

作用是让你后面可以通过工具名快速找到并执行工具,比如在 app.py:151

  • 根据 tool_call["name"] 去 tool_map 取到对应工具
  • 再调用 selected_tool.invoke(tool_call["args"]) 执行

本质上就是把列表 tools 转成“按名字索引”的查找表。

 

import os
import requests
import re
import sys
这个为什么不用from

 
 
 

因为这几个是模块导入,不是从模块里拿某个名字,所以用 import xxx 更自然。