目标:
1、函数的基本使用
2、函数的参数
3、函数的返回值
4、函数的嵌套调用
5、在模块中定义函数
一、函数的基本使用
1、定义
函数就是把 具有独立功能的代码块 组织为一个小模块,在需要的时候 调用。
定义格式:
2、使用步骤
①定义函数——封装 独立的功能
②调用函数——享受 封装 的成果
通过 函数名() 调用函数
只能先定义函数再调用函数
3、函数作用
在开发程序时,使用函数可以提高编写的效率以及代码的 重用
4、PyCharm的调试工具
· F8 step over 可以单步执行代码,会把函数调用看做是一行代码直接执行。
· F7 step into 可以单部执行代码,如果是函数,会进入函数内部。
5、函数的文档注释
· 函数注释在 定义函数 的下方,使用连续三对引号。
· 在 连续三对引号 之间编写对函数的说明文字。
· 在 函数调用 位置,使用快捷键 ctrl+q (或view->documentation)可以查看函数的说明信息。
注意:因为 函数体相对比较独立,函数定义的上方,应该和其他代码(包括注释)保留两个空行。
二、函数的参数
1函数参数的使用
· 在函数名的后面的小括号内部填写 参数。
· 多个参数之间使用“,”分隔。
2、参数的作用
· 函数,把 具有独立功能的代码块 组织为一个小模块,在需要的时候 调用。
· 函数的参数,增加函数的 通用性,针对 相同的数据处理逻辑,能够 适应更多的数据
①在函数内部,把参数当做 变量 使用,进行需要的数据处理
②函数调用时,按照函数定义的参数顺序,把 希望在函数内部处理的数据,通过参数 传递。
3、形参和实参
· 形参:定义 函数时,小括号中的参数,是用来接收参数用的,在函数内部作为参数使用。
· 实参:调用 函数时,小括号中的参数,是用来把数据传递到 函数内部 用的。
三、函数的返回值
· 返回值 是函数 完成工作后,最后给调用者的一个结果
· 在函数使用中使用 return 关键字可以返回结果
· 调用函数一方,可以 使用变量 来 接收 函数的返回结果
注意:return表示返回,后续的代码都不会被执行。
def sum_2_num(num1, num2):
"""对两个数字的求和"""
result = num1 + num2
# 可以使用返回值,告诉调用函数一方计算的结果
return result
# 可以使用变量,来接收函数的返回值
sum_result = sum_2_num(10, 20)
print("计算结果为:%d" %sum_result)
四、函数的嵌套调用
def test1():
print("*" * 50)
def test2():
print("-" * 50)
test1()
test2()
演练——打印分隔线
体会工作中 需求是多变的
需求1:
定义一个print_line函数,能够打印*组成的一条分割线
def print_line():
print("*" * 50)
print_line()
需求2:
定义一个函数能够打印 由任意字符组成 的分割线
def print_line(char):
print(char * 50)
print_line("-")
需求3:
定义一个函数能够打印 任意重复次数 的分割线
def print_line(char, times):
print(char * times)
print_line("-", 10)
需求4:
定义一个函数能够打印 5行 的分隔线,分隔线要求符合需求3
提示:在工作张总针对需求的 变化,应该冷静思考,不要轻易修改之前已经完成的、能够正常执行的函数!
def print_line(char, times):
print(char * times)
def print_lines(char, times):
row = 0
while row < 5:
print_line(char, times)
row += 1
print_lines("*", 40)
tips:给函数添加文档注释
在调用函数上点击ctrl+q即可查看注释信息。
五、在模块中定义函数
1、模块
· 模块 就好比是 工具包,要想使用这个工具包中的工具,就需要 导入import 这个模块。
· 每一个以扩展名“.py”结尾的python源代码文件都是一个 模块。
· 在模块中定义的 全局变量、函数 都是模块能够提供给外界直接使用的工具。
2、使用模块
· 可以在一个python文件中 定义变量 或者 函数。
· 然后在 另外一个文件中 使用 import 导入这个模块
· 导入之后,就可以使用“模块名.变量”/“模块名.函数”的方式,使用这个模块中定义的变量或者函数。
模块可以让曾经编写的代码方便的被 复用。
3、模块名也是一个标识符
· 标识符可以由 字母、数字、下划线 组成
· 不能以 数字 开头
· 不能与 关键字 重名