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

网站开发与维护视频教程初中生怎么提升学历

网站开发与维护视频教程,初中生怎么提升学历,云南省网站开发公司,jsp网站开发源码实例浙大疏锦行https://blog.csdn.net/weixin_45655710 知识点回顾: 导入官方库的三种手段导入自定义库/模块的方式导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致) 作业:自己新建几个不同路径文…

@浙大疏锦行https://blog.csdn.net/weixin_45655710

知识点回顾:

  1. 导入官方库的三种手段
  2. 导入自定义库/模块的方式
  3. 导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致)

作业:自己新建几个不同路径文件尝试下如何导入

导入库/模块的核心逻辑

导入包的核心就是找到目录,只有理解了python解释器的目录关系,才能导入包。

Python解释器在执行import a.b.c时,会去一个叫做sys.path的列表里查找路径。sys.path是一个包含多个目录路径的列表,解释器会依次在这些目录中寻找a这个包或模块。

这个sys.path列表通常包含:

  1. 脚本所在的目录:当你直接运行python a.py时,a.py所在的目录会被自动加到sys.path的第一个位置。
  2. PYTHONPATH环境变量:如果系统设置了PYTHONPATH环境变量,其中的路径也会被加入。
  3. 标准库目录:Python安装时自带的标准库所在的目录。
  4. 第三方库目录(site-packages):你通过pip install安装的库所在的目录。

核心问题:当项目结构比较复杂,一个子目录中的脚本想导入另一个子目录中的模块时,往往会因为那个模块的根目录不在sys.path中而导入失败。

导入官方库的三种手段

官方库(标准库和第三方库)因为其路径已经存在于sys.path中,所以导入起来非常直接。

1. import library (导入整个模块)

这是最常见的方式。导入后,需要通过库名.函数名()的方式来调用。

import math # 导入数学库area = math.pi * (5 ** 2) # 调用时需要加上'math.'前缀
print(f"方法1: 通过 math.pi 计算,面积是 {area}")

2. from library import object [as alias] (从模块中导入特定对象)

当你只需要模块中的一两个函数或变量时,可以使用这种方式。调用时无需加库名作为前缀。

from math import pi, sqrt # 从math库中只导入pi和sqrt
from os import path as os_path # 导入os库中的path,并给它起一个别名os_patharea = pi * (5 ** 2) # 直接使用pi,无需前缀
print(f"方法2: 直接使用 pi 计算,面积是 {area}")
print(f"系统路径分隔符: {os_path.sep}")

3. from library import * (导入模块中所有对象)

这种方式会将模块中所有的公开对象(不以下划线_开头的)都导入到当前的命名空间中。

⚠️注意强烈不推荐在大型项目中使用这种方式,因为它会污染当前命名空间,容易造成名称冲突,并且让代码的可读性变差(你无法一眼看出某个函数或变量来自哪个库)。

from math import * # 导入math库的所有内容area = pi * (pow(5, 2)) # pi和pow都可以直接使用
print(f"方法3: 使用 'from math import *' 计算,面积是 {area}")

作业:自定义库/模块的导入

1. 项目结构设置

假设项目结构如下:

my_project/                 <-- 项目根目录
|
├── main_script.py          <-- 主运行脚本
|
└── utils/                  <-- 工具包|├── __init__.py         <-- (空文件,但必须存在,表示这是一个包)|└── calculator.py       <-- 存放计算函数

2. 编写模块代码

utils/calculator.py 文件内容:

# utils/calculator.py
"""这是一个包含计算函数的模块。"""
import mathdef circle_area(radius):"""计算圆面积"""if radius < 0:return 0return math.pi * radius ** 2def rectangle_area(length, width):"""计算矩形面积"""if length < 0 or width < 0:return 0return length * width

3. 导入场景与代码示例

main_script.py 文件内容:

# main_script.py
import sys
import os# --- 动态修改 sys.path (这是最稳健的方式,我们保留它) ---
# 这一部分确保无论你在哪里运行脚本,项目根目录总能被找到
try:project_root = os.path.dirname(os.path.abspath(__file__))if project_root not in sys.path:sys.path.insert(0, project_root)
except NameError:# 在交互式环境(如Jupyter)中,__file__ 未定义,使用 os.getcwd()project_root = os.getcwd()if project_root not in sys.path:sys.path.insert(0, project_root)# --- 导入并进行调试 ---
try:from utils import calculator# 【新增的调试步骤】: 打印出 calculator 模块中所有可用的属性和方法# 这可以帮助我们确认 'circle_area' 是否真的被加载了print("--- 正在检查 'calculator' 模块内容 ---")print(dir(calculator))print("------------------------------------")# --- 调用函数 ---print("\n--- 正在调用函数 ---")radius = 10# 错误通常发生在这里area = calculator.circle_area(radius)print(f"✅ 计算成功!半径为 {radius} 的圆,面积是: {area:.2f}")except ImportError as e:print(f"❌ 导入失败: {e}。请检查项目结构和文件名是否正确。")
except AttributeError as e:print(f"❌ 属性错误: {e}")print("\n👉【解决方案】: 这个错误通常意味着目标函数没有在模块中被正确定义或加载。")print("   1. 请务必确认 `utils/calculator.py` 文件内容正确无误且已保存。")print("   2. 请务必删除 `utils` 文件夹下的 `__pycache__` 文件夹,然后重新运行。")

如何VS Code中运行

  1. 准备文件:在你的电脑上创建 my_project 文件夹,并在其中创建 main_script.pyutils 子文件夹。在 utils 中创建空的 __init__.pycalculator.py,并将上述代码填入。

  2. 运行脚本

    • 直接运行:在VS Code中打开 main_script.py,点击右上角的 "Run Python File" 按钮。
    • 终端运行:在VS Code中打开一个终端 (Terminal -> New Terminal)。
      • 确保终端的路径在 my_project 文件夹下。
      • 运行命令:python main_script.py
      • 尝试场景3的命令:python -m main_script (注意没有.py后缀)

运行 python main_script.py 后,您会看到如下输出:

http://www.yayakq.cn/news/173898/

相关文章:

  • 2021免费正能量网站入口佛山论坛建站模板
  • 软件开发设计流程图优化营商环境应当坚持什么原则
  • 怎么自己做代刷网站手机wap版网站制作
  • 合肥百姓网网站建设网站开发的外文翻译
  • 有哪些游戏可以做网站唐山网络运营推广
  • php网站建设哪家好高明做网站
  • 站长工具亚洲高端网站特色
  • 网站统计平台洛阳网络推广公司
  • 织梦网站修改教程西安推广公司无网不胜
  • 厦门网站建设模拟网络公司是什么意思
  • 宝安多屏网站建设公司好吗mvc 网站路径
  • wordpress文章采集发布插件搜索引擎seo如何优化
  • html5 网站模板 米卖房app十大排行榜
  • 做音乐头像网站博州住房和城乡建设部网站
  • c#网站开发网易云课堂百度云下载网络设计在大学是属于什么专业
  • 西安网站制作的公司阳江网红桥定位
  • 网站优化的链接建设个人博客网站开发背景论文
  • 柳州做网站去哪家公司好个人淘宝客网站
  • 西安公司企业网站建设网站开发模块的需求
  • 黄石做网站的公司wordpress自己做模板
  • 推广网站大全网站排名下降怎么上去
  • 佛山网站公司建设网站网站制作留钱
  • 收费小说网站怎么做网站目录怎么做301跳转
  • 一些js特效的网站推荐网站做cpa赚钱吗
  • 网站404页面设置wordpress时间轴主题
  • 做网站收费云南城乡建设网站
  • 自己做彩票网站吗百度网盘搜索引擎
  • 镇江网站制作优化专门做免费东西试吃的网站
  • 住房和城乡建设部建造师官网百度智能小程序怎么优化排名
  • php如何搭建网站后台丰台手机网站设计