Python学习(6)(函数定义、调用、函数注释、形参与实参、函数返回值、函数嵌套)

Python学习(6)

  • 一、python的函数 概念
  • 二、python的 函数定义和调用
  • 三、Pycharm 的调试工具
  • 四、python 函数的文档注释
  • 五、python 函数的参数
    • 1. 参数的作用
    • 2. 形参和实参
  • 六、python 函数的返回值
  • 七、python 函数的嵌套使用

一、python的函数 概念

函数的概念:
函数,就是把 具体独立功能的代码块 组织为一个小模块,在需要的时候 调用

函数的使用包含 两个步骤:

  1. 定义函数 — 封装 独立的功能
  2. 调用函数 — 享受封装的成果

**函数的作用,**在开发程序时,使用函数可以提高编写的效率以及代码的 重用

示例:
1.新建一个乘法表的函数,multiple_table():
2.新建另一个文件,使用 import 导入并且调用函数

文件:test_函数.py

def multiple_table():
    # python 九九乘法表
    # 1.定义一个计数器
    row = 1
    # 2.循环
    while row <= 9:
        col = 1
        while col <= row:
            # print("%d" % col)
            print("%d * %d = %d" % (col, row, col * row), end="\t")
            col += 1

        # print("第 %d 行" % row)
        print("")  # 在一行输出完成之后,添加换行!
        row += 1

文件:test_函数1.py


import  text_函数

text_函数.multiple_table()

运行结果:
Python学习(6)(函数定义、调用、函数注释、形参与实参、函数返回值、函数嵌套)_第1张图片

二、python的 函数定义和调用

定义函数的格式如下:

def 函数名():
    函数封装的代码
    ......
  1. def 是英文 define 的缩写

  2. 函数名称 应该能够表达 函数封装代码的功能,方便后续的调用

  3. 函数名称 的命名应该 符合 标识符的命名规则

    • 可以由 字母、下划线、数字组成
    • 不能以数字开头
    • 不能与关键字重名

函数的调用:

调用函数很简单,通过 函数名()即可完成对函数的作用

必须先定义,再调用。
不能将函数调用放在函数定义的上方。否则,运行会提示错误(未定义,XXX is not defined)

三、Pycharm 的调试工具

调试模式下:
F8 step over

可以单步执行代码,会把函数调用看作是一行代码直接执行
F7 step into
可以单步执行代码,如果是函数,会进入函数内部

四、python 函数的文档注释

  • 在开发中,如果希望给函数添加注释,应该在定义函数的下方,使用连续的三对引号 ("""""")
  • 在连续的三对引号之间编写对函数的说明文字(""“XXX”"")
  • 在函数调用位置,使用快捷键 Ctrl + Q 可以查看函数的说明信息

注意:因为函数体相对比较独立,函数定义的上方,应该和其他代码(包括注释)保留两个空行

示例:

def say_hello():
    """打招呼"""
    print("hello 1")
    print("hello 2")
    print("hello 3")


say_hello()

使用快捷键 Ctrl + Q 可以查看say_hello()函数的说明信息
Python学习(6)(函数定义、调用、函数注释、形参与实参、函数返回值、函数嵌套)_第2张图片

五、python 函数的参数

  • 在函数名的后面小括号内部填写 参数
  • 多个参数之间使用 , 分隔

示例:

def sum_2_num(num1, num2):
    """对两个数字的求和"""

    result = num1 + num2

    print("%d + %d = %d" % (num1, num2, result))


sum_2_num(15, 24)

1. 参数的作用

  • 函数,把具有独立功能的代码块组织为一个小模块,在需要的时候调用
  • 函数的参数,增加函数的通用性,针对 相同的数据处理 逻辑,能够适应更多的数据

1.在函数内部,把参数当做变量使用,进行需要的数据处理
2.函数调用时,按照函数定义的参数顺序,把希望的函数内部处理的数据,通过参数传递

2. 形参和实参

形参:
定义 函数时,小括号中的参数,是用来接收参数用的,在函数内部 作为变量使用
实参:
调用 函数时, 小括号中的参数,是用来把数据传递到 函数内部用的

示例:

示例:

def sum_2_num(num1, num2):
    """对两个数字的求和"""

    result = num1 + num2

    print("%d + %d = %d" % (num1, num2, result))


sum_2_num(15, 24)

num1、num2 为形参
15、24为实参

六、python 函数的返回值

  • 在程序开发中,有时候会希望 一个函数执行结束后,告诉调用者一个结果,以便调用者针对具体的结果做后续的处理
  • 返回值 是函数完成工作后,最后给调用者的一个结果
  • 在函数中使用,return 关键字可以返回结果
  • 调用函数一方,可以使用变量来接收函数的返回结果

注意:return 表示返回,后续的代码都不会被执行

示例1:

def sum_2_num(num1, num2):
    """对两个数字的求和"""

    return num1 + num2


# 调用函数,并使用 result 变量接收计算结果
result = sum_2_num(15, 24)

print("计算结果是 %d" % result)

示例2:

def sum_2_num(num1, num2):
    """对两个数字的求和"""

    result = num1 + num2
    # 可以使用返回值,告诉调用函数一方计算的结果
    return result


# 调用函数,并使用 sum_result 变量接收计算结果
sum_result = sum_2_num(20, 35)


print("计算结果是 %d" % sum_result)

七、python 函数的嵌套使用

  • 一个函数里面 又调用了另外一个函数,这就是:函数嵌套调用
  • 如果函数 test2 中,调用了另外一个函数 test1
  • 那么执行到调用 test1 函数时,会先把函数test1 中的任务都执行完才会回到test2 中调用函数test1的位置,继续执行后续的代码

示例:

def test1():
    print("*" * 50)


def test2():
    print("-" * 50)
    # 函数的嵌套调用
    test1()
    print("+" * 50)


test2()

输出:

--------------------------------------------------
**************************************************
--------------------------------------------------

分隔符演练:
打印多行自定义字符

def print_line(char, times):
    """定义一个函数能过打印 任意重复次数 的字符"""
    print(char * times)


def print_lines(char, times, row_num):
    """打印多行分割线
    :param char: 分割线使用的分割字符
    :param times: 分割线重复的次数
    :param row_num: 打印行数
    """
    row = 0
    while row <= row_num:
        print_line(char, times)
        row += 1


print_lines("-", 50, 5)


上一篇: Python学习(5)(while循环语句、循环嵌套、break/continue、赋值运算符、转义字符等 )

下一篇: Python学习(7)(模块、pyc文件)

你可能感兴趣的:(pycharm,python,python,编程语言)