函数的基本使用

一、函数三问

1、什么是函数

函数相当于具有某种功能或多种功能的能够重复使用的工具,像扳手什么的能够用来拧螺丝还可以用来防身......

函数跟变量一样也是先定义后使用。

2、为什么要用函数

当需要重复用一段代码实现某一功能的时候,如果不用函数的话,

1、会使主程序组织结构不清晰,可读性差

2、由于多次代码一样,修改起来很麻烦,可维护性和扩展性都很差

3、代码很low,显得冗长

———》而函数能够解决以上问题

3、函数怎么使用

先定义:
三种定义方式
后调用:
三种调用方式

返回值:
三种返回值的形式

二、函数的基本使用

1、函数定义的语法

'''
def 函数名(参数1,参数2,...):
    """文档描述"""
    函数体
    return 值
'''

2、函数的三种定义方式

函数定义的时候会发生的事:

2.1、首先会在内存中申请内存空间用于保存函数体的代码,与列表类似

2.2、将用于保存函数体空间的内存地址绑定给函数名,与变量名的绑定相同

2.3、需要注意的事定义函数的时候不会立即执行函数体代码,在调用的时候才会执行,但是定义的时候会检测函数体的语法是否有误

2.1、无参函数定义

def bar():  # bar=函数的内存地址
    """说实话函数"""   #文档字符串对函数体功能进行简单的描述
    #x    x变量不存在定义时不会报错
    #print(   会报错,函数体语法有问题
    print('你好帅')  # 函数体内容

应用场景:

def interactive():
    name = input('username>>: ')
    age = input('age>>: ')
    gender = input('gender>>: ')
    msg = '名字:{} 年龄:{} 性别'.format(name, age, gender)
    print(msg)   #不需要有返回值


interactive()
interactive()
interactive()
interactive()

2.2、有参函数定义

def func(x,y): # x,y表示的是形参,用于接收向函数传入的实参
	print(x,y)
func(1,2)  #调用函数,向函数传入实参1和2

应用场景:

def multiply(x,y): # 参数-》原材料
    res=x * y
    print(res)
    return res # 返回值-》产品
multiply(1,100)#传入实参1,100,返回值100

2.3、空函数,函数体代码为pass

def func(x, y):
    pass

应用场景:(主程序的架构)

def auth_user():
    """user authentication function"""
    pass

def download_file():
    """download file function"""
    pass

def upload_file():
    """upload file function"""
    pass

def ls():
    """list contents function"""
    pass

def cd():
    """change directory"""
    pass

3、函数调用的三种形式

调用函数发生的事情

1、通过函数名找到函数的内存地址
2、然后加口号就是在触发函数体代码的执行

print(func)
func()

3.1、语句的形式:只加括号调用函数

interactive()
add(1,2)

3.2、表达式形式:

def add(x, y):  # 参数-》原材料
    res = x + y
    return res  # 返回值-》产品

3.2.1 将函数放入数学表达式内

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

3.2.2 赋值表达式,将函数调用赋值给变量名

res = add(1, 2)
print(res)

3.2.3 函数调用可以当做另一个函数调用的参数

res = add(add(1, 2), 10)
print(res)

4、函数返回值,有三种返回值的方式,取决于函数体类的return

强调:return 是函数结束的标志,只要函数体执行到如return则立即终止函数的运行,并把return后面的值当成本次运行的结果返回。

4.1、返回None:函数体内没有return,或者return后跟的就是None

def func():
	print('hhh') #
	#return None
res=func()  #没有返回值
print(res)  #None

4.2、返回一个值,即return后只有一个值

def func():
    return 10  #有一个返回值:10


res = func()
print(res) #打印10

4.3、返回多个值:用逗号分隔开多个值,会被return返回成元组

def func():
    return 10, 'aa', [1, 2]


res = func()
print(res, type(res))
posted @ 2020-03-17 23:03  风起千寻  阅读(363)  评论(0编辑  收藏  举报