Python第八天 模塊 包 全局變量和內置變量__name__ Python path
目錄
Python第二天 變量 運算符與表達式 input()與raw_input()區別 字符編碼
Python第三天 序列 數據類型 數值 字符串 列表 元組 字典
Python第四天 流程控制 ifelse條件判斷 forwhile循環
Python第五天 文件訪問 for循環訪問文件 while循環訪問文件 字符串的startswith函數和split函數
Python第七天 函數 函數參數 函數變量 函數返回值 多類型傳值 冗余參數 函數遞歸調用 匿名函數 內置函數 列表表達式/列表重寫
Python第八天 模塊 包 全局變量和內置變量__name__ Python path
Python第九天 面向對象 類定義 類的屬性 類的方法 內部類 垃圾回收機制 類的繼承
Python第十天 print >> f,和fd.write()的區別 stdout的buffer 標準輸入 標準輸出 標準錯誤 重定向
Python第十二天 收集主機信息 正則表達式 正則表達式 無名分組 有名分組
Python第十四天 序列化 pickle模塊 cPickle模塊 JSON模塊 API的兩種格式
模塊
模塊是Python組織代碼的基本方式。
一個Python腳本可以單獨運行,也可以導入到另一個腳本中運行,當腳本被導入運行時,我們將其稱為模塊(module)。
所有的.py文件都可以作為一個模塊導入
模塊名與腳本的文件名相同
模塊是一個可以導入的Python腳本文件
例如我們編寫了一個名為hello.py的腳本,則可以在另一個腳本中用import hello語句來導入它。
模塊名不能以數字命名,比如1.py,用數字命名在py腳本里導入模塊的時候會報錯
------------------------------------------------------------
包
Python的模塊可以按目錄組織為包
創建一個包的步驟:
- 創建一個名字為包名的目錄
- 在該目錄下創建一個__init__.py文件,此文件可以存放包的信息
- 根據需要,在該目錄下存放腳本文件或已編譯的擴展及子包
- 使用的時候,在腳本頭部 只導入模塊: 包名.模塊名,也可以整個包導入
import pack.m1, pack.m2, pack.m3
import pack
day04:包名
wc:模塊名
wordCount:函數名
from day04 import wc
或
import day04.wc
或
from day04.wc import wordCount
或
from day04.wc import wordCount as wc123 給函數/模塊起一個別名,別名為wc123
導入模塊和包的語法:
- import , import as
- from … import …
------------------------------------------------------------
全局變量__name__
腳本名:test1.py
if __name__ == '__main__':
print 'a'
if __name__ == 'test1':
print 'b'
vi test2.py
import test1
會輸出 b,不會輸出a
__name__是python的內置變量,它有兩個值:'__main__'或者模塊名。
它的值為’__main__'時表示當前模塊(即python腳本)是被直接執行,如果模塊被其他文件導入時,__name__的值為模塊名字。
------------------------------------------------------------
python環境變量
Python path
得到python的path環境變量,類似shell的$PATH
import sys
sys.path
sys.path
['',
'/usr/bin',
'/usr/lib64/python26.zip',
'/usr/lib64/python2.6',
'/usr/lib64/python2.6/plat-linux2',
'/usr/lib64/python2.6/lib-tk',
'/usr/lib64/python2.6/lib-old',
'/usr/lib64/python2.6/lib-dynload',
'/usr/lib64/python2.6/site-packages',
'/usr/lib/python2.6/site-packages',
'/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info',
'/usr/lib/python2.6/site-packages/IPython/extensions',
'/home/yonghualin/.ipython']
第一種方法
添加路徑到Python PATH環境變量
sys.path.append('/root/ss')
第二種方法
PYTHONPATH變量是shell下定義,會自動添加到sys.path列表里
在/etc/profile里
export PYTHONPATH=/root/test
export PATH=$PATH:/usr/local/mysql/bin/
示例程序
#!/usr/bin/python def wordCount(s): chars=len(s) words=len(s.split()) lines=s.count('\n') print lines,words,chars if __name__ == '__main__': --->內置變量__name__ ,得出的值為 '__main__' s= open('/etc/passwd').read() wordCount(s) ------------------------------------- #!/usr/bin/python import wc s="""hello world python""" wc.wordCount(s)
文章列表
| 不含病毒。www.avast.com |
