Python中模塊使用及面向對象介紹
模塊:
模塊式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中模塊使用及面向對象介紹