Python笔记 Ch.10 模块

本文详细讲解了Python中模块的导入方式,包括import与from...import的区别,以及如何通过__name__属性理解和使用。还介绍了包的概念,如何创建和访问子目录,以及dir()函数在探索模块内容中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用:

模块引入:

import:

这个基本上与Java相同, 就不多说了

import模块只会被导入一次, 不会出现C++中的递归include的情况

通配符 *

如:

from modname import *

导入这个模块中的所有内容

from … import:

用于引用模块的一部分(如某个函数)

from modname import name1[, name2[, ... nameN]

与直接import的区别

image-20201008222329972

所以首选from方法

__name__属性

前头讲过了:

当模块直接运行自身时, __name__==__main__

否则__name__==模块名, 如被其他模块import时

image-20201008221757172

dir()函数:

这玩意返回模块内定义的所有名称, 以一个字符串列表的形式返回:

print(dir(copy))

输出:

['Error', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_copy_dispatch', '_copy_immutable', '_deepcopy_atomic', '_deepcopy_dict', '_deepcopy_dispatch', 
'_deepcopy_list', '_deepcopy_method', '_deepcopy_tuple', '_keep_alive', '_reconstruct', 'copy', 'deepcopy', 'dispatch_table', 'error']

如果没有给定参数, 则会列出当前文件中定义的所有名称:

print(dir())

输出:

['BasicContext', 'Clamped', 'Context', 'ConversionSyntax', 'Decimal', 'DecimalException', 'DecimalTuple', 'DefaultContext', 'DivisionByZero', 'DivisionImpossible', 'DivisionUndefined', 'ExtendedContext', 'FloatOperation', 'HAVE_CONTEXTVAR', 'HAVE_THREADS', 'Inexact', 'InvalidContext', 'InvalidOperation', 'MAX_EMAX', 'MAX_PREC', 'MIN_EMIN', 'MIN_ETINY', 'Overflow', 'ROUND_05UP', 'ROUND_CEILING', 'ROUND_DOWN', 'ROUND_FLOOR', 'ROUND_HALF_DOWN', 'ROUND_HALF_EVEN', 'ROUND_HALF_UP', 'ROUND_UP', 'Rounded', 'Subnormal', 'Underflow', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'classTest', 'copy', 'encode', 'f', 'fff', 'fibonacci', 'funFK', 'getcontext', 'localcontext', 'operator', 'parrot', 'random', 'raw_input', 're', 'setcontext', 'sqrt', 'sys']

包:

包的本质上就是一个文件目录, 即一个文件夹. 其满足:

  1. 一个目录中只有包含__init__.py的文件, 才会被视作一个包

  2. 目录的路径必须在sys.path中

  3. 包中还可以包含子目录, 可用于区分不同的功能&内容, 方便用户调用

    访问时就直接使用.连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值