Python-函数

作者: 葱花思鸡蛋 | 来源:发表于2019-06-17 09:59 被阅读0次
    1.函数定义

    def name (参数名):
       函数体
       return 返回值

    通过缩进来表示函数体的作用范围

    2.基本形式

    1)无参无返回值

    def myFunc ():
       print('你是猪吗')

    2)无参有返回值

    def myFunc ():
       return '你是猪吗'

    3)有参无返回值

    def myFunc (name):
       a = name
       print(a)
    调用: myFunc('你是猪吗')

    4)有参有返回值

    def myFunc (name):
       a = name
       return a
    调用:c = myFunc('你是猪吗')

    5)多返回值
    Python函数也可以返回多个值,这些返回值会被打包成元组进行返回

    def myFunc()
       return 'a',1,'c'
    输出:('a',1,'c')

    注意:不同于其他语言,函数无返回值类型并不是真的没有返回值,只不过默认返回的值是None

    3.默认参数

    默认参数的值如果没有传入,则被认为是默认值

    def myFunc (name,age = 0):
       print(name,age)

    4.函数内部修改全局变量

    a = 100
    def changeFunc():
       a = 10
       print(a)

    此时无法修改全局变量a,在方法内部可以使用全局变量,但无法直接修改,当进行修改时,会在函数内部创建一个新的局部变量,与全局变量没有关联

    想要修改全局变量需要使用global 关键字,注意需要先声明,再使用

    a = 100
    def changeFunc():
       global a
       a = 10
       print(a)

    5.匿名函数

    python 使用 lambda 来创建匿名函数。
    lambda只是一个表达式,函数体比def简单很多。

    lambda 参数1,参数2:表达式

    6.过滤器filter()

    过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
    接收两个参数,第一个为函数,第二个为序列(数组),序列的每个元素作为参数传递给函数进行判断,然后把满足函数条件的的元素放到新列表中进行返回。
    函数的返回值必须是true/false 或者1/0

    def is_odd(n):
       return n % 2 == 1
    tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
    newlist = list(tmplist)
    print(newlist)
    输出:[1, 3, 5, 7, 9]

    7.映射函数 map()

    接收两个参数,第一个为函数,第二个为序列(数组),序列的每个元素作为参数传递给函数进行运算,然后把返回结果作为新的序列中的元素。

    def add(x,y):
       return x*y
    res = map(add,[1,2,3],[4,5,6])
    list[res]
    输出结果:[4, 10, 18]

    相关文章

      网友评论

        本文标题:Python-函数

        本文链接:https://www.haomeiwen.com/subject/zcpofctx.html