函数的基本使用

一 函数

1、什么是函数

函数就相当于具备某一功能的工具

​ 函数的使用必须遵循一个原则:

​ 先定义

​ 后调用

2、为何要用函数

解决以下问题:

​ 1、代码冗余、程序组织机构不清晰、可读性差

​ 2、可维护性差、扩展性差

3、如何用函数

​ 先定义

​ 三种定义方式

​ 后调用

​ 三种调用方式

​ 返回值

​ 三种返回值的方式

1 定义函数

​ 1、先定义

​ 定义的语法

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

形式一:无参函数

def func(): 
		print('haha')
定义函数发生的事情

​ 1、申请内存空间保存函数体代码

​ 2、将上述内存地址绑定函数名

​ 3、定义函数不会执行函数体代码,但是会检测函数体语法

调用函数发生的事情

​ 1、通过函数名找到函数的内存地址

​ 2、然后加括号就是触发函数体代码的执行

如:

def login(): #login = 函数的内存地址:将内存地址绑定给函数名
    '''
    登录功能
    :return:
    '''
    # x # 没有语法错误,不会报错
    # print( #语法错误
    print('hello')
    return
print(login) #<function login at 0x10b270e18>

示例一:

def bar(): # bar=函数的内存地址
    print('from bar')

def foo():
    print(bar) #<function bar at 0x106925e18>
    bar()
    print('from foo')
foo()

#结果展示:
'''
<function bar at 0x106925e18>
from bar
from foo
'''

示例二:

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

def bar():  # bar=函数的内存地址
    print('from bar')
    
foo()
#结果展示:
'''
from bar
from foo
'''

示例三:

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

foo() #报错 此时运行时,函数体内 bar()还没有定义
def bar():  # bar=函数的内存地址
    print('from bar')

形式二:有参函数

def func(x,y): #x=1 y=2
		print(x, y)
func(1, 2)

形式三:空函数,函数体代码为 pass

def func(x,y):
		pass

三种定义方式各应用在何处

1、无参函数的应用场景

def interactive():
    name=input('username>>: ')
    age=input('age>>: ')
    gender=input('gender>>: ')
    msg='名字:{} 年龄:{} 性别'.format(name,age,gender)
    print(msg)

2、有参函数的应用场景

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

3、空函数的应用场景

def auth_user():  #构思整个代码框架的功能
  	'''user authentication function'''
		pass
def down_file():
  	'''download file function'''
  	pass

2 调用函数

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

interactive()

add(1,2)

2、表达式形式:

def add(x,y): # 参数-》原材料
    res=x + y
    return res # 返回值-》产品
# 赋值表达式
res=add(1,2)
print(res)
# 数学表达式
res=add(1,2)*10
print(res)

3、函数调用可以当做参数

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

3 函数返回值

return 是函数结束的标志,即函数体代码一旦运行到 return 会立刻终止函数的运行,并且会将 return 后的值当做本次运行的结果返回,具体值如下:

1 返回 None

def func():
  	print()
    return 
  	return None

2 返回一个值 :return 值

def func():
  	return 10
res = func()
print(res) #10

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

def func():
    return 10, 'aa', [1,2]
res = func()
print(res,type(res)) #(10, 'aa', [1, 2]) <class 'tuple'>

posted @ 2020-03-17 20:19  蛋蛋的丶夜  阅读(185)  评论(0编辑  收藏  举报