python模块和包_python 模块和包

一、模 块

什么是模块:

已经写好的一组功能的集合

别人写好的函数 变量 方法 放在一个文件里 (这个文件可以被我们直接使用)这个文件就是个模块

py dll文件 zip文件

如何自己写一个模块:创建一个py文件,给他起一个符合变量命名规则的名字,这个名字就是模块名

在导入模块的过程中发生了什么?   导入一个模块就是执行一个模块

import 导入模块

#怎么使用my_module模块中的名字

print(my_module.name)

print(my_module.read1)

my_module.read1()

# import的命名空间,模块和当前文件在不同的命名空间中

name = 'asdf'

def read1():

print('main read1')

print(name)

print(my_module.name)

# 模块是否可以被重复导入

# import my_module

# import my_module

# 怎么判断这个模块已经被导入过了???

# import sys

# print(sys.modules)

模块导入的过程中发生了什么?

找到这个模块

判断这个模块是否被导入过了

如果没有被导入过

创建一个属于这个模块的命名空间

让模块的名字 指向 这个空间

执行这个模块中的代码

name = 'egon'

def read1():

print('main read1')

print(name)

print(my_module.name)

my_module.read2()

给模块起别名,起了别名之后,使用这个模块就都使用别名引用变量了

导入多个模块

import os,time

import os as o,time as t

规范建议 模块应该一个一个的导入 :

内置模块 ===> 扩展(第三方)模块 ===> 自定义模块

from import 导入模块

如何使用 from import

需要从一个文件中使用哪个名字,就把这个名字导入进来

from my_module import name

from import的过程中仍然执行了这个被导入的文件

from my_module import read1

import谁就只能用谁

read1()

from my_module import read2

read2()

当前文件命名空间和模块的命名空间的问题

from my_module import read1

def read1():

print('in my read1')

read1()

from my_module import read2

read2()

from import导入的过程中发生了什么事儿?

1.找到要被导入的模块

2.判断这个模块是否被导入过

3.如果这个模块没被导入过

创建一个属于这个模块的命名空间

执行这个文件

找到你要导入的变量

给你要导入的变量创建一个引用,指向要导入的变量

二、包

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值