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