Python-函数小结
2019-04-11 10:43:02来源:博客园 阅读 ()
原文出处,如有侵权,请联系删除。
- 用户自定义.py文件
如果你已经把my_abs()
的函数定义保存为abstest.py
文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs
来导入my_abs()
函数,注意 abstest
是文件名(不含.py
扩展名)
- 定义空函数 nop()
如果想定义一个什么事也不做的空函数,可以用pass
语句:
def nop():
pass
pass
语句什么都不做,那有什么用?实际上pass
可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass
,让代码能运行起来。
pass
还可以用在其他语句里,比如:
if age >= 18:
pass
缺少了pass
,代码运行就会有语法错误。
- 用户自定义检验参数类型
def my_abs(x): if not isinstance(x, (int, float)): raise TypeError('bad operand type') if x >= 0: return x else: return -x
- 函数返回多个数值
def fun1(x): a=x**2 b=x**3 return a,b a,b=fun1(4) print(a,b)
- 可变参数
def variableArg(*num): sum=0 for n in num: sum=sum+n**2 return sum print(variableArg(1,2,3,4))
定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*
号。在函数内部,参数numbers
接收到的是一个tuple,因此,函数代码完全不变
*nums
表示把nums
这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。
def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return s
这样,当我们调用power(5)
时,相当于调用power(5, 2)
设置默认参数时,有几点要注意: 一是必选参数在前,默认参数在后,否则Python的解释器会报错
当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
- 可变参数
- 实例之求解一元二次方程的根
import math #输入三个参数,返回一元二次方程的解 def quadratic(a,b,c): delt=math.pow(b,2)-4*a*c delt1=math.sqrt(delt) if delt<0: print('该一元二次方程没有实根') return None elif delt==0: print('该一元二次方程只有一个实根') x1=x2=(-b/2*a) return x1,x2 else: print('该一元二次方程有两个实根') x1=(-b+delt1)/(2*a) x2=(-b-delt1)/(2*a) return x1,x2 print('请输入一元二次方程的三个系数a,b,c:') a=float(input('请输入a:')) b=float(input('请输入b:')) c=float(input('请输入c:')) x1,x2=quadratic(a,b,c) print('该一元二次方程的解析式为:{0}x^2+{1}x+{2}=0'.format(a,b,c)) print('该一元二次方程的解x1={0:.3f},x2={1:.3f}'.format(x1,x2))
- 求一个list的最大值与最小值,以tuple形式返回
#迭代查找一个list(随机数生成一个list)的最大值与最小值,并返回一个tuple import random def getRandomList(): ranList=[] for i in range(10): ranList.append(random.choice(range(101))) print('生成的随机list为',ranList) return ranList def find_min_max(ranList): minNums=maxNums=ranList[0] for x in ranList: if x<minNums: minNums=x maxNums=max(ranList) return (minNums,maxNums) #dict={'max':maxNums,'min':minNums} print(find_min_max(getRandomList()))
原文链接:https://www.cnblogs.com/liberate20/p/10682747.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- fetchone函数和fetchall函数返回值的区别 2019-08-13
- Python之装饰器笔记 2019-08-13
- Python学习日记(九) 装饰器函数 2019-08-13
- python之函数、面向对象 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash