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

模塊使用、面向對象介紹

表示 -o 運行 類的屬性 def a10 mod 成員函數 我們

模塊使用
模塊是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

#!/usr/bin/python
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‘) #計算行數

print chars,words,lines

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

模塊使用、面向對象介紹