您的位置:首页 > 编程语言 > Python开发

python函数学习与变量作用域

2017-09-14 18:33 645 查看
学习函数
	规则:
		函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
		任何入参数和自变量必须放在圆括号里,圆括号之间可以用于定义参数	
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
语法:
		def  函数名称(参数):
                    函数体
调用:
		函数名称()
	示例:
def hello() :
print("Hello World!")

hello()
Hello World!
复杂点的带参函数:
# 计算面积函数
def area(width, height):
return width * height

def print_welcome(name):
print("Welcome", name)

print_welcome("Runoob")
w = 4
h = 5
print("width =", w, " height =", h, " area =", area(w, h))
	输出结果:
Welcome Runoob
width = 4  height = 5  area = 20
参数传递
	可改变的和不可改变的对象
在python中 String,int,tuples和numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变  	 	   对象
参数
必须参数
必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。 调用一个函数,你必须传入一个参数,不然会出现语法错误 关键参数 关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。 使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。 默认参数 调用函数时,如果没有传递参数,则会使用默认参数。
不定长参数
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名
语法
def functionname([formal_args,] *var_args_tuple ):
"函数_文档字符串"
function_suite
return [expression]
加了星号(*)的变量名会存放所有未命名的变量参数。如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量。如下实例:#!/usr/bin/python3# 可写函数说明def printinfo( arg1, *vartuple ):"打印任何传入的参数"print ("输出: ")print (arg1)for var in vartuple:print (var)return;# 调用printinfo 函数printinfo( 10 );printinfo( 70, 60, 50 );以上实例输出结果:输出:10输出:706050

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: