python基础语法详解之函数

编辑: admin 分类: python 发布时间: 2022-06-06 来源:互联网
本篇文章给大家带来了关于python的相关知识,其中主要介绍了关于函数的相关问题,包括了函数调用、定义函数、函数参数、函数返回值以及变量作用域等等内容,下面一起来看一下,希望对大家有帮助。

推荐学习:python视频教程

什么是函数??

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
简而言之,函数在我们日常就用的很多了,但大多数都是官方定义好的函数,我们直接调用就可以例如input(),print()等,只不过它如何定义的我们也就不关心了。要是我们的代码中需要大量重复使用一串复杂的代码块,那么我们就可以定义一个函数来表示这段代码块,需要用到时直接调用即可!!

1.函数调用

函数由三个部分组成:函数名,参数以及返回值。
函数名就是函数的标识符。
函数的参数就是在调用函数时给函数提供数据。

name = input("请输入你的姓名:")list  = len(name)print(list)

在这里插入图片描述
在这里,input,len,print是函数名,函数括号内的为参数,等号左边的为返回值。
调用函数:一般为函数名加小括号。小括号内可填写参数,为函数提供数据。当然有些函数不需要参数(list.clear()),有些函数必须要传递参数(list.append())。

2.定义函数

需用def(define)关键字来定义函数,需以冒号结束。
函数必须先定义在调用

def name():
    print('苏凉')def QQ_num():
    print('787991021')def Total():
    name()
    QQ_num()
    Total()

在这里插入图片描述

定义函数:
函数头:关键字def +自定义函数名加小括号,最后以冒号结尾。def name(),def QQ_num(),def Total()
函数体:需要函数实现的功能。即函数体前必须缩进4个字符。一个tab键。
注意:函数的执行是由上到下的,即必须先定义函数在调用。

3.函数参数

函数的参数可以让我们定义的函数更为灵活。
注意:定义函数时若传入了参数,那么在调用时也必须指定参数。

传参时可传入一个参数,也可传入多个参数。

# 传入一个参数def list(len):
    print('+' * len)list(5)# 传多个参数def list2(num1 , num2):
    print(num2 * num1)list2('*',15)list2(5,10)

调用函数时给定实际的值(实参),这样就会给定义的参数(形参)进行赋值。

在这里插入图片描述
注意:在传入多个参数时,需注意参数的个数以及顺序是否正确,顺序不同函数的意义也就不同。

4.函数返回值

函数可以返回单个值也可以返回多个值,用return来返回值。
注意:当函数执行到return时则函数执行结束。即不会再执行return后的函数体。

def num(age,sex):
    if age<0:
        return
    elif age>200:
        return
    else:
        return age,sex

x = int(input('输入年龄:'))Sex = input('输入性别:')num ,sex  = num(x,Sex)print(num,sex)

函数返回多少个值就要用多少个值去接收,否则就会报错。此时分别返回单个值。

在这里插入图片描述

一种特殊情况为用一个变量接受,此时返回的值为一个元组类型!

result = num(x,Sex)print(result)

在这里插入图片描述
总结:函数可以返回单个值也可以返回多个值,当返回多个值时,需要用对应多个变量接收函数返回的值,若只用一个值接收,则返回一个元组类型的值。

5.变量作用域

变量的作用域:即是指在那个地方可以使用变量。这就涉及到了全局和局部两种变量。
全局(global)变量:在函数外定义的变量。无论在函数体内或者函数体外都可以使用! ?全局变量在函数体内只能使用而不能直接修改!!
局部(local)变量:在函数内定义的变量,在函数内定义的变量,只能在函数体内使用和修改,在函数外调用就无效了。 在函数内可以定义一个名字和函数外一样的变量,但他们的意义时不一样的!!


a = 15 #这里a为全局变量def num():
    a = 5 #这里a为局部变量,名字可以相同但代表不同的值
    print(a)num()print(a)

结果:
在这里插入图片描述

这里可以看到局部变量是不能修改全局变量的值的。


a = 15 #这里a为全局变量def num():
    # 在函数体内可以使用全局变量
    print(a)
    num() #结果15print(a) #结果15

在函数体内是可以使用全局变量的


a = 15 #这里a为全局变量def num():
    global a  #定义全局变量
    a = 5
    print(a)num() #结果5print(a) #结果5

若想要在函数体内修改全局变量,则需在修改之前,定义全局变量,此时函数体内的变量a为全局变量,不再是函数体内定义的局部变量了。

推荐学习:python视频教程

以上就是python基础语法详解之函数的详细内容,更多请关注自由互联其它相关文章!