模塊使用、面向對象介紹
模塊是Python組織代碼的基本方式。
一個Python腳本可以單獨運行,也可以導入到另一個腳本中運行,當腳本被導入運行時,我們將其稱為模塊(module)。
所有的.py文件都可以作為一個模塊導入
模塊名與腳本的文件名相同
例如我們編寫了一個名為hello.py的腳本,則可以在另一個腳本中用import hello語句來導入它。
實例:
[root@centos7-3 python]# cat add.py
#!/usr/bin/python
def addNum(x,y):
return x + y
print addNum(10,10)
[root@centos7-3 python]# cat fun.py
import add
print add.addNum(5,4)
執行:
[root@centos7-3 python]# python fun.py
20
9
執行fun.py後的結果將add.py裏的結果(20)打印出來了,現在只想要fun.py執行的結果,操作如下:
添加判斷:如果是主函數則執行,add.py就是主函數
結果:
包
Python的模塊可以按目錄組織為包 創建一個包的步驟: - 創建一個名字為包名的目錄 - 在該目錄下創建一個__init__.py文件 - 根據需要,在該目錄下存放腳本文件或已編譯的擴展及子包 - import pack.m1, pack.m2, pack.m3
實例:
1、創建init.py
[root@centos7-3 python]# pwd
/root/python
[root@centos7-3 python]# touch init.py
計算字符數、單詞數、行數
[root@centos7-3 fun]# cat word.py
#!/usr/bin/python
def wordCount(s):
chars=len(s) #計算字符數
words=len(s.split()) #計算單詞數
lines=s.count(‘\n‘) #計算行數
if name == ‘main‘:
s=open(‘/etc/passwd‘).read()
wordCount(s)
[root@centos7-3 fun]# python word.py
1188 47 24
傳入fun的包
In [3]: from fun import word
In [4]: ls fun/
fun.sh init.py init.pyc word.py word.pyc
In [5]: word.wordCount(‘asdaaaaaaaaaaaaaa‘)
面向對象介紹
1、面向過程和面向對象編程
- 面向過程編程:函數式編程,C程序等
- 面向對象編程:C++,Java,Python等,若是碰到大的項目,用類表示,對象就是類的實例,類裏有很多的方法(函數),如果需要調用,就必須將類實例化
2、類和對象:是面向對象中的兩個重要概念 - 類:是對事物的抽象,比如:人類、球類
- 對象:是類的一個實例,比如:足球、籃球
實例說明: - 球類可以對球的特征和行為進行抽象,然後可以實例化一個真實的球實體出來。
面向對象的主要思想是:
- 封裝
- 繼承
- 多態
這種思想方便解決較為復雜的項目,且維護起來較為容易。
3、類定義:
類把需要的變量和函數組合成一起,這種包含稱為“封裝”
class A(object):
類的結構:
class 類名:
成員變量 – 屬性
成員函數 – 方法
實例:
class People(object): #定義一個類
coler=‘yellow‘
def fun(self): #定義類的方法(函數)
self.coler=‘black‘ #定義一個變量(屬性)
print ‘I am a %s‘ %(self.coler)
pe=People() #對類實例化,才能調用類
print pe.coler #打印出類的屬性
pe.fun() #打印出類的方法
結果:
yellow
I am a black
模塊使用、面向對象介紹