python 导入 包,模块,类,函数

前言

在复杂代码中,需要进行按不同的层次封装代码,方便重用和协作

包和模块都是为了更好的对代码进行组织,实现可重用和可维护

要点

1.包package:是一个目录,里面包含__init__.py和模块(包的__init__.py用于区分普通目录,包可以多级嵌套)

2.模块module:是文件,以.py为后缀名,包含类、函数、语句

3.类class:代表一类事物,一个类可以有多个实例对象

class Preson:                       #定义类
    def __init__(self,name,age):       #初始化
        self.name = name
        self.age = age
 
    def dis(self):                      #定义方法
        print

4.函数function:是能重用的程序段,在其他地方可以反复调用

def add(n):
    n=n+2
    return n

导入模块 / 类 / 函数

主要有下面几种格式:

  1. import module1, module2

  2. from pkg1.pkg2 import module

  3. from pkg1.pkg2.module import func/class

  4. from module import *

对于第一种导入,在使用时不能使用模块里面的类创建实例(或使用函数)。因为在实际中都是要去使用某个类或者函数,所以最常见或者最方便的导入是第三种这样(或用第四种导入模块中的所有)

更多详细区别,可参考:https://zhuanlan.zhihu.com/p/403560409

### Python导入的方法和规则 在 Python 编程语言中,导入是一个非常重要的概念。它允许开发者通过模块化的方式组织代码并实现功能重用。以下是关于 Python 导入方法及其规则的具体说明。 #### 1. 基础导入语句 Python 提供了几种基本的方式来导入模块。最常见的是 `import` 和 `from ... import` 的形式: - **直接导入整个** 可以使用 `import package_name` 来导入一个完整的。例如,在 Google Earth Engine (GEE) 的应用中,可以通过以下方式导入核心库[^1]: ```python import ee ``` - **从特定路径导入模块** 如果需要导入某个中的具体子模块,则可以指定更详细的路径。例如,如果想在一个复杂的目录结构下导入另一个模块的内容,可以采用如下写法[^2]: ```python import dir1.dir3.b2 from dir1.dir2 import b2 ``` #### 2. 别名机制 (`as`) 为了简化命名或者避免名称冲突,Python 支持为已导入的对象设置别名。这通常通过关键字 `as` 实现。例如: ```python import pandas as pd import numpy as np ``` 这种方式不仅提高了可读性,还减少了重复输入长名字的工作量。 #### 3. 部分导入 (`from ... import`) 当只需要某些函数或其他组件时,可以选择只加载这些部分而不是全部内容。这样做的好处是可以减少内存占用以及加快程序启动速度。比如: ```python from math import sqrt, pi print(sqrt(9)) # 输出结果为 3.0 print(pi) # 输出圆周率近似值 3.14... ``` #### 4. 星号通配符 (*) 虽然不推荐频繁使用星号(*)来进行全面展开式的导入操作,但在特殊情况下确实存在这种需求——即一次性引入目标模块内的所有公共成员。注意,默认情况下只有那些未被命名为 `_private_variable` 或者双前置划线的形式才会暴露出来给外部调用方知晓。 ```python from module_name import * ``` #### 5. 路径管理与相对/绝对导入 对于大型项目而言,合理配置工作区根目录显得尤为重要。因为这直接影响到能否成功定位各个依赖项的位置关系。一般建议优先考虑基于顶层项目的全限定名方式进行绝对地址引用;而局部范围内则适当运用相对位置描述手段完成内部交互逻辑构建过程[^3]。 --- ### 示例代码展示 这里给出一段综合上述知识点的小例子作为参考: ```python # 绝对导入示例 import os.path as osp def check_file(filename): return osp.isfile(filename) # 相对导入示例(假设当前文件位于package/submodule.py) from ..utils.helper import log_message log_message("This is a test message.") ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值