• dir()内置函数可以查看一个模块里面的所有函数名称;
  • 导入模块的时候可以使用as关键字来给模块起一个别名(别名最好使用大驼峰命名法);
  • from import只导入部分工具,这种方式在调用具体的函数的时候不需要指定模块名.来调用;
  • 如果使用from import导入的模块有两个相同的工具(函数),则后导入的会覆盖前面导入的函数;如果确实想要都用到这两个相同名字的函数,可以使用起别名的方式解决;


from python.exception.测试模块1 import say_hello as Moudel_say_hello
from python.exception.测试模块2 import say_hello

say_hello()  # 调用的是模块2的say_hello()
Moudel_say_hello()  # 调用的是模块1的say_hello()

 

  • from import *的导入方式,这样和直接import 模块名看似是一样的,但是这种方式和from import一样,调用的时候不需要指定 模块名.,还是很方便的,但是开发中不推荐使用,因为有可能多个模块之间有相同的函数,这样也会导致覆盖的问题;
  • 给文件起名千万不要和系统的文件模块名字相同,因为搜索模块的顺序是先从当前目录下搜索模块,最后才是python解释器中的模块;

Python基础知识:模块、包

import random # 同一个目录下不要有 random.py这个文件 ,不然就会先导入同目录下的,而不会导入python库中的 print(random.__file__)

num = random.randint(0, 10)

print(num)

__name__属性以及导入模块和测试的问题

Python基础知识:模块、包

例如在python/exception包下面有两个文件测试模块3.py和py10___name__属性的使用.py两个文件:
py10___name__属性的使用.py代码如下:

def say_hello():
    print("你好!")


def main():
    say_hello()  # 测试


if __name__ == "__main__":  # 如果不加上这个,导入这个模块的时候就会从上到下依次执行代码
    print(__name__)
    print("小明开发的模块!")
    main()

测试模块3.py文件:

import python.exception.测试模块3

print("*" * 5)

运行结果不会输出py10___name__属性的使用.py中的测试代码。

包的概念: ①包是含有多个模块的特殊目录;②包下有一个__init__.py文件;
在开发中,希望导入一个包,这个包中有多个模块,这时要使用包中的某个模块,需要在__init__.py中使用from . import 模块名的方式"注册"这个模块,别人才能使用这个模块;
 

Python基础知识:模块、包

例如:
python/py_message包下面有三个文件: __init__.py、send_message.py、receive_message.py三个文件,外界想使用后面两个文件: 则三个文件的代码如下 :
①__init__.py文件:

from . import send_message
from . import receive_message


②send_message.py文件:

def send(text):
    print("正在发送 %s" % text)


③receive_message.py文件:

def receive():
    return "这是来自 100XX的短信!";


测试文件(和上面三个文件不在同一个包下):

import python.py_message  # 导入的不是一个模块,而是一个包

python.py_message.send_message.send("hello")
txt = python.py_message.receive_message.receive()
print(txt)


制作发布压缩包三个步骤: ①创建setup.py文件,关于这个文件格式看官方文档;②构建模块,在终端执行python3 setup.py build;③生成发布压缩包,在终端执行python3 setup.py sdist;

安装模块: 可以将包中的模块安装到python系统中,只需要两步: ①解压 tar -zxvf 压缩包名.tar.gz;②安装sudo python3 setup.py install;

卸载模块: 直接在安装的目录删除即可(python安装的目录的模块下);

安装第三方的包: sudo pip3 installl ...;
 

相关文章: