在python中,我們可以把一些功能模塊化,就有一點類似於java中,把一些功能相關或者相同的代碼放到一起,這樣我們需要用的時候,就可以直接調用了
這樣做的好處:
1,只要寫好了一個功能模塊,就可以在以后調用,代碼的重用就可以體現出來了
2,功能寫好了以后,不會發生錯誤。如果一個相同的功能,我們在一個模塊中寫了一遍,在另外的模塊中又寫了一遍......這樣我們難免保證我們在寫的過程中不發生錯誤。
但是我們如果能夠寫一個功能模塊寫好了以后,就把他用在很多地方,其一,用起來方便,其二,可以保證其正確性
3,代碼共享
說了這么多,還是來點實際的比較好!!!
我們新建一個文件:fibo.py(當然這個名字可以隨個人意願)
1 #Modules 2 3 def fib(n): # write Fibonacci series up to n 4 a,b = 0,1 5 while b < n: 6 print(b,end=' ') 7 a,b = b, a + b 8 print() 9 10 def fib2(n): # return Fibonacci series up to n 11 result = [] 12 a,b = 0,1 13 while b < n: 14 result.append(b) 15 a,b = b, a + b 16 return result 17 18 def add(numberA,numberB): #定義加法 19 return numberA + numberB 20 21 def sub(numberA,numberB): #定義減法 22 return numberA - numberB 23 24 def mul(numberA,numberB): #定義乘法 25 return numberA*numberB 26 27 def div(numberA,numberB): #定義除法 28 if numberB != 0: 29 return numberA//numberB 30 else: 31 return 'Error'
上面就是我們自定義的一個簡單的功能模塊,里面定義了一些方法。
我們需要在:test_modules.py(和fibo.py文件在同一個目錄的另一個文件)文件中調用fibo.py中的方法:
1 import fibo 2 3 fibo.fib(1000) 4 result = fibo.fib2(1000) 5 print(result)
運行效果:
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> ================================ RESTART ================================ >>> 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987] >>>
現在我們又定義了一個文件:
test_modules1.py調用fibo.py中的部分方法
1 from fibo import fib,fib2 2 3 #這里是可以直接使用以上兩個方法的 4 fib(100) 5 6 result = fib2(1000) 7 print(result)
上面描述的是,我們應用了fibo.py文件中的fib,fib2兩個方法
運行效果:
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> ================================ RESTART ================================ >>> 1 1 2 3 5 8 13 21 34 55 89 [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987] >>>
如果我們要應用fibo.py中的所有方法,我們可以這樣做:
1 #應用fibo.py中所有的方法 2 #有一點類似於java中的引入包的形式 3 from fibo import * 4 5 #這里可以使用fibo中的所用方法 6 7 fib(1000) 8 9 print(fib2(100)) 10 numberA = 20 11 numberB = 5 12 13 print('加法計算:',numberA,'+',numberB,'=',add(numberA,numberB)) 14 print('減法計算:',numberA,'-',numberB,'=',sub(numberA,numberB)) 15 print('乘法計算:',numberA,'*',numberB,'=',mul(numberA,numberB)) 16 print('除法計算:',numberA,'/',numberB,'=',div(numberA,numberB))
運行效果:
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> ================================ RESTART ================================ >>> 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] 加法計算: 20 + 5 = 25 減法計算: 20 - 5 = 15 乘法計算: 20 * 5 = 100 除法計算: 20 / 5 = 4 >>>
