----学习笔记----模块高级功能

#隐藏数据

               ----_x,把下划线放变量名前面,可以防止客户端使用from module import *语句导入模块名时,把其中的那些变量名复制出去。

               ----__all__,在模块顶层把变量名的字符串列表赋值给变量__all__,from module import *只能把__all__里的变量名复制出去。

#启用以后的语言特性

               ----from __future__ import featurename  可以激活将来版本出现的新功能

#混合用法模式

                ----每个文件都有一个__name__的内置属性,由python自动设置

                      当文件被导入时,__name__被设置为"__name__"

                       当文件以顶层程序执行时,__name__被设置为"__main__"

                ----主要使用__name__="__name__"或__name__="__main__"来判断文件是被执行还是被导入

 #修改模块搜索路径

                 ----路径文件sys.path是个列表,可以通过列表的方法对此进行修改

                 ----sys.path修改只在程序中存在,程序结束后不会保留,原来的路径不变

#import语句和frome语句的as扩展

                  ----import modulename as name     把变量名modulename的命名空间改为name,modulename不保留

                  ----from modulename import attrname as name    把属性名attrname改为变量名name,attrname不保留

#元程序

                   待补充

#用名称字符串导入模块

                   ----import 或from语句中的模块名是直接编写的变量名称,不能直接导入字符串

                    ----使用exec函数,exec('import' + modname)

                    ----使用__import__方法运行模块对象,modname="string" ;string=__import__(modname

#模块陷阱

                    ----导入时,模块文件顶层的程序代码一旦运行,就会立即执行,因此,不能引用后面赋值变量

                    ----模块内的函数,直到函数被调用才会运行,通常情况下,可以引用文件任意地方的变量

                    ----from复制变量名,而不是连接

                    ----from *会让变量语义模糊,不知道变量从哪里来

                    ----reload不会影响from 导入

                    ----递归形式的from导入无法工作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值