Python函数

函数定义:

括号中间写需要传入的参数和自变量,函数的第一行语句可以选择性地使用文档字符串(函数说明)
函数内容以冒号起始,并且缩进。
以 return [表达式] 结束函数,选择性地返回一个值给调用方。
不带表达式的 return 相当于返回 None。
def function_name(parameters):
   "函数_文档字符串"
   function_suite
   [return [expression]]

函数参数:

1,参数传递:
Python 都是按引用(指针)传递参数的(形式参数获得了和实际参数相同的指针)
所以函数中对形式参数的修改会改变传入的实际参数,但如果重新给形式参数赋值(即新的引用)是不会改变实际参数的,因为实际参数的指针没有变。
2,参数类型:
必备参数
必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样
定义:def printme(str1,str2):
   print str1,str2
调用:printme('123','456')
关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
定义:def printme(str1,str2):
   print str
调用:printme(str2='123',str1='333')
缺省参数
调用函数时,缺省参数的值如果没有传入,则被认为是默认值。
定义:def printme(str='123'):
   print str
调用:printme()
不定长参数
两种类型,一种存入列表 list,另一种存入字典 dict
定义:def printme(*strlist,**strdict):# 同时有字典和列表时需要要把列表放前面
   print strlist,strdict
调用:printme('8',9,a=1,b=2,c=3)

变量作用域:

局部变量,默认类型
全局变量: 在函数中通过 global 声明, 可以操作函数外变量。
定义:def printme(str2):
        global str1
        str1='2'
        print str1,str2
调用:str1=''
     printme('123')

返回值:

return 语句 [表达式] 退出函数,选择性地向调用方返回一个表达式。不带参数值的 return 语句返回 None。
可以返回多个值 return a,b,c

匿名函数:

使用 lambda 来创建匿名函数。
lambda 的主体是一个表达式,而不是一个代码块,函数体比 def 简单很多。仅仅能在 lambda 表达式中封装有限的逻辑进去。
lambda 函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。虽然 lambda 函数看起来只能写一行,却不等同于 C 或 C++ 的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
lambda 函数的语法:lambda [arg1 [,arg2,.....argn]]:expression
定义:sum = lambda arg1, arg2: arg1 + arg2
调用:print "相加后的值为 :", sum(10, 20)

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值