在python中,我们可以把一些功能模块化,就有一点类似于java中,把一些功能相关或者相同的代码放到一起,这样我们需要用的时候,就可以直接调用了

这样做的好处:

  1,只要写好了一个功能模块,就可以在以后调用,代码的重用就可以体现出来了

  2,功能写好了以后,不会发生错误。如果一个相同的功能,我们在一个模块中写了一遍,在另外的模块中又写了一遍......这样我们难免保证我们在写的过程中不发生错误。

    但是我们如果能够写一个功能模块写好了以后,就把他用在很多地方,其一,用起来方便,其二,可以保证其正确性

  3,代码共享

说了这么多,还是来点实际的比较好!!!

我们新建一个文件:fibo.py(当然这个名字可以随个人意愿)

 #Modules

 def fib(n):       # write Fibonacci series up to n
a,b = 0,1
while b < n:
print(b,end=' ')
a,b = b, a + b
print() def fib2(n): # return Fibonacci series up to n
result = []
a,b = 0,1
while b < n:
result.append(b)
a,b = b, a + b
return result def add(numberA,numberB): #定义加法
return numberA + numberB def sub(numberA,numberB): #定义减法
return numberA - numberB def mul(numberA,numberB): #定义乘法
return numberA*numberB def div(numberA,numberB): #定义除法
if numberB != 0:
return numberA//numberB
else:
return 'Error'

上面就是我们自定义的一个简单的功能模块,里面定义了一些方法。

我们需要在:test_modules.py(和fibo.py文件在同一个目录的另一个文件)文件中调用fibo.py中的方法:

 import fibo

 fibo.fib(1000)
result = fibo.fib2(1000)
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中的部分方法

 from fibo import fib,fib2

 #这里是可以直接使用以上两个方法的
fib(100) result = fib2(1000)
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中的所有方法,我们可以这样做:

 #应用fibo.py中所有的方法
#有一点类似于java中的引入包的形式
from fibo import * #这里可以使用fibo中的所用方法 fib(1000) print(fib2(100))
numberA = 20
numberB = 5 print('加法计算:',numberA,'+',numberB,'=',add(numberA,numberB))
print('减法计算:',numberA,'-',numberB,'=',sub(numberA,numberB))
print('乘法计算:',numberA,'*',numberB,'=',mul(numberA,numberB))
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
>>>

python开发_python中的module的更多相关文章

  1. python开发_python中的函数定义

    下面是我做的几个用列: #python中的函数定义,使用和传参 def_str = '''\ python中的函数以如下形式声明: def 函数名称([参数1,参数2,参数3......]): 执行语 ...

  2. python开发_python中字符串string操作

    在python中,对于字符串string的操作,我们有必要了解一下,这样在我们的以后的开发中会给我们带来很多方便 下面是我学习的笔记: #python-string #python中的字符串用单引号' ...

  3. python开发_python中的list操作

    对python中list的操作,大家可以参考: Python list 操作 以下是我个人的笔记: ============================================ Add b ...

  4. python开发_python中str.format()

    格式化一个字符串的输出结果,我们在很多地方都可以看到,如:c/c++中都有见过 下面看看python中的字符串格式函数str.format(): 1 #使用str.format()函数 2 3 #使用 ...

  5. python开发_python中的Boolean运算和真假值

    python中的真假值: Truth Value Testing Any object can be tested for truth value, for use in an if or while ...

  6. python开发_python中的range()函数

    python中的range()函数的功能hen强大,所以我觉得很有必要和大家分享一下 就好像其API中所描述的: If you do need to iterate over a sequence o ...

  7. python开发_python中的变量:全局变量和局部变量

    如果你在为python中的变量:全局变量和局部变量头疼,我想这篇blog会给你帮助 运行效果: 代码部分: #Python中的变量:全局变量和局部变量 #在很多语言中,在声明全局变量的时候,都喜欢把全 ...

  8. python开发_python中for循环操作

    如果你对python中的for循环不是很清楚,请看看这篇文章:”for循环控制语句——菜鸟的Python笔记“ 下面是我做的一些学习记录供大家参考: #基本的for循环语句 test_list = [ ...

  9. python开发_python关键字

    python3.3.2中的关键字如下: The following identifiers are used as reserved words, or keywords of the languag ...

随机推荐

  1. 用vue实现百度搜索功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. SQL基础四(例子)

    ------------------------------------------------ --分别创建student/course/score表 Create table student ( ...

  3. docker学习(一)在centos7上安装与启动docker

    CentOS Docker 安装 1.Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS ...

  4. FastJson的一些使用

    前言 最近经常使用json的一些转换,使用的是fastjson,所以就对fastjson进行了一些汇总,记录下来. 正文 主要的api 首先是一些类库的说明: SerializeWriter:相当于S ...

  5. MD5加盐加密

    package com.chauvet.utils; import java.security.NoSuchAlgorithmException; import java.util.Random; / ...

  6. MkDocs 搭建试用

    http://www.mkdocs.org/备注:    在平时的开发中文档管理是一个比较重要的部分,同时集成在 平时开发的持续集成中,可以加速开发   1. 安装 pip install mkdoc ...

  7. Oracle冷备份和热备份的实践(原创)

    参考本博转发的备份博文和上传的文件,进行了冷热备份实践并进行了记载以备以后查阅,本次实践的环境是win10,安装了oracle11g 一.冷备份 1.cmd->sqlplus /nolog 2. ...

  8. Java API 操作 Mongodb

    本次测试环境使用一台ip为 192.168.2.23 的虚拟机 一.依赖 <dependency> <groupId>org.mongodb</groupId> & ...

  9. Eclipse与IDEA快捷键对比

    from:http://blog.csdn.net/dc_726/article/details/9531281 花了一天时间熟悉IDEA的各种操作,将各种快捷键都试了一下,感觉很是不错!于是就整理了 ...

  10. Android 从上层到底层-----jni层

    CPU:RK3288 系统:Android 5.1 功能:上层 app 控制 led 亮灭 开发板:Firefly RK3288 led_jni.h path:hardware/rockchip/fi ...