import1文件
#!/usr/bin/python3
# 文件名: using_sys.py
# 1、import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法。
# 2、sys.argv 是一个包含命令行参数的列表。
# 3、sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表。
import sys
print('命令行参数如下:')
for i in sys.argv:
print(i)
print('\n\nPython 路径为:', sys.path, '\n')
# 创建函数
def print_func( par ):
print ("Hello : ", par)
return
# 斐波那契(fibonacci)数列模块
def fib(n): # 定义到 n 的斐波那契数列
a, b = 0, 1
while b < n:
print(b, end=' ')
a, b = b, a + b
print()
def fib2(n): # 返回到 n 的斐波那契数列
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a + b
return result
import2文件
# 导入模块
# 一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。
import import1
# 现在可以调用模块里包含的函数了
import1.print_func("Runoob")
# 这样做并没有把直接定义在fibo中的函数名称写入到当前符号表里,只是把模块fibo的名字写到了那里。
# 可以使用模块名称来访问函数
import1.fib(1000)
import1.fib2(100)
import1.__name__
# Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中
from import1 import print_func,fib, fib2
import1.print_func("Runoob")
import1.fib(1000)
import1.fib2(100)
# 把一个模块的所有内容全都导入到当前的命名空间也是可行的
from import1 import *
import1.print_func("Runoob")
import1.fib(1000)
import1.fib2(100)
# 也可以简化写法
fib(1000)
# 一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行
# 说明: 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入。
# 说明:__name__ 与 __main__ 底下是双下划线, _ _ 是这样去掉中间的那个空格。
if __name__ == '__main__':
print('程序自身在运行')
else:
print('我来自另一模块')
# 内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回