任务预览:
- 函数关键字
- 函数的定义
- 函数参数与作用域
- 函数返回值
任务初尝试:
1.函数关键字:
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回
2.函数的定义:
def my_abs(x):#函数的定义
if x >= 0:
return x
else:
return -x#求绝对值
3.函数的参数与作用域:
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s #定义位置参数
power(5,2)
>>>25
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s #默认参数
power(5)
>>>25
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum #可变参数
calc(1,2)
>>>5
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw) #关键词参数
person('Bob', 35, city='Beijing')
>>>name: Bob age: 35 other: {'city': 'Beijing'}
4.变量的作用域与返回值
a)变量的作用域LEGB:
在Python程序中创建、改变、查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域。python的作用域是静态的,在源代码中变量名被赋值的位置决定了该变量能被访问的范围。即Python变量的作用域由变量所在源代码中的位置决定。
def func():
variable = 100
print variable
print variable #作用域定义的变量,只能在作用域的有效
>>>NameError: name 'variable' is not defined
if True:
variable = 100
print (variable)
print ("******")
print (variable)
>>>
100
******
100
b)函数返回值:
函数体内部可以用return随时返回函数结果;
函数执行完毕也没有return语句时,自动return None;