位置:首页 > 网络编程 > Python
点击展开栏目简介

                                                    

Python2:函数

分享到: 微信 新浪微博 更多

定义函数规则:

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


可变(mutable)与不可变改(immutable)对象:

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

python 传不可变对象实例

def ChangeInt( a ):
    a = 10

b = 2
ChangeInt(b)
print b # 结果是 2

传可变对象实例:

def changeme( mylist ):
   "修改传入的列表"
   mylist.append([1,2,3,4]);
   print "函数内取值: ", mylist   # [10, 20, 30, [1, 2, 3, 4]]
   return
 
# 调用changeme函数
mylist = [10,20,30];
changeme( mylist );
print "函数外取值: ", mylist # [10, 20, 30, [1, 2, 3, 4]]

参数:

以下写法(指明了参数关键字)调用参数时可以随意调整参数位置;

def printinfo( name, age=28 ) # 函数定义 详情略
printinfo( age=50, name="miki" ); # 调用时可以改变参数顺序
printinfo( "miki",50 ); # 没有指定关键字,需要按顺序写参数

参数个数可变的情况:

def printinfo( arg1, *vartuple ):  # 加*号表示支持多个参数
   "打印任何传入的参数"
   print "输出: "
   print arg1
   for var in vartuple:
      print var 
   return;
 
# 调用printinfo 函数
printinfo( 10 ); # 10
printinfo( 70, 60, 50 ); # 70 60 50
匿名函数:

lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。

lambda函数看起来只能写一行

sum = lambda arg1, arg2: arg1 + arg2;
 
# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )  # 30
print "相加后的值为 : ", sum( 20, 20 )  #40



上篇:Python2:日期和时间

下篇:Python2:模块

发表评论 ​共有​条评论
  • 匿名发表