网站服务器有哪些类型有哪些类型有哪些类型有哪些类型有哪些找别人做网站需要什么信息
2026/5/12 17:35:02 网站建设 项目流程
网站服务器有哪些类型有哪些类型有哪些类型有哪些类型有哪些,找别人做网站需要什么信息,徐州市专业做网站的公司,photoshop中文版免费下载#x1f4cb; 前言 今天是 Python 训练营的第 30 天#xff0c;一个具有里程碑意义的日子#xff01;如果说前 29 天我们是在磨练单兵作战的技能#xff08;变量、逻辑、函数、类#xff09;#xff0c;那么今天我们开始学习如何指挥军团——模块化编程。 所谓“学习 P… 前言今天是 Python 训练营的第 30 天一个具有里程碑意义的日子如果说前 29 天我们是在磨练单兵作战的技能变量、逻辑、函数、类那么今天我们开始学习如何指挥军团——模块化编程。所谓“学习 Python”其实是一个伪命题。真正的逻辑是掌握 Python 基础语法 熟练调用解决特定问题的第三方库。今天我们不仅要学习如何优雅地调用别人的库更要学习如何像架构师一样组织自己的代码文件。一、核心知识点总结1. 库的本质与“以终为始”的学习观Python 之所以强大是因为它背后庞大的生态。不同的库解决不同的问题我们不需要把所有库都学会而是根据任务按需学习领域代表库作用基础交互os,sys,json文件操作、系统交互数据分析pandas,numpy处理表格、矩阵运算可视化matplotlib,seaborn画图机器学习sklearn,pytorch建模、深度学习爬虫requests获取网页数据心得不要试图背诵库的所有函数要学会查官方文档。文档就是最好的说明书。2. 导入库的三种姿势(1) 标准导入 (推荐)importmath# 优点命名空间清晰知道 math.sqrt 是来自 math 库print(math.sqrt(4))(2) 导入特定项 (常用)frommathimportsqrt# 优点代码简洁适合高频使用的函数print(sqrt(4))(3) 导入所有项 (慎用)frommathimport*# 缺点命名空间污染。如果 math 库和 numpy 库都有 sqrt 函数会发生冲突导致莫名其妙的 bug。3. 自定义模块与包的导入这是今天的重难点。模块 (Module)就是一个.py文件。包 (Package)就是一个包含__init__.py的文件夹。Python 查找模块的核心逻辑是在sys.path(包含根目录) 中查找。同级目录直接import filename。子目录需要文件夹里有__init__.py使用from folder import filename。跨目录/兄弟目录这是最容易报错的地方。错误做法在文件深处直接运行python subdirectory/main.py容易导致路径混乱。正确做法在项目根目录使用python -m package.module运行这样 Python 会自动将根目录加入环境变量解决所有路径查找问题。4. 为什么我看不到某些库的源码(如 OpenCV)当我们按住 Ctrl 点击cv2.imread时发现看不到 Python 代码。这是因为性能考量像 OpenCV、NumPy 的核心运算层是用C/C编写的编译成了二进制文件.dll / .so。封装Python 只是作为一个胶水语言调用了底层的 C 接口。解决办法遇到这种情况看源码没用必须查阅官方文档。二、实战作业构建多层级的项目结构为了彻底搞懂导入逻辑我模拟了一个稍微复杂的项目结构包含工具包、主程序和测试脚本。1. 项目结构设计假设我们的项目文件夹结构如下MyProject/ -- 项目根目录 │ ├── main.py -- 入口程序 ├── utils/ -- 工具包 │ ├── __init__.py -- 标识这是一个包 │ └── math_tools.py -- 自定义模块 └── logic/ -- 业务逻辑包 ├── __init__.py └── calculator.py -- 调用 utils 的模块2. 代码编写文件 1:utils/math_tools.py(底层工具)# utils/math_tools.pydefget_circle_area(radius):计算圆面积importmathreturnmath.pi*(radius**2)defgreeting():returnHello from Utils!文件 2:logic/calculator.py(中间层调用工具)# logic/calculator.py# 注意这里我们假设是从根目录运行所以使用绝对导入fromutils.math_toolsimportget_circle_areadefcalculate_price(radius,price_per_area):areaget_circle_area(radius)returnarea*price_per_area文件 3:main.py(顶层入口)# main.pyimportsysimportos# 打印当前的工作目录验证环境print(f当前工作目录:{os.getcwd()})# 导入自定义模块fromutilsimportmath_toolsfromlogicimportcalculatordefmain():r5price10# 1. 直接调用 utilsprint(f--- 测试 Utils ---)print(math_tools.greeting())print(f半径为{r}的圆面积:{math_tools.get_circle_area(r):.2f})# 2. 调用 logic (logic 内部又调用了 utils)print(f\n--- 测试 Logic ---)total_pricecalculator.calculate_price(r,price)print(f半径为{r}的地毯单价{price}总价为:{total_price:.2f})if__name____main__:main()3. 运行测试与结果场景 A正确运行打开终端Terminal确保目录是MyProject根目录。运行命令python main.py输出结果当前工作目录: D:\MyProject --- 测试 Utils --- Hello from Utils! 半径为 5 的圆面积: 78.54 --- 测试 Logic --- 半径为 5 的地毯单价 10总价为: 785.40场景 B跨模块运行 (模块模式)如果我想单独测试logic/calculator.py直接运行python logic/calculator.py可能会报错找不到 utils。正确命令在根目录下python -m logic.calculator(注这需要在 calculator.py 中添加一些打印代码才能看到效果但这种运行方式保证了 Python 能找到 utils 包)三、学习心得项目思维的觉醒今天的学习让我对编程有了新的认识文件不是孤岛以前写代码像写日记一篇一个.py现在写代码像盖房子有地基utils、有框架logic、有大门main。__init__.py就是连接房间的通道。避免“造轮子”了解了库的分类后遇到问题我的第一反应不再是“怎么写代码实现这个功能”而是“有没有现成的库可以调用”。这极大提高了效率。文档阅读能力意识到像 OpenCV 这种库看源码通过性不强后我开始强制自己阅读官方文档。虽然英文文档刚开始看很痛苦但这是通往高阶程序员的必经之路。“以终为始”知道自己要解决什么问题再去寻找对应的工具库这才是学习 Python 的正确姿势。最后感谢 浙大疏锦行 老师的指点这节课帮我打通了 Python 项目构建的“任督二脉”

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询