前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python|对Python中函数的学习

python|对Python中函数的学习

作者头像
算法与编程之美
发布2019-12-16 20:43:06
6360
发布2019-12-16 20:43:06
举报
文章被收录于专栏:算法与编程之美

问题描述

在python中,定义一个函数需要使用def语句,依次写出函数名,括号,括号中的参数和冒号:,接着在缩进后编写函数,函数的返回值用return语句返回。定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。

解决方案

以math.sqrt()函数为例

定义一个函数,quadratic(a,b,c),接收三个参数,返回一元二次方程ax²+bx+c=0的两个解。

代码语言:javascript
复制
import math

def quadratic(a,b,c):

   if a == 0:

     raise TypeError('a不能为0')

   if not isinstance(a,(int,float)) or not isinstance(b,(int,float)) or  not isinstance(c,(int,float)):

     raise TypeError( 'Bad operand type')

   delta = math.pow(b,2) - 4*a*c

   if delta < 0:

     return '无实根'

   x1= (math.sqrt(delta)-b)/(2*a)

   x2= (math.sqrt(delta)+b)/(2*a)

   return  x1,x2

print(quadratic(1,3,1))

print(quadratic(2,3,-4))

上面的函数会输出以下结果

结语

(1)定义函数的时候先对参数的数据类型检查一遍,确定函数名和参数的数量。

(2)函数执行完毕也没有return随时返回函数结果,函数运行完后没有return语句时,自动return None。

(3)在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值。

实习主编 | 王文星

责 编 | 王楠岚

where2go 团队

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档