• 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
    >>> 
  • 相关阅读:
    POJ 3687 Labeling Balls <<拓扑排序
    FATFS 初学之 f_mount
    STM8 低功耗时钟管理
    还记得 C中带参宏的 "#"号吗?
    8.9并发编程(一)
    8.8网络编程(三)
    8.7网络编程(二)
    8.6网络编程(一)
    7.30反射、元类及项目生命周期
    7.29多态
  • 原文地址:https://www.cnblogs.com/hongten/p/hongten_python_module.html
Copyright © 2020-2023  润新知