python学习:从新手到专家阅读笔记(5)

import模块或包

import用来导入一个module,或module中的一些名字:可以是变量,可以是函数,也可以是类

import从sys.path中定义的路径中查找module,sys.path是一个路径的列表

 

python的模块与erlang的模块有些类似,也是一个文件,访问其中成员是也是模块作为前缀访问成员,不同的是erlang使用“模块名:成员名”访问,而python使用更加友好的“模块名.成员名”访问。

 

__name__在主程序中是"__main__",在被导入的模块中,是模块名。这种方法对模块的测试非常有意义。

 

另外,模块可能也会很多,此时可以用“包”来对模块进行分组,包实际上是模块所在的目录,该目录必须有一个名为__init__.py的python文件

 

import也可以导入一个包,导入一个包时,这个包中的__init__.py模块会被执行,其中定义的名字会被导入

 

另外,每个模块中可以定义一个__all__属性,这个属性用来指定从这个模块import *时,允许导入的名字。

 

包实际上也是module,通过type(packageName)可以看到,返回的也是module类型

 

当import一个module或package时,这个module或package的名字将会加到当前scope(作用域)中。

 

当前作用域中的名字可以通过内嵌函数dir()得到。dir是一个非常有用的内嵌函数,没有参数是查看当前作用域中的名字,有参数时查看参数的属性。

 

好的语言必须首先有一个很好的学习环境,换言之,程序结构很清晰,模块很简洁,很容易获取程序的文档、代码。程序的原理很简单,很容易让人掌握,很轻松就可以入门,很简单就可以获取更多的程序的新知识。forth程序结构很简洁,内部实现机制很明了,就是其后缀时语法实在太不人道,否则这门语言应该非常好。lua语言与c的接口定义很简洁,就是一个堆栈(与forth类似),也很容易理解,不过与forth一样,这个堆栈操作对正常人来说太痛苦了,所以虽然简单,但不好用。

 

python中,package,module,class都是可作为命名空间的名字,function、variable都是一些名字,通过dir()内嵌函数可以查看名字,通过import可以在当前命名空间中添加名字,也可以为某个package命名空间中添加名字,名字的全名可以通过x.x.x.x获取。

 

通过dir()可以看到,默认情况下当前scope中只有"__builtins__", "__doc__", "__name__"等少量几个名字,通过dir(__builtins__)可以看到当前可用的默认的函数,包括dir和help。其中help也是非常有用的一个内嵌函数,可以以非常友好的类似man手册的方式看到某个元素的__doc__信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值