Python学习17——py文件的两种用途、模块的搜索

本文介绍了Python中py文件的两种主要用途:作为脚本直接运行,以及作为模块导入使用。当文件作为脚本运行时,`__name__`变量等于`'main'`;作为模块导入时,`__name__`为模块名。此外,文章还讲解了模块的搜索路径,首先检查已导入模块,然后查找内置模块,接着是当前执行文件的文件夹,最后遍历sys.path列表中的所有文件夹来检索模块。
摘要由CSDN通过智能技术生成

Python学习17——py文件的两种用途、模块的搜索

py文件的两种用途

python文件的两种用途:

一:脚本,一个文件就是整个程序,用来被执行
二:模块,文件中存放着一堆功能,用来被导入使用

python为我们内置了全局变量__name__,

当文件被当做脚本执行时:name 等于’main
当文件被当做模块导入时:__name__等于模块名

作用:用来控制.py文件在不同的应用场景下执行不同的逻辑

    if __name__ == '__main__':

示例

#fib.py

def fib(n):    # write Fibonacci series up to n
    a, b = 0, 1
    while b < n:
        print(b, end=' ')
        a, b = b, a+b
    print()

def fib2(n):   # return Fibonacci series up to n
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a+b
    return result

if __name__ == "__main__":
    import sys
    fib(int(sys.argv[1]))


#执行:python fib.py <arguments>
python fib.py 50 #在命令行

模块

(1) 先从内存中已经导入的模块里找

import mmm
mmm.f1()

import time
time.sleep(15)

print('='*50)
import mmm
mmm.f1()

(2) 然后再查找内置的模块

import sys
print(sys.modules)


import sys
print(sys.path)

当前执行文件所在的文件夹

import logging
print(logging)

(3) 最后去sys.path列表中存放的多个文件夹里依次检索
示例1:

import sys
print(sys.path)
sys.path.append(r'D:\python全栈15期\aaa\bbb')

import ccc

ccc.f1()

示例2:

import sys
print(sys.path)
import aaa.bbb.ccc as c
c.f1()

from aaa.bbb import ccc
ccc.f1()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值