函数篇

自定义函数无参数、无返回值

def 函数名()
语句
无参数、有返回值def 函数名()语句return 需要返回的数值

注意

在一个函数中定义的变量,只能在本函数中使用(局部变量)在函数外定义的变量,可以在所有函数中使用(全局变量)函数返回值扩展在python中我们可以不可以返回多个值?

 def test(a,b):
  c = a/b
     d = a%b
   return c,d
   e,f = test(5,2)

缺省参数(函数参数的默认值)在调用函数时,缺省参数的值如果没有传入,则被认为是默认值。

 def printLine(a=5)
 print('*'*a)
printLine(6)#如果传入6则等于6 如果不传入任何值,则为5

注意 重要的事情说三遍缺省参数(即带有默认值的参数)一定要位于参数列表的最后面缺省参数一定要位于参数列表的最后面缺省参数一定要位于参数列表的最后面
示例1:

 def print(a,b,c=5):
pass
 示例2:
def test(name,age=10):
pass

不定长参数有时可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名。基本语法如下:

def functionname([formal_args,]*args,**kwargs):
'''函数_文档字符串'''
fu  nction_suite
return [expression]

加了星号()的变量args会存放所有未命名的变量参数,aegs为元组;而加 **的变量kwargs会存放命名参数,即形如key=value的参数,kwargs为字典。

这种方式叫拆包

 def fun(a,b,*args,**kwargs):
   '''可变参数演示示例'''
  print ('a=',a)
   print ('b=',b)
 print ('args=',args)
for k,v in kwargs.items():
print ('key=%s,value=%s'%(k,v))

 #调用的时候(调用方法示例1)
 fun(1,2,3,4,5,m=6,n=7,p=8)#注意传递的参数对应
 #调用方法示例2:
 test1 = (3,4,5)
test2 = {'m':6,'n':7,'p':8}
fun(1,2,*test1,**test2) #注意元组与字典的传递方式 这种方式叫拆包
#注意,如果不加星号,会全部变为元组,即字典为空 如下
fun(1,2,test1,test2)
#这个时候会返回的是
>>> a = 1
 >>> b = 2
>>  > args = ((3,4,5),{'m'=6,'n=7','p'=8})
>>> kwargs:
>>>

函数的嵌套调用

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,084评论 17 410
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 2,968评论 0 9
  • 建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模...
    猿日记阅读 209评论 0 0
  • 阳春三月,草长莺飞,春姑娘来了,她唤醒万物,前来举办一场大自然的盛大时装秀! 我们小区道路两侧的冬青...
    e817e84e10d3阅读 287评论 1 1
  • 家人们,下午好! 节日快乐呦! 今天继续和大家分享培养孩子终身阅读习惯的超实用攻略: 喜欢阅读的孩子,词汇量更丰富...
    赵诚彬阅读 296评论 0 0