Python學習筆記5—Python模塊

    python模塊分爲系統內置的模塊、第三方的模塊和用戶編寫的模塊

    默認情況下,python第三方的模塊安裝在python 的安裝目錄下site-packages下,以文件或者目錄的形式存放

    用戶模塊,程序模塊化對區分功能和結構,代碼清晰度有很好的幫助

    默認情況下,在python運行時只是加載了少數的系統內置的模塊,可以使用vars()查看

>>> print vars()
{'__builtins__': <module '__builtin__' (built-in)>, '__package__': None, '__name__': '__main__', '__doc__': None}
>>> vars()
{'__builtins__': <module '__builtin__' (built-in)>, '__package__': None, '__name__': '__main__', '__doc__': None}
>>> import time
>>> print vars()
{'__builtins__': <module '__builtin__' (built-in)>, '__package__': None, 'time': <module 'time' (built-in)>, '__name__': '__main__', '__doc__': None}

    python程序可以作爲模塊運行,也可以作爲模塊被倒入使用

    如果調用 main 就時代表直接運行程序當前本身

    被倒入文件命名要以.py結尾,並且需要在python python環境變量可以搜索到的位置


    PYTHONPATH環境變量設定python導入模塊的路徑

    在交互式的DILE或者命令行運行時,用戶的cwd默認加入pythonpath變量中

    零時性的修改可以修改sys.path

>>> import sys
>>> sys.path
['E:\\Note\\Python', 'D:\\Python27\\Lib\\idlelib', 'C:\\Windows\\system32\\python27.zip', 'D:\\Python27\\DLLs', 'D:\\Python27\\lib', 'D:\\Python27\\lib\\plat-win', 'D:\\Python27\\lib\\lib-tk', 'D:\\Python27', 'D:\\Python27\\lib\\site-packages']
>>> sys.path.append('/tmp')
>>> sys.path
['E:\\Note\\Python', 'D:\\Python27\\Lib\\idlelib', 'C:\\Windows\\system32\\python27.zip', 'D:\\Python27\\DLLs', 'D:\\Python27\\lib', 'D:\\Python27\\lib\\plat-win', 'D:\\Python27\\lib\\lib-tk', 'D:\\Python27', 'D:\\Python27\\lib\\site-packages', '/tmp']

    賦值語句,variables name=variables values

        在定義變量名是不得使用系統關鍵字和特殊符號,變量值可以是任意的數據對象

        變量名是未知的類型,變量名的類型取決於被賦予值的類型

    鏈式賦值

        a=b=c=100

        將數字100分別的賦予給a,b,c

    序列解包賦值

        name,age,address=('keyman',27,'BeiJing')

        序列解包賦值變量名和變量值必須相等


    import語句是也是一個賦值語句

        improt socket    將socket模塊倒入之後,賦值給scoekt

    import語句是將python模塊導入,模塊應該放置在pythonpath目錄下

    import module name 或者 import module name as alias name

    from module name import method 或者 from module name import method as alias name

import time    #導入time模塊
import time as t    #導入time模塊,並取別名t,以後使用time模塊的方法時,將以t代替time,比如t.time()
from math import sqrt    #將math模塊中的sqrt方法導入
from math import sqrt as q    #將math模塊中的sqrt方法導入,並取別名q

    python預留的關鍵字可以使用keyword模塊檢查

    keyword模塊下的kwlist方法可以打印系統中所有的被預留的關鍵字

    keyword模塊下的iskeyword可判斷對象是否是關鍵字

>>> import keyword
>>> print keyword.kwlist
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>> print keyword.iskeyword('for')
True
>>> print keyword.iskeyword('list')
False

    在python2.6、2.7中print是一個語句,在python3.0中python,print是一個函數

    print 連續打印多個對象,可以用','隔開

    如果要使用多個print語句,但結果需要顯示在一行,需要在print語句之後加上','

print 'a'
print 'b',
print 'c'
print 'd','e'
print('a')

    執行結果爲

a
b c
d e
a

    exec語句

        exec 主要用於執行字符串內包含有python的代碼

        exec("print 'hello world'")

    eval語句

        eval 主要用於執行字符串內包含有python的算術表達式

        exec("print (1+100-20)/2")

exec('print "hello world"')
print eval('5+4*3')

    執行結果爲

hello world
17
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章