- ·上一篇文章:Python 日期和时间
- ·下一篇文章:Python 模块
Python 函数
有未命名的变量参数。不定长参数实例如下:实例(Python 2.0+)
#!/usr/bin/python
# -*- coding:
UTF-8 -*-
# 可写函数说明def printinfo( arg1, *vartuple ):
"打印任何传入的参数"print "输出:
"print arg1for var in vartuple:
print varreturn;
# 调用printinfo 函数printinfo( 10 );printinfo( 70, 60, 50 );以上实例输出结果:输出:
10输出:
706050匿名函数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相加后的值为 :
40return 语句return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。之前的例子都没有示范如何返回数值,下例便告诉你怎么做:实例(Python 2.0+)
#!/usr/bin/python
# -*- coding:
UTF-8 -*-
# 可写函数说明def sum( arg1, arg2 ):
# 返回2个参数的和."total = arg1 + arg2print "函数内 :
", totalreturn total;
# 调用sum函数total = sum( 10, 20 );以上实例输出结果:函数内 :
30变量作用域一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:全局变量局部变量全局变量和局部变量定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。如下实例:实例(Python 2.0+)
#!/usr/bin/python
# -*- coding:
UTF-8 -*-
total = 0;
# 这是一个全局变量
# 可写函数说明def sum( arg1, arg2 ):
#返回2个参数的和."total = arg1 + arg2;
# total在这里是局部变量.print "函数内是局部变量 :
", totalreturn total;
#调用sum函数sum( 10, 20 );print "函数外是全局变量 :
", total以上实例输出结果:函数内是局部变量 :
30函数外是全局变量 :
0
#!/usr/bin/python
# -*- coding:
UTF-8 -*-
# 可写函数说明def printinfo( arg1, *vartuple ):
"打印任何传入的参数"print "输出:
"print arg1for var in vartuple:
print varreturn;
# 调用printinfo 函数printinfo( 10 );printinfo( 70, 60, 50 );以上实例输出结果:输出:
10输出:
706050匿名函数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相加后的值为 :
40return 语句return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。之前的例子都没有示范如何返回数值,下例便告诉你怎么做:实例(Python 2.0+)
#!/usr/bin/python
# -*- coding:
UTF-8 -*-
# 可写函数说明def sum( arg1, arg2 ):
# 返回2个参数的和."total = arg1 + arg2print "函数内 :
", totalreturn total;
# 调用sum函数total = sum( 10, 20 );以上实例输出结果:函数内 :
30变量作用域一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:全局变量局部变量全局变量和局部变量定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。如下实例:实例(Python 2.0+)
#!/usr/bin/python
# -*- coding:
UTF-8 -*-
total = 0;
# 这是一个全局变量
# 可写函数说明def sum( arg1, arg2 ):
#返回2个参数的和."total = arg1 + arg2;
# total在这里是局部变量.print "函数内是局部变量 :
", totalreturn total;
#调用sum函数sum( 10, 20 );print "函数外是全局变量 :
", total以上实例输出结果:函数内是局部变量 :
30函数外是全局变量 :
0
Python 函数