1. 程式人生 > >Python中模塊使用及面向對象介紹

Python中模塊使用及面向對象介紹

fff linu 基本 rgb hello .py 技術分享 結構 def

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

In [2]: sys.path

Out[2]:

['',

'/usr/bin',

'/root/library',

'/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']


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

#!/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

#!/usr/bin/env python

import words

#

s="""hello world python"""

words.wordCount(s)

[root@localhost 20180109]# python test.py

27 52 1324

[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()


Python中模塊使用及面向對象介紹