python函数一:函数的概念、函数定义与调用、函数的参数、函数的返回值、说明文档以及函数的嵌套调用

1. 函数介绍

1.1 函数的概念

什么是函数?

函数:是一个被命名的、独立的、完成特定功能的代码段,其可能给调用它的程序一个返回值
通俗的说函数就是把一段可以实现某种功能的代码封装起来, 想要使用这个功能就可以直接调用函数。

被命名的:在Python中,大部分函数都是有名函数。
完成特定功能的代码段:函数的功能要专一,专门为了完成某个功能而定义。
返回值:当函数执行完毕后,其可能会返回一个值给函数的调用处。

函数的主要作用:
① 模块化编程
② 代码重用

函数中的几个重要概念:

  • 函数
  • 参数
  • 返回值

函数语法:

def 函数名([参数, ..]):
    代码1
    代码2
    ...
    [return 具体的值]

1.2 函数定义与调用

Python函数需要使用def关键字来定义。使用方式有两步:

(1)先定义

(2)后调用

当然了,函数在使用时,特点:

(1)先定义,后调用;
(2)不调用,不执行;
(3)调用一次,执行一次。

定义函数:

def 函数名():
    代码1
    代码2
    ...

调用函数:

函数名()

实例:
(1)编写一个show()函数,并在函数中输出:bug虐我千百遍, 我待bug如初恋。

(2)调用函数,观察执行结果。

# 1.定义
def show():
    print("bug虐我千百遍, 我待bug如初恋.")

# 2.调用
show()  # 1.写对函数名;   2.()

# 扩展
def show():
    # 代码
    pass

1.2 函数的参数

当在定义函数时,设定了参数,则可称该函数为:有参函数。反之,没有参数的函数,称为:无参函数。

定义有参数的函数,语法:

def 函数名(参数1,参数2,...):  # 形参
	代码1
    代码2
    ...

调用函数,语法:

函数名(参数值1,参数值2,...)  # 实参

说明:
(1)形参是指形式参数,表示在定义函数时的参数;
(2)实参是指实际参数,表示在调用函数时传递的参数值,具有实际意义。

实例:
(1)定义一个函数,用于求解两个数之和;

(2)接着,调用函数并执行程序,观察效果。

# 1.定义函数
def get_sum(a,b):
    ret = a + b
    print(f"两个数之和为:{ret}")

# 2.调用函数
get_sum(10,20)

总结
(1)当定义了有参数的函数时,调用函数也需要传递参数值;

(2)注意:当给有参函数传递参数时,要关注参数的三要素:个数、类型、顺序。

1.3 函数的返回值

函数的返回值指的是:当函数完成一件事情后,最后要返回给函数的结果。

返回值语法:

def 函数名([参数1, 参数2, ...]):
	代码1
	代码2
	...
	return 值

(1)若要给函数返回结果,需要使用return关键字;
(2)return关键字的作用:把结果返回给函数;结束函数;
(3)当函数没有返回值时,默认返回None。

实例:
(1)定义一个函数1,用于求解两个数之积,并把积返回给函数;

(2)定义一个函数2,用于求解两个数的差、和,并同时返回给函数;

(3)定义一个函数3,输出:人生苦短,我用Python;

(4)执行程序,观察效果。

# 1.求解积
def get_multiply(a, b):
    ret = a * b
    return ret

print(get_multiply(10,20))   # print()
print('-'*50)

# 2.求差、和
def get_sub_sum(a, b):
    ret1 = a -b
    ret2 = a + b
    return ret1,ret2   # 元组
result = get_sub_sum(30,14)
print(result)
print('-'*50)

# 3.输出:人生苦短,我用Python(输出没有返回值)
def show():
    print("人生苦短,我用Python。")
print(show())

1.4 说明文档

说明文档指的是:在定义函数的第一行,加上多行注释。这样的操作,可以让函数更加规范化。

当添加了说明文档后,在调用函数时,就能查看到函数的作用提示。

那么如何给函数添加说明文档呢?

查看print()函数
在这里插入图片描述

def 函数名():
    """ 说明文档的位置 """
    代码
    ...

当需要看函数的说明文档的具体内容时,语法:

help(函数名)

实例:
例如,一起来完成:

(1)定义一个函数1,无说明文档内容,输出:一山不容二虎;

(2)定义一个函数2,添加说明文档内容;

(3)执行程序,对比两个函数显示效果。

def func():
    """输出一句话"""
    print("="*40)
    print("一山不容二虎,除非一公和一母!")
    print("="*40)

func()
print(help(func))

# 没有说明文档
# def show():
#     print("一山不容二虎.")
#
# show()
# print(help(show))

2. 函数的嵌套调用

2.1 嵌套调用及执行流程

函数的嵌套调用指的是:在一个函数中,调用了另一个函数。

嵌套调用语法:

def 函数1():
	代码
	...

def 函数2():
	代码
	# 调用函数1
	函数1()
	...

说明:在函数2中,调用了函数1。
实例:
例如,一起来完成:

(1)先定义一个test()函数和func()函数;

(2)接着,在函数test()中,嵌套调用func()函数,并在外部调用test()函数;

(3)执行程序,观察效果;

# 1.定义func()
def func():
    print("==========AA===============")
    print("==========Nfunc()============")
    print("==========BB===============")

# 2.定义test()、调用func()
def test():
    print("*************11****************")
    func()
    print("**********M调用了test方法**************")
    print("*************22****************")

# 3.调用test()
test()   # 1ANBM2

2.2 嵌套调用的应用

使用函数的嵌套调用,可以把复杂的问题分解成:多个简单问题,这样便于解决问题。
比如,要求多个数的平均值。此时就可以拆分成两个函数:

  • 函数A:用于求解多个数之和;
  • 函数B:调用函数A,获取多个数之和,接着,再使用和除以总个数,就能求解出平均值。
    实例:
    (1)要完成一个输出任意条横线的需求;

(2)定义函数1:用于输出一条横线;

(3)定义函数2:先循环N次,再调用函数1,可输出N条横线;

(4)执行程序,观察效果。

# 1.定义函数
def line():
    print("-"*40)

# 2.N条横线
def print_lines(num):
    i = 0
    while i < num:
        # 嵌套调用
        line()
        i += 1

print_lines(10)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值