函数是所有编程语言中重要的组织和复用代码的重要手段,在Python中亦是如此。比如:我们在很多地方用到求和函数,该求和函数实现一个一维数组的求和,数组元素个数n不固定。

def sum_arr(a):                                            #定义函数sum_arr()
    sum=0
    for i in a:
        sum+=i
    return sum
arr_a=list(map(int,input("请输入n个数,空格隔开:").split())) #输入n个数
result=sum_arr(arr_a)                                      #调用函数
print(result)                                              #输出结果

输出结果随着输入元素的值和个数变化,我们只需要一个程序就可以。

请输入n个数,中间用空格隔开:1 2 3
6
请输入n个数,中间用空格隔开:10 20 30 33 44 12
149

函数定义主要包括以下几点:

1、函数使用关键字 def来声明:如 def sum_arr(a)

2、函数使用关键词return来返回值,如 return(sum)有时也有没有返回值的情况。

3、函数中可以用多条return语句,如果执行到最后没有遇到任何一条语句,默认返回None。

  • def score(n):
        if n>=90:
            return('A')
        if n>=80:
            return('B')
        if n>=70:
            return('C')
    print(score(int(input())))
  • 99
    A
  • 86
    B
    
  • 70
    C
    
  • 50
    None

4、函数变量的作用域

(1)变量在函数内部(两次执行函数fun_arr()结果没有变化,执行一次后,即销毁,再次执行,重新开始,所以两次执行结果一样,没有联系。

def fun_arr():
    a=[]
    for i in range(10):
        a.append(i)
    print(a)
fun_arr()
fun_arr()
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

(2)变量在函数外部(因a在函数外部,所以第一次执行后,a并未销毁,再次执行仍然产生新的数据,在第一次的基础上再次追加新数据)

a = []
def fun_arr():
    for i in range(10):
        a.append(i)
    print(a)
fun_arr()
fun_arr()
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

5、函数返回多个值(如输入x,y,求x+y,x-y,x*y),这点在数据分析中很重要。

(1)返回多个值给变量

  • def fun_xy(x, y):
        a=x-y
        b=x+y
        c=x*y
        return(a,b,c)
    x,y=map(int,input("x y:").split())
    a,b,c=fun_xy(x,y)
    print(a,b,c)
  • x y:10 8
    2 18 80

(2)返回字典

  • def fun_xy(x, y):
        a=x-y
        b=x+y
        c=x*y
        return {'x-y':a,'x+y':b,'x*y':c}
    x,y=map(int,input("x y:").split())
    dt=fun_xy(x,y)
    for key in dt:
        print(f'{key}:{dt[key]}')
  • x y:10 8
    x-y:2
    x+y:18
    x*y:80

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐