项目网站基础设施建设,wordpress ddos攻击,建设网站 深圳,广州建设技术职业学院官网文章目录 函数什么是函数为什么学习函数函数定义函数的传入参数函数的返回值返回值基础None返回值 函数说明文档函数的嵌套调用定义代码示例 全局变量和局部变量全局变量global变量局部变量 函数综合案例 函数
什么是函数
组织好的#xff0c;可重复使用的、用来实现特定功能… 文章目录 函数什么是函数为什么学习函数函数定义函数的传入参数函数的返回值返回值基础None返回值 函数说明文档函数的嵌套调用定义代码示例 全局变量和局部变量全局变量global变量局部变量 函数综合案例 函数
什么是函数
组织好的可重复使用的、用来实现特定功能的代码段
为什么学习函数 为了得到一个针对特定需求可供重复利用的代码段 提高程序利用性减少重复代码提高开发效率
函数定义
函数定义语法
def 函数名(传入参数):函数体return 返回值函数调用语法
函数名(参数列表)注意事项 参数不需要可以省略 返回值不需要可以省略 函数必须先定义后使用
函数的传入参数 功能描述在函数进行计算时接收外部提供的数据 代码示例
def add(a, b):return a bprint(add(1, 1))注意 多个参数之前使用逗号隔开 调用传入参数时按照顺序传入使用逗号分隔 在定义函数时的参数称为形参在调用时传入的参数称为实参
函数的返回值
返回值基础 定义函数在执行完成后返回给调用方的结果 使用关键字return来返回结果 函数体遇到return之后就结束return之后的逻辑不会在执行
None返回值 如果函数没有使用return语句返回数据此时python中默认返回了None值 None是python中一个特殊的字面量其类型是 代码示例
def sayHi():print(hi)result sayHi()
print(result)
print(type(result))应用场景 用在函数无返回值的场景 用在if判断上 None等同于False 一般在函数中主动返回None配合if判断做相关处理 def checkAge(age):if age 18:return okelse:return Noneret checkAge(16)
if not ret:print(未满18)用于声明无内容的变量上 定义变量但暂时不需要变量有具体的值可以用None来代替 nameNone函数说明文档 通过多行注释的方式对函数进行解释说明内容应写在函数体之前 语法
def func(x, y):函数说明:param x: 形参x的说明:param y: 形参y的说明:return: 返回值说明函数体return 返回值函数的嵌套调用
定义
嵌套调用一个函数里面又调用了另一个函数
代码示例
def func_b():print(-------2-------)def func_a():print(-------1-------)func_b()print(-------3-------)func_a()调用流程 先执行调用func_a 在func_a中在调用func_b 执行完func_b的所有逻辑在返回func_a中调用func_b的位置 继续执行完剩余的func_a函数逻辑
全局变量和局部变量
作用域变量的作用范围在哪里可见在哪里不可见
全局变量 在函数体内体外都能生效的变量 代码示例
def func_b():num 20print(f函数体内访问num {num})func_b()
print(f函数体外访问num {num})运行结果 global变量 引入可以看到上面的全局变量中将num改为20在函数内生效了但是出了函数后num的值又变成了10 global关键字可以在函数体内部声明局部变量为全局变量 代码示例
num1 10def func_c():global num1num1 20print(f函数体内访问num1 {num1})func_c()
print(f函数体外访问num1 {num1})运行结果 局部变量 定义在函数体内部的变量只在函数体内生效 作用在函数体内部临时保存数据当函数调用完后则销毁局部变量 代码示例
def func_a():a 10print(f函数体内a{a})func_a()
# NameError: name a is not defined
# print(函数体外{}, a)函数综合案例
需求描述 代码示例
# *_*coding:utf-8 *_*money 1000
name Nonename input(请输入姓名)def show_menu():print(-------主菜单--------)print(f{name}您好欢迎登录ATM机)print(查询余额 [输入1])print(存款 [输入2])print(取款 [输入3])print(退出 [输入4])def get_balance():print(------查询余额--------)print(f{name}您的余额还有{money}元)def save_money(num):global moneymoney numprint(------存款--------)print(f存款{num}元成功)print(f{name}您的余额还有{money}元)def load_monry(num):global moneymoney - numprint(------取款--------)print(f取款{num}元成功)print(f{name}您的余额还有{money}元)def main():while (True):show_menu()choice int(input(请输入你的操作选项))if choice 1:get_balance()elif choice 2:num int(input(请输入你要存的钱))save_money(num)elif choice 3:num int(input(请输入你要取的钱))load_monry(num)elif choice 4:print(即将退出...)returnmain()