Python3简单教程(七)Python3模块

#Python3 模块

#把定义的方法和变量存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。
#模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。

import sys
print('命令行参数如下:')
print('\n\nPython 路径为:',sys.path,'\n')
#return
#Python 路径为: ['D:\\mygit\\Python3_lesson', 'D:\\mygit\\Python3_lesson', 'D:\\软件安装\\Python\\python36.zip', 'D:\\软件安装\\Python\\DLLs', 'D:\\软件安装\\Python\\lib', 'D:\\软件安装\\Python', 'D:\\软件安装\\Python\\lib\\site-packages']

#import语句

#想使用Python源文件,只需在另一个源文件里执行import语句,语法如下:
#import module1[,module[,...moduleN]]

#当解释器遇到import语句,如果模块在当前的搜索路径就会被导入。
#搜索路径是一个解释器会先进行搜索的所有目录列表。如果要导入模块support,需要把命令放在脚本的顶端:
#support.py文件代码为:

#!/usr/bin/Python3
# Filenamr:support.py

# def print_func(par):
#     print("Hello:",par)
#     return

import support
support.print_func("Jack")                  #return Hello: Jack


##一个模块只会被导入一次,不管你执行多少次import。这样可以防止导入模块被一遍又一遍地执行。
#当我们使用import语句的时候,Python解释器是怎样找到对应的文件的呢?
#这就涉及到Python的搜索路径,搜索路径是由一系列目录名组成的,Python解释器就依次从这些目录中去寻找所引入的模块。
#这看起来很像环境变量,事实上,也可以通过定义环境变量的方式来确定搜索路径。
#搜索路径是在Python编译或安装的时候确定的,安装新的库应该也会修改。搜索路径被存储在sys模块中的path变量,


#from...import语句
#Python的from语句让你从模块中导入一个指定的部分到当前命令空间中,语法如下:
#from modname import name1[,name2[,...nameN]]
#例如,要导入模块support的print_func函数,使用如下语句:
from support import print_func
print_func("Jcak")                          #return Hello: Jcak


#from...import * 语句
#把一个模块的所有内容全部都导入到当前的命名空间也是可行的,只需要使用如下声明:
#from modname import *
#这提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。


#深入模块
#模块除了方法定义,还可以包括可执行的代码。这些代码一般用来初始化这个模块。这些代码只有在第一次被导入时才会被执行。
#每个模块有各自独立的符号表,在模块内部为所有的函数当作全局符号表来使用。
#所以,模块的作者可以放心大胆的在模块内部使用这些全局变量,而不用担心把其他用户的全局变量搞花。
#从另一方面,当你确定知道你在做什么的话,你也可以通过modname.itemname这样的表示法来访问模块内的函数。
#模块是可以导入其他模块的。在一个模块(或者脚本,或者其他地方)的最前面使用import来导入一个模块,当然这只是一个
#惯例,而不是强制的,被导入的模块的名称将被放入当前操作的模块的符号表中。


#__name__属性
#一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的
#某一程序块不执行,我们可以用_name_属性来使该程序块仅在该模块自身运行时执行。
#Filename : using_name.py
#if __name__=='__main__':
#     print('程序自身在运行')
# else:
#     print('我来自另一个模块')

import using_name                           #return 我来自另一模块
#每个模块都有一个__name__属性,当其值时'__main__'时,表明该模块自身在运行,否则是被引入。

#dir()函数
#内置的函数dir()可以找到模块内定义的所有名称。以一个字符串列表的形式返回:

print(dir(using_name))
#return ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值