三、函数&函数进阶&闭包与装饰…

2018-08-07 08:50:33来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

一、函数

  1、什么是函数:函数就是具备某一功能的工具

    函数的使用必须遵循先定义、后调用的原则

      事先准备工具的过程即函数的定义

      拿来就用即为函数的调用

    函数分为两大类:1、内置的函数   2、自定义的函数

  2、为什么要用函数:

      2.1 程序的组织结构不清晰、可读性差

      2.2 日积月累冗余代码过多

      2.3 程序的可扩展性极差

  3、怎么用函数

  3.1定义函数  

  3.1.1 语法 

# def 函数名(参数1,参数2,参数3,...):
#     """
#     文档注释
#     """
#     code1
#     code2
#     code3
#     ...
#     return 返回值

  3.1.2 定义函数阶段发生哪些事:只检测语法,不执行代码

def foo(): # foo=函数的内存地址
    print('first')
    print('sencod')
    print('asdfsadfasdfas')
    print('third')
foo()
# # 定义阶段
def foo():
    print('from foo')
    bar()

def bar():
    print('from bar')

#调用阶段
foo()

 3.1.3 定义函数的三种形式

        1.无参函数

def bar():
    print('from bar')
bar()

        2.有参函数

def func2(x,y):
    # x=1
    # y=3
    if x > y:
        print(x)
    else:
        print(y)

func2(1,3)

        3.空函数(做占位使用)

def foo():
    pass

 3.2调用函数

    语法:函数名()   

    调用函数发生了:1、根据函数名找到函数的内存地址  2、函数的内存地址加括号可以触发函数体代码的执行

    调用函数的三种方式:

      3.2.1 语句

def f1():
    print('from 1')
f1()

      3.2.2表达式

def max2(x,y):
    if x > y:
        return x
    else:
        return y

res=max(1,2)*10
print(res)

      3.2.3当做参数传给其他函数

def max2(x,y):
    if x > y:
        return x
    else:
        return y

res=max2(max2(1,2),3)
print(res)

 

 4、函数的返回值

  1、什么是函数的返回值:函数体代码运行的一个成果

  return 值:

    返回值没有类型限制、返回值没有个数限制

      逗号分割多个值:返回一个元组

      一个值:返回一个值

      没有return:默认返回None

def login():
    while True:
        username=input('name>>: ').strip()
        pwd=input('password>>:').strip()
        if username not in user_dic:
            print('not found')
            continue
        if pwd != user_dic[username]:
            print('pwd error')
            continue
        print('login successful')
        return username
print(login())
return 登录名
# return是函数结束的标志:
# 函数内可以有多个return,但只要执行一次,整个函数就立即结束,并且将return后的值当作本次调用的结果返回

二、函数的参数

  1、函数的参数分为两大类:形参、实参

    形参:指的是在定义函数时,括号指定的参数,本质就是变量名

    实参:指的是在调用函数时,括号内传入的值,本质就是值

  只有在调用函数时才会在函数体内发生实参(值)与形参(变量名)的绑定关系

  该绑定关系只在调用函数时临时生效,在调用函数结束后就解除绑定

    def foo(x,y): #x=1,y=2
        print(x)
        print(y)
    # a=1
    # b=2
    # foo(a,b)
    foo(1,2)

  2、位置参数

    未完待续,吃饭去

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:就因为用写了一个自助提卡系统!居然一个月挣的比一年多!勿商用

下一篇:1千京豆等于十块钱!用Python实现京东自动登录领京豆!挣外快咯