python开发_python中的module
在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的更多相关文章
- python开发_python中的函数定义
下面是我做的几个用列: #python中的函数定义,使用和传参 def_str = '''\ python中的函数以如下形式声明: def 函数名称([参数1,参数2,参数3......]): 执行语 ...
- python开发_python中字符串string操作
在python中,对于字符串string的操作,我们有必要了解一下,这样在我们的以后的开发中会给我们带来很多方便 下面是我学习的笔记: #python-string #python中的字符串用单引号' ...
- python开发_python中的list操作
对python中list的操作,大家可以参考: Python list 操作 以下是我个人的笔记: ============================================ Add b ...
- python开发_python中str.format()
格式化一个字符串的输出结果,我们在很多地方都可以看到,如:c/c++中都有见过 下面看看python中的字符串格式函数str.format(): 1 #使用str.format()函数 2 3 #使用 ...
- python开发_python中的Boolean运算和真假值
python中的真假值: Truth Value Testing Any object can be tested for truth value, for use in an if or while ...
- python开发_python中的range()函数
python中的range()函数的功能hen强大,所以我觉得很有必要和大家分享一下 就好像其API中所描述的: If you do need to iterate over a sequence o ...
- python开发_python中的变量:全局变量和局部变量
如果你在为python中的变量:全局变量和局部变量头疼,我想这篇blog会给你帮助 运行效果: 代码部分: #Python中的变量:全局变量和局部变量 #在很多语言中,在声明全局变量的时候,都喜欢把全 ...
- python开发_python中for循环操作
如果你对python中的for循环不是很清楚,请看看这篇文章:”for循环控制语句——菜鸟的Python笔记“ 下面是我做的一些学习记录供大家参考: #基本的for循环语句 test_list = [ ...
- python开发_python关键字
python3.3.2中的关键字如下: The following identifiers are used as reserved words, or keywords of the languag ...
随机推荐
- Android Studio3.0 新特性 ~ New Features in Android Studio Preview (译文)
原文地址:https://developer.android.google.cn/studio/preview/features/index.html 最新Android Studio版本是Andro ...
- Leetcode 814. Binary Tree Pruning
dfs 要点是这一句: return node.val==1 or node.left or node.right 完整代码: # Definition for a binary tree node. ...
- BDD测试框架Spock概要
前言 为了找到一个适合自己的.更具操作性的.以DDD为核心的开发方法,我最近一直在摸索如何揉合BDD与DDD.围绕这个目标,我找到了Impact Mapping → Cucumber → Spock ...
- Objective C - 4 - 下载图片并且加载到View
#import "LoadInternetImageViewController.h" @interface LoadInternetImageViewController () ...
- Android Studio 默认 debug.keystore , apk打包,keystore.jks文件生成,根据keystore密钥获取SHA1安全码
参考资料: https://blog.csdn.net/nimasike/article/details/51457229 https://www.cnblogs.com/zhangqie/p/643 ...
- crm--01
需求: 将课程名称与班级综合起来 class ClassListConfig(ModelSatrk): # 自定义显示方式 def display_class(self,obj=None,is_hea ...
- android 获取 图片或视频略缩图
/** * 根据指定的图像路径和大小来获取缩略图 此方法有两点好处: 1. * 使用较小的内存空间,第一次获取的bitmap实际上为null,只是为了读取宽度和高度, * 第二次读取的bitmap是根 ...
- erl_0014 《硝烟中的erlang》 读书笔记001 “绪论”
1.大家听说Erlang,往往是因为其对高并发的良好支持.其实,Erlang的核心特征是容错,从某种程度上讲,并发只是容错这个约束下的一个副产品.容错是Erlang语言的DNA,也是和其他所有编程语言 ...
- request接收表单提交数据及其中文参数乱码问题
一.request接收表单提交数据: getParameter(String)方法(常用) getParameterValues(String name)方法(常用) getParameterMap( ...
- Ubuntu12.04无法使用vim系统剪贴板解决方法
以前在 vim 下工作需要在 vim 和其它的编辑器之间复制东西,使用 Shift + Ctrl + v/c.感觉这样很不方便,今天在网上搜索了以下可以用 “+y/p,但是自己实验怎么也不行,在命令模 ...