Python3之函数浅谈

日期:2020年1月4日
作者:Commas
注释:学习就是为了忘记,对python3函数来一个小结。
如果您想了解更多有关Python的知识,那么请点《我的Python浅谈系列目录》



一、函数是什么?

(1)数学上的函数

  • f(x) = x + 1
  • f(x) = x2 + 2
  • f(x) = 3x3 + 2x2 + 3
  • f(x) = cos(x3) + 2sin2(x) + 4

是否回到了那些年的时光,回到教室座位前后,故意讨某个人温柔的骂,黑板上的函数,你舍得解开吗?
好啦,言归正传,上面就是所谓的函数啦,就是陪伴我们走过了多少个学生岁月的函数,现在也陪伴着我们,在工作中发光发热。
函数的使用也是非常简单——函数名(参数),比如使用f(1)就是调用函数,使 x = 1,求得函数的值。其中“x”就是所谓的形参,而“1”就是所谓的实参

(2)程序上的函数

不急着给Python函数定义,就像学文言文一样,先背着,后面自然通。话不多说,先来看看,数学上的函数翻译成Python的函数,到底是个啥样?同时也看看是如何调用我们定义的函数,以下为函数f(x) = x + 1 的示例:

  • 了解版:
# (1)函数的定义
def f(x):
	"""此处函数说明:值加一"""
	return x + 1
	
# (2)函数的调用
f(1) # 结果为:2 
f(2) # 结果为:3
f(3) # 结果为:4 
  • 推荐版:
# (1)函数的定义
def add_one(num):
	"""值加一"""
	return num + 1
	
# (2)函数的调用
add_one(1) # 结果为:2 
add_one(2) # 结果为:3
add_one(3) # 结果为:4 

为什么有推荐版呢?是因为程序中的函数和数学上的程序还是有不一样的,程序中如果函数名字处处都是f的话,那么将会乱套,所以必须要有一套比较推荐的命名规范来规范函数的命名,最好见名知意。如果想了解更多,可以去看我博客中另外一篇文章《Python3之命名规范浅谈》,我在这里就不再赘述了。

知识加油站:Python中使用关键字def定义,def为define的缩写。

二、函数的几种形式

(1)无参函数

  1. 无返回值
def function_name():
	"""此处可以写需要封装的逻辑"""
	pass
  1. 有返回值
def function_name():
	"""此处可以写需要封装的逻辑"""
	pass
	return return_value
  1. 返回值说明
返回值 说明 示例函数或代码段 调用示例1 调用示例2
return_value 普通返回值 return value return 1 return 2
return_value 元组返回值 return value1,value2 return 1,2 return 2,3,4

(2)有参函数

  1. 无返回值
def function_name(param,*args,**kwargs,default_param=default_value):
	"""此处可以写需要封装的逻辑"""
	pass
  1. 有返回值
def function_name(param,*args,**kwargs,default_param=default_value):
	"""此处可以写需要封装的逻辑"""
	pass
	return return_value
  1. 参数、返回值说明
参数 or 返回值 说明 示例函数或代码段 调用示例1 调用示例2
param 普通参数 sum_num(num1,num2) sum_num(1,2) sum_num(2,3)
*args 元组参数 sum_num(*args) sum_num(1,2,3,4) sum_num(*(1,2,3,4))
**kwargs 字典参数 sum_num(**kwargs) sum_num(k1=1,k2=3) sum_num(**{k1=1,k2=2})
default_param=default_value 关键字参数 sum_num(num1,mun2=1) sum_num(1),此时关键字参数num2=1(默认值) sum_num(1,2),此时关键字参数num2=2
return_value 普通返回值 return value return 1 return 2
return_value 元组返回值 return value1,value2 return 1,2 return 2,3,4

三、特殊函数(匿名函数)

匿名函数定义格式:函数名 = lambda 参数 :返回值

  1. 参数可以是多个,用英文逗号隔开
  2. 匿名函数只允许写一行,不能想正常函数写多行
  3. 返回值可以是任意的数据类型

现在将普通函数add_one(num)写成匿名函数,如下:

add_one = lambda num: num + 1

版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/103764717

发布了26 篇原创文章 · 获赞 18 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_35844043/article/details/103764717