python开发学习day11 (函数; 返回值 ; 形参与实参 )

2020-06-15                             目录:

一、函数

1.1  什么是函数?

1.2  为什么要用函数?

1.3  如何用函数?

1.3.1  函数的基本使用

1.3.2  先定义,后调用

1.3.3  定义函数的三种形式

1.3.4  调用函数的三种形式

二、函数的返回值

三、函数参数的详细使用

一、函数

1.1  什么是函数?

程序中具有某一功能的工具,即为函数
事先准备工具的过程,即为函数的定义
遇到应用场景拿来就用,即为函数的调用

1.2  为什么要用函数?

对于内置函数,也就是python3解释器定义好的,拿来用即可
对于自定义函数,可以带来三点便利:
①  增强程序的组织结构性,提升可读性
②  简洁,减少代码冗余
③  提升程序的可维护性与扩展性

1.3  如何用函数?

定义函数的语法:
def  函数名(参数1,参数2,参数3):
    '''
    文档注释
    '''
    代码1
    代码2
    代码3
    ...
    return 值
调用函数的语法:
函数名(值1,值2,值3)

1.3.1  函数的基本使用

def login():   # login = 存放代码的那个内存空间的内存地址,类似于x=10
    name = input("your name>>: ")
    pwd = input("your pwd>>: ")if name == "egon" and pwd == "123" :
        print('login successful')
    else:
        print("user or password error")
print(login)   # >>> <function login at 0x0000020B7EA251F0>,(函数的地址)
login()        # 调用函数
login()        # 调用函数    

1.3.2  先定义,后调用

函数的使用分为两个阶段:
①  定义阶段:申请内存空间把代码存放进去,然后将内存地址绑定给函数名
②  调用阶段:通过函数名找到函数体代码,加括号触发函数体运行
PS:函数定义阶段不执行代码只识别语法,只有在调用阶段才执行代码

  如:

def f1():
    print('from f1')
    f2()  # 函数定义时不运行,所以不会报错

def f2():
    print('from f2')

f1()  

1.3.3  定义函数的三种形式

① 无参函数  (函数体代码运行逻辑不需要外来数据)
def login():
    name = input("your name>>: ")
    pwd = input("your pwd>>: ")
    if name == "egon" and pwd == "123" :
        print('login successful')
    else:
        print("user or password error")

login()
② 有参函数
def max2(x,y):   # 函数的运行依赖外来数据x,y
    if x > y:
        print(x)
    else:
        print(y)

max2(10,11)    # 相当于把10赋值给x,11赋值给y来运行
③ 空函数
def login():
    pass        # 函数体暂时为空,用来作为预留代码的框架

def register():
    pass

1.3.4  调用函数的三种形式

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

① 语句形式:(单纯的调用)

max(10,12)  # 类似于print('hello')调用print函数一样

② 表达式形式:

x = max2(1, 2)
res = max2(1, 2) * 10
print(x)
print(res)

③ 可以当做参数传给另外一个函数:

res = max(11, max(10,12))
print(res)

二、函数的返回值

① 函数体内没有return,或者return后面没有值:默认返回None
return 值:返回的就是这个值
def func():
    return 123


res = func()
print(res)      # >>>123
return 值1,值2,值3 : 返回一个元组(值1,值2,值3)
def func():
    return 123, "abc", 3.1


res = func()
print(res, type(res))  # >>>(123, 'abc', 3.1) <class 'tuple'>

PS:函数内可以有多个return,return是函数结束的标志,函数体代码但凡运行到一个 return 就会立刻终止整个函数的运行,

   然后将return后的值当做本次调用的产品返回

三、函数参数的详细使用

3.1  形参与实参

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

3.1.1  形参

在定义函数阶段,括号内指定的参数,称之为形式参数,简称形参
形参相当于定义在函数内的变量名,用于接收外部传进来的值
def func(x,y): # x和y即形参 print(x) print(y) func(10,11)

3.1.2  实参

在调用函数阶段,括号内传入的值,称之为实际参数,简称实参
实参相当于变量值,用于为形参赋值的

def func(x,y): print(x) print(y) func(10,11) #10和11即为实参

ps: 在函数调用时,会将实参的值绑定给形参,这种绑定关系只能在函数内使用,

     在函数调用完毕后,实参与形参会解除绑定,回收占用的内存空间

 

posted @ 2020-06-15 21:23  不负韶华l  阅读(174)  评论(0编辑  收藏  举报