编程语言基础python之函数基础

2019-05-16  本文已影响0人  土卡拉

函数简介

函数是什么?

    函数本质上是特殊功能的封装:在程序开发的过程中,有些功能需要重复使用,我们会将这些功能进行封装,在需要使用的时候,调用即可,这段封装的代码,我们称他为函数。

函数的优点

a.简化代码结构,提高应用的效率

​ b.提高代码复用性

​ c.提高代码的可读性和可维护性

建议:但凡涉及到功能,都尽量使用函数实现

函数定义

定义一个函数:
语法:
def 函数名(参数列表):
函数体
return 表达式

def代表函数的开始
函数名:遵循标识符的命名规则
参数列表:传入函数的参数,参数与参数之间使用逗号隔开。
函数体:这个函数要实现的功能
return:函数结束之后,返回值,返回值可以是变量、常量也可以是表达式
return可不写,默认为None.

函数的使用

定义函数后,函数的调用:通过 函数名(参数列表) 调用
定义好函数后,函数不会自动执行函数体
调用函数的参数列表和定义函数的参数列表保持一致(关键字参数可以解决这个局限)
一个函数可以被重复多次调用
同一个py文件中出现多个同名函数,调用的是最后一个,类似于变量赋值的覆盖
函数调用前需要先定义,否则会报错NameError

函数的调用顺序

在函数中调用其他函数,不需要定义在前,调用在后;而实际的函数调用执行操作,就一定要先定义后调用。

举例:
def test1():
    print("aaaa")
    test2()
    print("over")

def test2():
    print("bbbb")
    test3()
    test4()

def test3():
    print("cccc")

def test4():
    print("dddd")

test1()

#注意:函数在调用的过程中,相互之间的关系,以及代码执行的先后顺序

函数的参数

    形式参数:在函数的声明部分,本质就是一个变量,用于接收实际参数的值 【形参】

​ 实际参数:在函数调用部分,实际参与运算的值,用于给形式参数赋值 【实参】
​ 传参:实际参数给形式参数赋值的过程,形式参数 = 实际参数
格式:参数1,参数2.....参数可以有多个

    形参与实参的关系:
    1.实参和形参重名对函数实现没有影响
    2.进行传参之后,实际参与运算的是形参,对实参没有影响【将形参可以理解为实参的替代品】
    3.本质原因:形参和实参在内存中开辟的空间不同
    4.不可变对象传递的是值: 数字,字符串,元组为不可变对象
值传递和引用传递【面试题】
值传递:传参的过程中传递的是值,一般指的是不可变的数据类型,number,tuple,string\
引用传递:传参的过程中传递的是引用,一般指的是可变的数据类型,list,dict,set
引用传递本质上传递的地址.可变对象传递的是地址:列表,字典,集合set

参数类型

思考:自定义一个函数 是否需要设置参数=>是否有未知项参与运算,是否需要设置返回值=>是否需要在函数外面使用函数运算之后的结果

函数变量的作用域

查找的顺序:L----》E------>G------>B【极端情况:当所有的变量同名的情况下】【面试题】

代码演示:

#变量的查找规则

#注意:全局作用域和内置作用域,当重名的时候,谁出现在后面,则先匹配到谁
x = 0

x1 = int(3.3)

def outer1():
    j = 1

    def inner1():
        i = 2
        #【就近原则】
        print(x)

    return  inner1

f1 = outer1()
f1()
上一篇 下一篇

猜你喜欢

热点阅读