python 函数的定义及调用语法,map 方法,函数嵌套递归

1.什么是函数
    开发程序时候,需要代码执行多次,为了提高编写效率及代码重用性,所以把具有独立功能的代码块组织为一个小模块,给这个功能一个名称,这就是函数。
    函数可以使用系统自带的函数也可以自定义函数
    函数调用时候,给定的输入值是从左往右匹配函数参数列表

2.定义函数
    函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
    任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
    函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
    函数内容以冒号起始,并且缩进。
    return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
    语法:
        def 函数名:
            函数体

        def print_name():
            print('hello~heygor')

        print_name()

3.调用函数
    内置函数可以直接进行使用,调用一个函数需要知道函数名称和函数参数,函数名是只想一个函数对象的引用,完全可以把函数名赋值给变量
    语法:
    函数名
        a=[1,2,3,4,5]
        b=len
        num=b(a)
        print('列表中元素个数为',num)

map 方法生成序列
    可以通过 map 的方式利用函数来生成序列:
        def sqr(x):
            return x ** 2
        a = [2,3,4]
        print map(sqr, a)
        #[4, 9, 16]

    其用法为:
        map(aFun, aSeq)

    将函数 aFun 应用到序列 aSeq 上的每一个元素上,返回一个列表,不管这个序列原来是什么类型。

    事实上,根据函数参数的多少,map 可以接受多组序列,将其对应的元素作为参数传入函数:
        def add(x, y):
            return x + y
        a = (2,3,4)
        b = [10,5,3]
        print map(add,a,b)
        #[12, 8, 7]

------------------------

#coding=utf-8
#嵌套
# def test1():
#     print('in test1')
# def test2():
#     test1()
#     print('in test2')
# def test3():
#     test2()
#     print('in test3')
# test3()

#递归
def func(n):
    print('进入第%d层梦'%n)
    if n==3:
        print('进入潜意识区')
    else:
        func(n+1)
    print('从第%d梦中醒来'%n)
func(1)  

#1.进入1层 打印进入第一层梦,里面执行fun(2)
#2.func(2) 打印进入第二层梦,里面执行func(3)
#3.func(3) 打印进入第三层梦,进入潜意识,从第3层梦中醒来
#

 

posted @ 2018-12-06 22:40  SilentKiller  阅读(983)  评论(0编辑  收藏  举报