模組是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 209
執行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]# touchinit.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
ifname== '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.shinit.pyinit.pyc word.py word.pyc
in [5]: word.wordcount('asdaaaaaaaaaaaaaa')
1、面向過程和物件導向程式設計
物件導向的主要思想是:
3、類定義:
類把需要的變數和函式組合成一起,這種包含稱為「封裝」
class a(object):
類的結構:
class 類名:
成員變數 – 屬性
成員函式 – 方法
例項:
class
people
(object):
#定義乙個類
coler='yellow'
deffun
(self):
#定義類的方法(函式)
self.coler='black'
#定義乙個變數(屬性)
print
'i am a %s' %(self.coler)
pe=people() #對類例項化,才能呼叫類
print pe.coler #列印出類的屬性
pe.fun() #列印出類的方法
結果:
yellow
i am a black
物件導向介紹
物件導向是一種思想,是基於面向過程而言的,就是說物件導向是將功能等通過物件來實現,將功能封裝進物件之中,讓物件去實現具體的細節 這種思想是將資料作為第一位,而方法或者說是演算法作為其次,這是對資料一種優化,操作起來更加的方便,簡化了過程。物件導向有三大特徵 封裝性 繼承性 多型性,其中封裝性指的是隱...
物件導向(介紹)
請用程式描述如下事情 stu a stu b stu c defstu intro stu 自我介紹 for key,value in stu.items print key s,value d key,value stu intro stu a stu intro stu b stu intro ...
物件導向介紹
什麼是物件導向,什麼是面向過程,它們的區別就是語法不一樣。什麼是函式 函式在程式中就是方法。面向過程 函式,程式是右n個函式組成 物件導向 程式由物件組成,物件是由函式和變數組成。物件導向有一句話 萬事萬物皆物件。什麼是物件導向,什麼是面向過程,它們的區別就是語法不一樣。什麼是函式 函式在程式中就是...