python开发_python中的module

在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
>>> 

 

posted @ 2013-07-25 20:11  Hongten  阅读(4460)  评论(0编辑  收藏  举报
Fork me on GitHub