函数基础


前言

随着代码长度和复杂程度的不断增加,可以把一些功能重复的代码编辑成模块或者工具,在需要使用的时候直接调用即可,从而避免代码的冗长和提高代码的可读性,这个代码模块或者工具就叫做“函数”。除了提高代码的可辨识程度之外,函数还具有易于修改和便于维护的优势。既然它功能这么强大,我们就来认识一下它吧


一、函数的定义

函数的使用也遵循“先定义,后使用”的原则,先把函数体代码写下来作为模块存储在内存之中,再把内存地址与对应的函数名绑定。使用的时候,只需要调用函数名即可,与变量的赋值相类似。

在这里插入图片描述
函数名:指向函数的内存地址,它可以反应函数的功能
参数:函数的参数,可有可无,且无需指定参数的类型
文档描述:对函数的解释与描述,包括增加参数的介绍。非必要,建议加上以增加函数的可读性
函数体:函数的正文部分,由语句或者表达式构成
返回值:函数的值,可有可无

参数是函数调用者向函数体传值的媒介,如不依赖外界赋值,则不需要参数

有参函数

def min(x,y):
    n = x if x<y else y
    return n
print(min(5,9))  # 5

无参函数

def interactive():
    user = input("用户名:").strip()
    pwd = input("密码:").strip()
    return (user,pwd)

空函数 pass
函数体为pass称之为空函数,即什么也不做。通常空函数是有用的,特别是在编写函数之初,可以先把函数的功能框架定义清除,在分步骤写入具体代码,在写入之前就以空函数代替。这样的好处是函数结构比较清晰,节奏适度。比如:

def user_admin():
    """
    user administaion
    :return:
    """
    pass

def download_file():
    """
    download_file
    :return:
    """
    pass

def upload_file():
    """
    upload_file
    :return:
    """
    pass

def ls():
    """
    check list content
    :return:
    """
    pass

def cd():
    """
    change dictionary
    :return:
    """
    pass

之后我们就可以分步骤写入代码,以提高开发效率。

二、函数调用与返回值

函数的使用分为定义和调用两个阶段,定义阶段只检查代码,并不执行。调用的时候只需要输入函数名称加括号即可。

1、函数调用

# 定义函数
def bar():
    print("I'm bar")

def foo():
    print("I'm foo")
    bar()
#调用函数
foo() 
#执行结果
I'm foo
I'm bar

函数调用的三种形式

#1、语句调用
foo()
#2、表达式调用
a = min(3,6)
b = 10%min(2,3)
print(a,b)  # 3 0
#3、函数作为另一个函数的参数调用
c = min(6,min(4,5))
print(c)  # 4

2、函数返回值

如需要将函数体运行代码返回给调用者,则需要用到return。如果return后面无值或者省略掉return,则默认返回None.返回值没有类型限制,且可以把多个值作为元组返回。

def test(x,y,z):
    return x,y,z
res = test(1,2,3)
print(res)  # (1, 2, 3)

return是一个函数结束的标志,并把return后定义的值作为本次调用的结果返回。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值