栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

导入模块--python

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

导入模块--python

导入模块的方式
import random
result=random.randint(1,6)
print(result)
导入模块中相关数据的方式
from random import randint
result=randint(1,6)
print(result)
关于调用模块的函数

python中的模块(.py文件)在创建之初会自动加载一些内建变量,__name__就是其中之一。Python模块中通常会定义很多变量和函数,这些变量和函数相当于模块中的一个功能,模块被导入到别的文件中,可以调用这些变量和函数。那么这时 name 的作用就彰显了,它可以标识模块的名字,可以显示一个模块的某功能是被自己执行还是被别的文件调用执行,假设模块A、B,模块A自己定义了功能C,模块B调用模块A,现在功能C被执行了:

如果C被A自己执行,也就是说模块执行了自己定义的功能,那么 name==‘main’

如果C被B调用执行,也就是说当前模块调用执行了别的模块的功能,那么__name__==‘A’(被调用模块的名字)
其实换一种说法也就是表示当前程序运行在哪一个模块中

Mymath.py

def add(a,b):
    """
    输出俩个数的和 
    :return: a + b
    """
    return a+b
def sub(a,b):
    """
    输出俩个数的差
    :return:   a-b
    """
    return a-b
def mul(a,b):
    """
    输出俩个数的积
    :return: a * b
    """
    return a*b
def div(a,b):
    """
    输出俩个数的商
    :return:   a  / b
    """
    return a/b
if __name__=="__main__":
    a=10
    b=2
    print(f"和为{add(a,b)}")
    print(f"和为{sub(a,b)}")
    print(f"和为{mul(a,b)}")
    print(f"和为{div(a,b)}")
    print(__name__)

new3.py

import Mymath
c=2
d=4
print(Mymath.add(c,d))


from Mymath import add,div
c=2
d=4
print(add(c,d))
print(div(c,d))
from Mymath import *
c=2
d=4
print(add(c,d))
print(div(c,d))
print(mul(c,d))
print(sub(c,d))

from Mymath import * 默认导入模块中所有的方法
但是如果在模块中手动添加一个全局变量,*号就不是默认导入全部方法了,而是导入手动添加的全局变量包含的方法

__all__=[]

def add(a,b):
    """
    输出俩个数的和 
    :return: a + b
    """
    return a+b
def sub(a,b):
    """
    输出俩个数的差
    :return:   a-b
    """
    return a-b
def mul(a,b):
    """
    输出俩个数的积
    :return: a * b
    """
    return a*b
def div(a,b):
    """
    输出俩个数的商
    :return:   a  / b
    """
    return a/b
if __name__=="__main__":
    a=10
    b=2
    print(f"和为{add(a,b)}")
    print(f"和为{sub(a,b)}")
    print(f"和为{mul(a,b)}")
    print(f"和为{div(a,b)}")
    print(__name__)
from Mymath import *
c=2
d=4
print(add(c,d))
print(div(c,d))
print(mul(c,d))
print(sub(c,d))

结果为:
Traceback (most recent call last):
File “C:/Users/py/PycharmProjects/pythonProject/new3.py”, line 4, in
print(add(c,d))
NameError: name ‘add’ is not defined

Process finished with exit code 1

当把所有的方法填入手动填写的列表中,则可以正常调用

__all__=["add",'sub',"mul",'div']

def add(a,b):
    """
    输出俩个数的和 
    :return: a + b
    """
    return a+b
def sub(a,b):
    """
    输出俩个数的差
    :return:   a-b
    """
    return a-b
def mul(a,b):
    """
    输出俩个数的积
    :return: a * b
    """
    return a*b
def div(a,b):
    """
    输出俩个数的商
    :return:   a  / b
    """
    return a/b
if __name__=="__main__":
    a=10
    b=2
    print(f"和为{add(a,b)}")
    print(f"和为{sub(a,b)}")
    print(f"和为{mul(a,b)}")
    print(f"和为{div(a,b)}")
    print(__name__)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331439.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号