天天看點

Python中子產品使用及面向對象介紹

1.子產品使用 

子產品:

子產品式pyth1.on組織代碼的基本方式

一個python腳本可以單獨運作,也可以導入另一個腳本中運作,當腳本被導入運作時,我們将其稱為子產品(module)

所有的點p為檔案都可以作為一個子產品導入

子產品名與腳本的檔案名相同,例如我們編寫了一個名為hello.pv的腳本則可以在另一個腳本中用import hello.py來導入它

包:

    python的子產品可以按目錄組織為包

    建立一個包的步驟:

        建立一個名字為包名字的目錄,在該目錄下建立一個__init__.py檔案,根據需要在該目錄下存放腳本檔案或已編譯的擴充及子包

    文法:

    import pack.m1,pack.m2,pack.m3

sys.path

    舉例:

    In [1]: import sys

    In [2]: sys.path

    Out[2]:

    ['',

    '/usr/bin',

    '/usr/lib64/python27.zip',

    '/usr/lib64/python2.7',

    '/usr/lib64/python2.7/plat-linux2',

    '/usr/lib64/python2.7/lib-tk',

    '/usr/lib64/python2.7/lib-old',

    '/usr/lib64/python2.7/lib-dynload',

    '/usr/lib64/python2.7/site-packages',

    '/usr/lib64/python2.7/site-packages/gtk-2.0',

    '/usr/lib/python2.7/site-packages',

    '/usr/lib/python2.7/site-packages/IPython/extensions',

    '/root/.ipython']

    vim /root/.bashrc

    最後加個export PYTHONPATH=/root/library

    成功加入到Python環境變量中

    In [1]: import sys

     '/root/library',

    可被其他腳本調用的腳本:

    #!/usr/bin/env python

    #

    def wordCount(s):

        chars = len(s)

        words = len(s.split())

        lines = s.count('\n')

        print lines,words,chars

    if __name__=='__main__':  #設定後,本腳本内的函數可被其他腳本調用test.py

        s = open('/etc/passwd').read()

        wordCount(s)

    [root@localhost 20180109]# python words.py

    27 52 1324

    [root@localhost 20180109]# wc /etc/passwd

    27   52 1324 /etc/passwd

    test.py中導入words.py:

    [root@localhost 20180109]# cat test.py

    import words

    s="""hello world python"""

    words.wordCount(s)

    [root@localhost 20180109]# python test.py

    [root@localhost 20180109]# ls

    test.py  words.py  words.pyc   ###調用words後自動生成編譯的檔案。

子產品和包:

    子產品是一個可以導入的腳本檔案

    包是一些按目錄組織的子產品和子包,目錄下有__init__.py檔案,此檔案可以存放包的資訊。

    導入子產品和包的文法:

    import,import as

    from ... import ...

起個别名:

2.面向對象介紹

    類和對象:是面向對象中兩個重要概念

        類:是對象對事物的抽象,比如人類\球類

        對象:是類的一個執行個體,比如足球\籃球

    執行個體說明:

        球類可以對球的特征和行為進行抽象,然後可以執行個體化一個真實的球體出來

為什麼面向對象?

    面向對象的主要思想是

封裝

繼承

多态

    這種思想方面解決較為複雜的項目,而且維護起來較為容易

Python類定義

    類定義:

        類把需要的變量和函數組合成一起,這種包含稱為"封裝",

        class A(object):

    類的結構:

        class 類名

            成員變量-屬性

            成員函數-方法

類的建立

    class MyClass(object):

        def fun(self):

            print ("i am function")

    類的方法中至少有一個參數self

類腳本舉例:

    class People(object):

        color = 'yellow'

        def think(self):

            self.color = "black"

            print "I am a %s "  % self.color

            print ("I am a thinker")

    ren = People()

    print ren.color

    ren.think()

本文轉自 楓葉雲  51CTO部落格,原文連結:http://blog.51cto.com/fengyunshan911/2059254

繼續閱讀