[oeasy]python0140_导入_import_from_as_namespace_

news2024/11/24 16:24:56

导入import

回忆上次内容

  • 上次学习了
    • try
    • except
  • 注意要点
    • 半角冒号
    • 缩进
    • 输出错误信息
  • 有错就报告
    • 不要隐瞒
    • 否则找不到出错位置
    • 还可以用traceback把
      • 系统报错信息原样输出
  • 但是代码量好多啊
    • 10多 行了 🤯
    • 可以把他输入部分和输出部分么?🤔
  • 我们先试试
    • 怎么引用 其他的py文件

构建环境

  1. 先新建一个namespace文件夹
  2. 然后进入这个文件夹
  3. 新建两个文件
    1. 被引用模块
      • my_module.py
    2. 主体程序
      • oeasy.py

图片描述

  • 然后进去
    • 编辑这两个文件
      • vi -o my_module.py oeasy.py
      • -o 是分窗口编辑文件

效果

  • 结果如下图所示

图片描述

  • oeasy.py中输入
    • import my_module
  • my_module.py中输入
    • print(“in another”)

保存并运行

  • ctrl+k 切换到上方windows
  • ctrl+j 切换到下方windows

图片描述

  • :wqa
    • 全部保存并退出
      • w 的意思是先保存
      • q 退出vim
      • a 代表 all buffers 所有缓存

运行结果

  • 运行的是oeasy.py
    • 输出了"i am my_module.py"
  • 这说明
    • 导入成功了

图片描述

  • 运行的是
    • oeasy.py
  • oeasy.py中导入了
    • my_module.py
  • my_module.py中
    • 输出了 “i am my_module.py”
  • 通过导入my_module.py
    • 执行了其中的代码
  • 导入对应的关键词import
    • 应该如何理解呢?

import

  • 进口(import)
    • 这里指的是导入模块
    • 这也是python强大之处
    • 可以导入各种使用的包来使用

图片描述

  • 可以导入多个文件吗?😱

导入多个文件

  • 上图建议的是
    • 不同模块分行导入

图片描述

  • 导入除了可以调用对方代码
    • 还能做什么呢?

尝试引用包内变量

图片描述

  • 可以在my_module.py中定义变量
    • 在oeasy.py中引用吗?

尝试运行

图片描述

  • pi没有找到😭

图片描述

  • 不慌
    • 好饭不怕晚
  • 不是把这些字节码都运行了么?
    • 但是这里面有个作用域(namespace)的问题
    • i 属于 my_module.py
    • 而不属于oeasy.py
    • 所以直接运行找不到i
  • 那怎么办?

修改

  • 只要说清楚这个i来自于my_module就可以了
  • 用一个点(.)
    • 就可以说明从属关系
    • 点(.)的意思是
    • 在 my_module . pi
      • 就是 在my_module i

图片描述

  • :wa
    • write all
    • 两个文件都保存
  • :!python3 %
    • 用外部命令python3运行当前文件

图片描述

  • pi找到了😌
  • 在my_module.py中
    • pi就是一个标准的变量声明赋值
  • 如果我就想在 oeasy.py 中直接使用 pi
  • 可能么?

修改

  • 声明了一个变量pi
    • 并把mymodule.i的值赋给他

图片描述

  • 还有其他写法吗?

from…import…

  • 这句话好像好使

图片描述

  • local()函数
    • 可以查看本地局部变量

图片描述

  • 本地变量会撞车吗?

撞车(local name crash)

图片描述

  • 因此要特别注意尽量
    • 不要使用from xxx import *
    • 这种容易撞车的语句

图片描述

  • 撞车是什么样子的!?
    • 可以欣赏一下车祸现场吗?

车祸现场

图片描述

  • my_module.pi 被 math.pi 撞飞了

图片描述

  • 这其实也是名字空间(namespace)的意义

namespace

  • 名字空间是个好主意!

图片描述

  • 那可以给导入进来的变量改名么?

from … import … as …

图片描述

  • 可以的
    • 这样可以把变量名更明确一点
    • 其实就是又起了个名字
    • 然后进行赋值

图片描述

  • 任务达成!!!
    • 总结一下 !✿✿ヽ(°▽°)ノ✿

总结

  • 我们这次导入了外部的py文件
    • import my_module
      • 导入一个自己定义的模块
    • 可以使用my_module中的变量
      • 不能 直接使用 my_module.py文件中的变量
      • 只要加my_module.作为前缀就可以
  • 直接导入导入变量、函数
    • from my_module import pi
      • 可以导入my_module.pi 并作为pi变量使用
    • from my_module import pi as my_module_pi
      • 导入变量并重命名
  • 上次那个苹果香蕉统计程序
    • 能封装成文件模块
    • 再导入么?🤔
  • 下次再说 👋
  • 蓝桥->https://www.lanqiao.cn/courses/3584
  • github->https://github.com/overmind1980/oeasy-python-tutorial
  • gitee->https://gitee.com/overmind1980/oeasypython

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/460363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机组成原理】第四章 指令系统

系列文章目录 第一章 计算系统概论 第二章 运算方法和运算器 第三章 多层次的存储器 第四章 指令系统 第五章 中央处理器 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 文章目录 系列文章目录前言第四章 指令系统4.1 指令系统的发展与性能要求4.1.1 指令系统的发展4…

CTR-GCN 代码理解

论文代码:https://github.com/Uason-Chen/CTR-GCN ctrgcn.py 文件路径:CTR-GCN/model/ctrgcn.py import math import pdbimport numpy as np import torch import torch.nn as nn from torch.autograd import Variabledef import_class(name):compone…

动态设置图片的主题色(保留明暗关系)

github地址 PrimaryColorDemo 效果 原始图片 就是一张普通的png图片 根据选择的主题色动态渲染。 思考 最近在思考怎么实现动态的设置图片的主题色。不是那种渲染透明iocn。而是把图片的明暗关系保留。而改变其中的主题色。终于花了半天的时间研究出来了。和大家共享。 …

AI对话AI才是正解?KAUST研究团队提出基于角色扮演的大模型交互代理框架CAMEL

电影《盗梦空间》中有这样一句非常经典的台词: “世上最具有可塑性的寄生虫是什么?是人类的想法。人类大脑中一个简单的想法,就可以建立一座庞大的城市。有时一个想法也可以改变世界,并改写一切规则,这就是我为什么要…

0703齐次方程-微分方程

文章目录 1 定义和解法1.1 定义1.2 微分方程中的变量替换1.3 齐次方程的解法 2 例题结语 1 定义和解法 1.1 定义 形式上可化为 d y d x g ( y x ) \frac{dy}{dx}g(\frac{y}{x}) dxdy​g(xy​)的方程,称为齐次方程。 例如 d y d x y x tan ⁡ y x , d y d x e y…

操作系统考试复习—第二章 2.1 2.2程序和进程的描述

第二章 进程的描述与控制 程序:有序的指令集合 程序顺序执行的特征:1.顺序性 2.封闭性 3.可再现性(确定性) 在多道程序环境下,允许多个程序并发执行,此时他们将失去封闭性,并具有间断性和不可再现性的特征。为此引…

net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) 报错

一、问题描述 最近现场实施人员反馈有个功能不能正常使用,F12查看浏览器的控制台,提示net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content)的错误, HTTP状态码206表示“部分内容”(Partial Content),…

全网最细,Jmeter性能测试-分布式压力测试环境搭建(超详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 JMeter设计之初是…

【Redis】不卡壳的 Redis 学习之路:从十大数据类型开始入手

目录 类型 String 字符串 List 列表 Set 集合 Sorted Set /ZSet 有序集合 Hash 哈希表 GEO 地理空间 HyperLogLog 基数统计 Bitmap 位图 BitField 位域 Stream 流 线上测试地址 常用命令 key 操作指令 String 操作指令 List 操作指令 Set 操作指令 ZSet 操作…

STM32CubeMX | 使用STM32定时器的PWM输入模式测量脉冲宽度和周期

STM32CubeMX | 使用STM32定时器的PWM输入模式测量脉冲宽度和周期 目录 STM32CubeMX | 使用STM32定时器的PWM输入模式测量脉冲宽度和周期1、介绍2、STM32CubeMX配置2.1 基本配置2.2 PWM输出配置2.3 PWM输入捕获配置 3、程序修改和测试 本篇博客以STM32F103C8为例,其他…

selenium_交互 (谷歌浏览器驱动下载 xpath插件安装)

安装selenium (1)查看谷歌浏览器版本 谷歌浏览器右上角 ‐‐> 帮助 ‐‐> 关于 查看 浏览器版本: (2)操作谷歌浏览器驱动下载地址 http : // chromedriver . storage . googleapis . com / index . html 找到…

FPGA、 CPU、GPU、ASIC区别

一、为什么使用 FPGA? 众所周知,通用处理器(CPU)的摩尔定律已入暮年,而机器学习和 Web 服务的规模却在指数级增长。 人们使用定制硬件来加速常见的计算任务,然而日新月异的行业又要求这些定制的硬件可被重新…

2023第十四届蓝桥杯 C/C++大学生A组省赛 满分题解

写在前面 以下代码,目前均可通过民间OJ数据(dotcpp & New Online Judge), 两个OJ题目互补,能构成全集,可以到对应链接下搜题提交(感谢OJ对题目的支持) 如果发现任何问题&…

汽车制造数字化转型如何做?有哪些可行性案例?

引语:砥砺前行的先行者,为长期主义者带去曙光 国内制造企业亟需加速探索数字化转型之路。但是传统软件服务商提供的PLM、MES等系统已经无法满足企业个性化需求。通过传统软件服务商进行二次开发,成本高、周期长,难以适应迅速变化的…

少儿Python每日一题(25):岛屿问题

原题解答 本次的题目如下所示(题目来源:蓝桥杯): 编程实现: 有一片海域划分为N*M个方格,其中有些海域已被污染(用0表示),有些海域没被污染(用1表示)。请问这片N*M海域中有几块是没被污染的独立海域(没被污染的独立海域是指该块海域上下左右被已污染的海域包围,且…

【手把手做ROS2机器人系统开发六】创建用户自定义msg和srv文件

创建用户自定义msg和srv文件 目录 创建用户自定义msg和srv文件 一、程序编写 1、创建软件包 2、创建msg消息和srv服务文件夹 3、定义msg消息示例 4、定义srv服务示例 5、修改和添加编译选项 6、软件包设置 二、程序测试 1、编译软件包 2、测试查询信息 3、测试查询服务…

EasyCVR视频融合平台黑名单功能更新,防止设备恶意注册平台

为了防止别人恶意注册国标设备,EasyCVR视频融合平台也具备拦截设备注册的功能,即通过国标设备ID和注册IP地址进行拦截,也就是黑名单功能。 在3.1版本之前,黑名单的设置是在配置中心—平台接入中,在输入框中添加黑名单I…

在阿里做测试开发的这5年,收获与感悟...

正好在离职交接空档期,就抽空简单分享自己的一些个人经历给大家,希望对刚毕业不久或者工作三五年的同学能有一些帮助。 测试新人 我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试。那时候在一家电商公司做测试,做…

湿法冶金以及铼提取工艺,湿法冶金工艺特点及工艺流程

湿法冶金是利用浸出剂在一定温度压力下与矿石接触,把矿石中有用的金属溶解后再从溶液中回收有价金属的一种工艺,因为其过程大都是在水溶液中进行,所以又被称为“水法冶金”。 01 湿法冶金工艺特点及工艺流程 湿法冶金作为解决我国金属矿产资…

SpringBoot第 17 讲:SpringBoot+JWT

关于JWT的讲解请参考:SpringCloud第14讲:(番外篇)JWT 一、项目演示 没有登陆直接请求列表接口,系统会要求先进行登录 登录成功后请求列表接口,可以正常响应数据 二、后台开发 2.1、pom.xml 添加redis…