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

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

实例

python 调用命令行启动 不等待_字符串

参数传递

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

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

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

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

传不可变对象实例

python 调用命令行启动 不等待_python 调用命令行启动 不等待_02

传可变对象实例

python 调用命令行启动 不等待_python 调用命令行启动 不等待_03

参数:
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