函数是通过赋值传递的,参数通过赋值传递给函数。def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下:

1 def function_name(arg1,arg2[,...]):
2      statement
3  [return value]  

返回值不是必须的,如果没有return语句,则Python默认返回值None。

函数名的命名规则:函数名必须以下划线或字母开头,可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号;函数名是区分大小写的。函数名不能是保留字。

函数中的参数接收传递的值,参数可分默认参数,如:

 

元组(Tuples)参数:def function(*ARG)

字典(dictionary)参数:def function(**ARG)

一些函数规则:

默认值必须在非默认参数之后;在单个函数定义中,只能使用一个tuple参数(*ARG)和一个字典参数(**ARG);tuple参数必须在连接参数和默认参数之后;字典参数必须在最后定义。

函数的调用

定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。

这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。

1 # 定义函数
2 def printme( str ):
3    "打印任何传入的字符串"
4    print (str)
5    return6  
7 # 调用函数
8 printme("我要调用用户自定义函数!")
9 printme("再次调用同一函数")

return语句

return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。

1 def sum( arg1, arg2 ):
2    # 返回2个参数的和."
3    total = arg1 + arg2
4    print ("函数1 : ", total)
5    return total
6  
7 # 调用sum函数
8 total = sum( 10086, 10010 )
9 print("函数2 : ", total)

变量和局部变量

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。

 1 total = 0; # 这是全局变量
 2 # 可写函数说明
 3 def sum( arg1, arg2 ):
 4    #返回2个参数的和."
 5    total = arg1 + arg2; # total在这里是局部变量.
 6    print("局部变量 : ", total)
 7    return total
 8  
 9 #调用sum函数
10 sum( 10086, 10010 )
11 print("全局变量 : ", total) 

上述结果

1 函数内是局部变量 :  30
2 函数外是全局变量 :  0
View Code

相关文章: