python基础原理

来源:互联网 发布:按键精灵文字输出源码 编辑:程序博客网 时间:2024/06/11 02:50
1、python是按照模块来组织的。
  一个py文件,就是一个模块。
  一个模块要调用另外一个模块的函数或类,需要先import这个模块。
  import的本质,就是解释执行每一行代码。类和函数就是此时在定义的。
  import一个模块时,python在sys.path目录下搜索这些模块。
  
2、内建函数和内建模块
>>> dir
<built-in function dir> 

>>> import sys
>>> sys
<module 'sys' (built-in)>

>>> import os
>>> os
<module 'os' from 'D:\Python27\lib\os.pyc'>
 
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'sys', 'os']
--列出当前scope的信息。可以看到变量和模块名。

>>> dir(__builtins__)
[ '__doc__', '__import__', '__name__', '__package__', 'abs', 'len', 'dir',...
--列出这个模块的信息。可以看到变量和函数名。

>>> dir(len) --打出很多内部变量,感觉对日常开发没有什么用。

3、命名空间
相当于作用域的概念

可以用locals()和globals()来查看


4、有package的情况下,模块之间如何调用,python如何启动?

F:\gaofeng\python>type p2\py2.py
import sys
import p1.py1
print(sys.path)
print(p1.py1.__name__)


F:\gaofeng\python>python p2\py2.py
Traceback (most recent call last):
  File "p2\py2.py", line 2, in <module>
    import p1.py1
ImportError: No module named p1.py1


F:\gaofeng\python>python -m p2.py2
['', 'D:\\Python27\\lib\\site-packages\\pip-9.0.1-py2
on27\\DLLs', 'D:\\Python27\\lib', 'D:\\Python27\\lib\
'D:\\Python27\\lib\\site-packages']
['', 'D:\\Python27\\lib\\site-packages\\pip-9.0.1-py2
on27\\DLLs', 'D:\\Python27\\lib', 'D:\\Python27\\lib\
'D:\\Python27\\lib\\site-packages']
p1.py1


注意,加了-m参数后,sys.path中会把当前路径(用空字符表示当前路径)增加进去。


0 0
原创粉丝点击