python 模块和包 eval()

本文详细介绍了Python中模块和包的概念、不同导入方式及其使用技巧,包括import语句的多种形式、from...import语句的应用场景及注意事项等。

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

目录

模块

导入模块的方式

制作模块

模块定位顺序

__all__

导入包

__dict__

eval()


模块

python模块(Module),是一个python文件,以.py结尾,包含了python对象定义和python语句,模块能定义函数,类和变量,模块里也能包含可执行的代码。

导入模块的方式

  1. import 模块名

    语法:

    #1.导入模块

    import 模块名

    import 模块名1,模块名2...

    #2.调用功能

    模块名.功能名()

  2. from 模块名 import 功能名

    语法:
     
    from 模块名 import 功能1,功能2,功能3...
    
    from math import sqrt
    print(sqrt(9))
  3. from 模块名 import*

    语法:
    from 模块名 import*
    
    from math import*
    print(sqrt(9))
  4. import 模块名 as 别名

    语法:
     
    import 模块名 as 别名
    
    import time as tt
    tt.sleep(2)
    print('hello')

    注:定义别名之后,只能使用别名,而不能使用原模块名

  5. from 模块名 import 功能名 as 别名

制作模块

在python中,每个python文件都可以作为一个模块,模块的名字就是文件的名字。也就是说自定义模块名必须要符合标识符命名规则

if __name__ = '__main__’:表示只在当前文件中调用该函数

__name__是系统变量,是模块的标识符,值是:如果是自身模块值是__main__,否则是当前模块名字。

模块定位顺序

当导入一个模块,python解释器对模块位置的搜索顺序是:

①当前目录

②如果不在当前目录,python则搜索在shell变量PYTHONPATH的每个目录

③如果都找不到,python还会查看默认路径。UNIX下,默认路径一般是/usr/local/lib/python/

模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

注:

①自己的文件名不要和已有模块名重复,否则导致模块功能无法使用

②使用from 模块名 import 功能  的时候,如果功能名字重复,调用到的是最后定义或导入的功能。

__all__

如果一个模块文件中用__all__变量,当使用 from XXX import * 导入时,只能导入这个列表中的元素。

包将有联系的模块组织在一起,即放在同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为包

注:新建包之后,包内部会自动创建__init__.py文件,这个文件控制着包的导入行为。

新建包:[New] —— [Pathon Package] —— 输入包名 ——[ok] ——新建功能模块(有联系的模块)

导入包

方法一:

import 包名.模块名

包名.模块名.目标

方法二:

注:必须在__init__.py 文件中添加__all__ = [ ],控制允许导入的模块列表。

from 包名 import *

模块名.目标

__dict__

作用:收集类对象和实例对象的属性和方法对应的值从而返回一个字典。

eval()

eval()函数用来执行一个字符串表达式,并返回表达式的值。

eval函数功能:将字符串str当成有效的表达式来求值并返回计算结果。eval函数可以实现list、dict、tuple与str之间的转化

eval() 方法的语法:

1

eval(expression[, globals[, locals]])

参数:

  • expression -- 表达式。

  • globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

  • locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值