python计时函数ms_python基础之函数

函数的定义

函数是组织好的,可重复使用的,用来实现单一,或相关联功能得代码段。

定义一个函数:

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

2,任何传入参数和自变量必须放在圆括号中间,圆括号之间用于定义参数

3,函数的第一行语句可以选择性的使用文档字符串-用于存放函数说明

4,函数内容以冒号起始,并且缩进

5,return结束函数,选择性地返回一个值给调用方,不带表达式的return相当返回 None

def printme( str ):

"打印传入的字符串到标准显示设备上"

print str

return

函数调用

定义一个函数只给了函数一个名称,指定了函数里包含的参数和代码块结构,这个函数的节本结构完成以后,可以通过另一个函数调用执行,也可以直接从python提示符执行。

参数

可变参数

在python函数中,还可以定义可变参数,参数可以是任意个

def calc(*numbers):

sum = 0

for n in numbers:

sum = sum + n * n

return sum

关键字参数

可变参数允许你传入0个或者任意个参数,这些可变参数在函数调用时自动组装为一个tuple,而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict

def person(name, age, **kw):

print 'name:', name, 'age:', age, 'other:', kw

函数person除了必选参数name和age外,还接受关键字参数kw。在调用该函数时,可以只传入必选

参数组合

在python中定义函数,可以用必选参数,默认参数,可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数,默认参数,可变参数和关键字参数

总结:

1,python的函数具有非常灵活的参形态,既可以实现简单的调用,又可以传入非常复杂的参数

2,默认参数一定要用于不可变对象,如果是可变对象,运行会有逻辑错误

3,要注意定义可变参数和关键字参数的语法:

*args是可变参数,args接收的是一个tuple;

**kw是关键词参数,kw接收的是dicr,

4,函数如何传入可变参数和关键字参数的语法:

可变参数既可以直接传入:func(1,2,3),又可以先组装list或者tuple,再通过*args传入func(*(1,2,3))

关键字参数既可以直接传入:func(a=1,b=2),又可以先组装dict,再通过**kw传入:func(**{'a':1,'b':2})

作用域:作用范围

全局作用域:内置名称空间与全局名称空间的名字属于全局范围,

在整个文件的任意位置都能被引用,全局有效。

局部作用域:函数调用时

闭包函数:函数内部定义的函数,成为内部函数,该内部函数包含对外部

作用域,而不是对全局作用域名字的,那么该函数成为闭包函数。

函数的返回值

1,指定返回值与隐含返回值

函数体中return语句有指定的返回值时,返回的就是其值

函数体中没有retrun语句时,函数运行结束会隐含返回一个none作为返回值类型是 NoneType,与 return 、return None 等效,都是返回 None。

2 return 语句位置与多条 return 语句

函数中使用return语句返回‘返回值’,可以将其赋给其他变量作其他用处

所有函数的返回值,如果没有return语句,会隐式地调用return None作为返回值

一个函数可以存在多条return语句,但只有一条可以被执行,如果没有一条return语句被执行,同样会隐式调用 return None 作为返回值

如果有必要,可以显示调用return None明确返回一个None(空值对象)作为返回值,可以简写为 return,不过 python 中懒惰即美德,所以一般能不写就不写

如果函数执行了 return 语句,函数会立刻返回,结束调用,return 之后的其它语句都不会被执行了

3,返回值类型

无论定义的是返回什么类型,return只能返回单值,但值可以存在多个元素

return[1,3,5]是至返回一个列表,是一个列表对象1,3,5分别是这个列表的元素

return1,3,5看是返回多个值,隐式的被python封装成了一个元组返回

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值