python import os_一文提升你的编程能力,Python能力提升系列——模块化编程

首先说一下:对于一个真实的Python程序,我们不可能自己完成所有的工作,通常都是需要借助第三方类库哦。而且,咱们也不可能在一个源文件中编写整个程序的源代码,对吧,因此这些都需要以模块化的方式来组织项目的源代码。

ffeb5bff78f4a247b965587d83e444c1.png

好了,下面说一下Python相关的模块化编程吧!


首先,需要了解一下导入模块的简单语法。

下面的要牢记哦,在Python中是利用import来导入模块的,那就说一下import的用法吧,主要有两种用法哦,分别如下:

1. import 模块名1[ as 别名1], 模块名2[ as 别名2], …

注意上面“[ ]”中的是可选项哦,上面语句的意思就是导入整个模块。

2. from 模块名 import 成员名1[ as 别名1], 成员名2[ as 别名2], …

这个语句的意思就是导入模块中指定的成员

上面两种import语句的区别主要如下:

1. 第一种import语句导入整个模块内的所有成员,这些成员包括变量、函数、类等;而第二种import语句则只导入模块内的指定成员哦,当然除非你使用from 模块名 import *,但这种方式通常是不推荐使用的哦。

2. 使用第一种import语句导入模块中的成员时,必须添加模块名或模块别名前缀哦;当使用第二种import语句导入模块中的成员时,就不必使用任何的前缀啦,直接使用成员名或者成员别名就可以啦。

3eb9d31a636fb628276670f947d2da09.png

举个“栗子”:

#导入整个sys模块

import sys

#导入sys整个模块,并指定其别名s

import sys as s

#导入sys、os两个模块

import sys, os

#导入sys、os两个模块,并为sys指定别名s,为os指定别名o

import sys as s, os as o

#导入sys模块内的argv成员

from sys import argv

#导入sys模块内的argv成员,并为其指定别名v

from sys import argv as v

#导入sys模块内的argv、winver成员

from sys import argv, winver

#导入sys模块内的argv,winver成员,并分别指定别名为v、w

from sys import argv as v, winver as w

#导入sys模块中的所有成员

from sys import *

a705a3e6e37f95c6633d0a9f092e7a8c.png

下面说一下,为什么不推荐大家使用from 模块名 import *这种导入所有成员的形式

原因如下,还是举个“栗子”吧!

因为这种方式是有潜在风险的,比如说用这种形式同时导入module1和module2内的所有成员,如果这两个模块内都有一个ex()函数,那问题就来了,挡执行如下代码:

ex()

这个同时存在于两个模块中的函数到底是module1模块中的呢?还是module2模块中的呢?所以说嘛,这种导入方式是有潜在风险的哦!

当然也是有办法规避的哦,你可以采用下面的方式哦:

import module1 as m1

import module2 as m2

这样分别给两个模块起个别名就能区分开了,这时再调用ex()函数时,就可以按下面方式写啦:

m1.ex()

m2.ex()

这样就很清晰了哦!

还有木有其他方法呢?当然有啦,你也可以采用下面的方式哦,就是给模块中的重名方法起个“外号”(别名)呗:

from module1 import ex as ex1

from module2 import ex as ex2

这样就可以直接调用ex()方法啦!

ex1()

ex2()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值