from import python3_《Python语言程序设计》 —3.3.2 from import

3.3.2 from import

除了前面介绍的使用import将整个模块导入,也可以使用from import将模块中的标识符(变量名、函数名等)直接导入当前环境,这样我们在访问这些标识符时就不再需要指定模块名。其语法格式如下:

from 模块名 import 标识符1, 标识符2, ..., 标识符N

代码清单3-17展示了如何直接导入模块中的标识符。

代码清单3-17 testfibo2.py脚本文件

1    from fibo import PrintFib, GetFib #导入fibo模块中的PrintFib和GetFib

2    PrintFib(5) #忽略fibo模块名直接调用PrintFib函数

3    ls=GetFib(5) #忽略fibo模块名直接调用GetFib函数

4    print(ls) #输出ls中保存的斐波那契数列前5项数据

程序执行结束后,将在屏幕上输出如下结果:

1 1 2 3 5

[1, 1, 2, 3, 5]

也可以改为只导入一个模块中的部分标识符,如代码清单3-18所示。

代码清单3-18 testfibo3.py脚本文件

1    from fibo import PrintFib #只导入fibo模块中的PrintFib

2    PrintFib(5) #忽略fibo模块名直接调用PrintFib函数

程序执行结束后,将在屏幕上输出如下结果:

1 1 2 3 5

提示 如果要导入一个模块中的所有标识符,也可以使用“from模块名import *”的方式。例如,对于代码清单3-17中的第1行代码,可以直接改为“from fibo import *”。

注意 如果一个模块定义了列表__all__,则“from模块名import *”语句只能导入

__all__列表中存在的标识符。例如,对于代码清单3-15中定义的fibo模块,如果在第一行加入__all__列表的定义“__all__=['PrintFib']”,则通过“from fibo import *”只能导入fibo模块中的PrintFib,而不会导入GetFib。

无论是利用import导入模块,还是用from import导入模块中的标识符,在导入的同时都可以使用as为模块或标识符起别名,如代码清单3-19和代码清单3-20所示。

代码清单3-19 testfibo4.py脚本文件

1    import fibo as f #导入fibo模块,并为fibo起别名f

2    f.PrintFib(5) #调用fibo模块中的PrintFib函数,输出斐波那契数列前5项

代码清单3-20 testfibo5.py脚本文件

1    from fibo import PrintFib as pf #导入fibo模块中的PrintFib,并重命名为pf

2    pf(5) #调用fibo模块中的PrintFib函数,输出斐波那契数列前5项

代码清单3-19和代码清单3-20运行结束后,都会在屏幕上输出1 1 2 3 5。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值