python之模块和包

# 1. 导⼊模块

import 模块名

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

模块名.xx()

# 2. 调⽤功能

from 模块名 import 功能1, 功能2, 功能3... 只导入指定的功能

from math import sqrt

print(sqrt(9))

from 模块名 import * 所有功能

from math import *

print(sqrt(9))

功能名()

import 模块名 as 别名

from 模块名 import 功能 as 别名

# 模块别名
import time as tt
tt.sleep(2)

# 功能别名
from time import sleep as sl
sl(2)

模块里 代码测试

if __name__== '__main__':下执行测试代码 该代码不会被调用方调用

def add(a,b):
    print(a+b)
if __name__== '__main__':
    add(1,1)

当多个模块同时导入的时候出现功能名称冲突时候,会执行最后一个导入的模块

# 模块1代码
def my_test(a, b):
    print(a + b)
# 模块2代码
def my_test(a, b):
    print(a - b)
# 导⼊模块和调⽤功能代码
from my_module1 import my_test
from my_module2 import my_test
# my_test函数是模块2中的函数
my_test(1, 1)

__all__

此方法定义在模块中 ,调用方只能调用all列表中的功能,限制导出功能

__all__=['testA']
def testA():
    print('a')
def testB():
    print('b')
from module1 import *
testA()
testB()  #这个会报错

就是文件夹 包裹着一些.py模块文件和模块导出限制__init__.py文件

创建包和使用包的模块

创建包

[New] — [Python Package] — 输⼊包名

新建包后,包内部会⾃动创建__init__.py⽂件,这个⽂件控制着包的导⼊⾏为

写__all__=[模块名称]

module1.py

def info():
    print('1')

module2.py 

def info():
    print('2')

使用方法一:

模块方式导入 import 包名.模块名

import modules.module1,modules.module2
modules.module1.info()
modules.module2.info()

使用方法二

功能方式导入 from 包名 import  xx(*)

前提必须再__init__.py文件中定义导出限制__all__=[模块名称]

from modules.module1 import info as i
from modules.module2 import info as i2
i()
i2()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值