Python_函数调用

Python函数与Lambda详解

函数的定义:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

语法
def function_name( parameters ):
“函数_文档字符串”
function_description
return [expression]

实例
函数实例

参数传递

在 python 中,类型属于对象,变量是没有类型的:
a=[1,2,3]
a=“Runoob”

以上代码中,[1,2,3] 是 List 类型,“Runoob” 是 String 类型,而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针),可以是 List 类型对象,也可以指向 String 类型对象。

可更改(mutable)与不可更改(immutable)对象

				**不可更改的对象** 
				strings(字符串)
				tuples,(元组)
				numbers(数字)
							
				**可以改变的对象**
				list(列表)
				dict(字典)

传不可变对象实例
在这里插入图片描述

传可变对象实例

在这里插入图片描述

参数:
1.必备参数(eg:def printme( str ):,定义了之后如果调用时没有加参数会报错)
2.关键字参数(eg:调用时加上参数名,printme( str = “My string”);)
3.默认参数(eg:定义函数时,参数设置默认数值,def printinfo( name, age = 35 ):)

4.不定长参数(加了星号(*)的变量名会存放所有未命名的变量参数。)

	#!/usr/bin/python
	# -*- coding: UTF-8 -*-
	# 可写函数说明
	def printinfo( arg1, *vartuple ):
	   "打印任何传入的参数"
	      print "输出: "
	      print arg1
	      for var in vartuple:
	           print var
		  return;
	 # 调用printinfo 函数
	printinfo( 10 );
	printinfo( 70, 60, 50 );

以上实例输出结果:
输出:
10
输出:
70
60
50

匿名函数
python 使用 lambda 来创建匿名函数。

lambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
语法
lambda函数的语法只包含一个语句,如下:

lambda [arg1 [,arg2,…argn]]:expression

如下实例:

实例(Python 2.0+)

			#!/usr/bin/python
			# -*- coding: UTF-8 -*-
			# 可写函数说明
			sum = lambda arg1, arg2: arg1 + arg2;
		  # 调用sum函数
			print "相加后的值为 : ", sum( 10, 20 )
			print "相加后的值为 : ", sum( 20, 20 )

以上实例输出结果:
相加后的值为 : 30
相加后的值为 : 40

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaozhidepikaqiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值