函数-Python

师从黑马程序员

函数初体验

str1="asdf"
str2="qewrew"
str3="rtyuio"
def my_len(data):count=0for i in data:count+=1print(f"字符串{data}的长度是{count}")my_len(str1)
my_len(str2)
my_len(str3)

函数的定义

函数的调用

函数名(参数)

def say_hi():print("学Python来黑马")say_hi()
say_hi()

注:参数如不需要,可以省略

返回值如需要,可以省略

函数必须先定义后使用

案例:

def check_nuac():print("欢迎来到黑马程序员!")print("请出示您的健康码以及72小时核酸证明")check_nuac()

函数的参数

def add(x,y):result=x+yprint(f"{x}+{y}的计算结果是:{result}")add(7,8)

注:函数参数个数没有限制

def check(temperature):if temperature<37.5:print(f"体温测量中,您的体温是{temperature}度,体温正常请进")else:print(f"体温测量中,您的体温是{temperature}度,需要隔离")check(37.3)
check(39.3)

函数返回值

语法:

def add(a,b):result=a+breturn resultr=add(5,6)
print(f"r={r}")

注:return后的语句不会被执行

函数返回值之none

None类型的应用场景

#无return语句的函数返回值
def say_hi():print("你好呀")result=say_hi()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容是:{type(result)}")#主动返回None的函数
def say_hi2():print("你好呀")return None
result=say_hi2()
print(f"无返回值函数,返回的内容是:{result}")
print(f"无返回值函数,返回的内容是:{type(result)}")#None在if中的使用场景
def check_age(age):if age>18:return "SUCCESS"else:return None
result=check_age(16)
if not result:print("未成年,不可以进入")#None用于声明无初始化内容的变量
name=None

函数说明文档

辅助理解函数的作用

def add(x,y):"""add函数可以接收2个参数,进行两数相加的功能:param x: x表示其中的一个数字:param y: y表示另一个数字:return: 返回两数相加的结果"""result=x+yprint(f"2数相加的和为:{result}")return result

函数的嵌套调用

即一个函数里面又调用了另外一个函数

def func_b():print("---2---")
def func_a():print("---1---")func_b()print("---3---")func_a()

变量在函数中的作用域

局部变量

全局变量

num=200def test_a():print(f"test_a:{num}")def test_b():print(f"test_b:{num}")test_a()
test_b()
print(num)

global关键字

能够让局部变量,定义为全局变量

函数的综合案例

#定义全局变量money name
money=5000000
name=None
#要求客户输入姓名
name=input("请输入您的姓名")
#定义查询函数
def query(show_header):if show_header:print("--------------查询余额---------------")print(f"{name},您好,您的余额剩余:{money}元")
#定义存款函数
def saving(num):global  moneymoney+=numprint("--------------存款------------------")print(f"{name},您好,您存款{num}元成功")query(False)
#定义取款函数
def get_money(num):global moneymoney -= numprint("--------------存款------------------")print(f"{name},您好,您取款{num}元成功")query(False)
#定义主菜单函数
def main():print("--------------主菜单----------------")print(f"{name},您好,欢迎来到黑马银行ATM请选择操作")print("查询余额\t[输入1]")print("存款\t\t[输入2]")print("取款\t\t[输入3]")print("退出\t\t[输入4]")return input("请输入您的选择:")#设置无限循环,确保程序不退出
while True:KeyBoard_input=main()if KeyBoard_input=='1':query(True)continueelif KeyBoard_input=='2':num=int(input("请输入您想要存多少钱"))saving(num)continueelif KeyBoard_input=='3':num=int(input("您想要取多少钱?"))get_money(num)continueelse:print("程序退出")break

若有侵权,请联系作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/548721.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零延迟轻量级网站指纹防御

文章信息 论文题目&#xff1a;Zero-delay Lightweight Defenses against Website Fingerprinting 期刊&#xff08;会议&#xff09;&#xff1a; 29th USENIX Security Symposium 时间&#xff1a;2020 级别&#xff1a;CCF A 文章链接&#xff1a;https://www.usenix.org/s…

【数据结构与算法】:非递归实现快速排序、归并排序

&#x1f525;个人主页&#xff1a; Quitecoder &#x1f525;专栏&#xff1a;数据结构与算法 上篇文章我们详细讲解了递归版本的快速排序&#xff0c;本篇我们来探究非递归实现快速排序和归并排序 目录 1.非递归实现快速排序1.1 提取单趟排序1.2 用栈实现的具体思路1.3 代码…

数据结构:图的拓扑排序与关键路径

目录 一、拓扑排序 1.1、算法的基本步骤 1.2、算法实现 1.4、习题思考 1.5、DFS生成逆拓扑序 一、拓扑排序 AOV网:在 有向图中&#xff0c; 顶点表示活动&#xff08;或任务&#xff09;&#xff0c; 有向边表示活动&#xff08;或任务&#xff09;间的先后关系&#xff0…

电脑msvcp140_1.dll丢失的解决方法,总结5种可靠的方法

在日常使用电脑的过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“msvcp1401.dll丢失”。这个DLL文件是Microsoft Visual C Redistributable Package的一部分&#xff0c;对于许多基于Windows的应用程序来说至关重要。这个错误通常会导致某些应用程序无…

静态综合实验

一&#xff0c;1.搭建拓扑结构并启动。 2.根据题意得该图需要14个网段&#xff0c;根据192.168.1.0/24划分子网段&#xff0c;如下&#xff1a; 划分完如图所示&#xff1a; 二、配置IP地址 R1路由器&#xff1a; 1.进入系统视图并改名. 2.接口配置IP地址&#xff1a…

代码随想录算法训练营第二十七天(第二十六天休息)|40.组合总和II

40.组合总和II 题目 给定一个数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明&#xff1a; 所有数字&#xff08;包括目标数&#xff09;都是正整数。解集…

【Unity】CatlikeCoding SRP

Unity 自定义渲染管线 提示&#xff1a;基于CatlikeCoding SRP系列教程学习 学习链接&#xff1a;SRP 个人测试: Demo 相关记录以后有时间再更&#xff1a;

vivado 物理优化、物理端口设计

物理优化消息 提示&#xff1a;物理优化报告为优化处理的每个网络&#xff0c;以及优化摘要执行&#xff08;如有&#xff09;。如下图所示&#xff0c;在物理优化结束时提供了一个摘要显示了每个优化阶段的统计数据及其对设计性能的影响。这突出显示了对改进WNS最有效的优化类…

解决nginx报错nginx: [emerg] unknown log format main in 的方法

目录 一、故障描述1&#xff1a; 重启nginx是出现了如下错误 解决办法 二、故障描述2&#xff1a; 解决办法&#xff1a; 三、nginx介绍​ 四、nginx原理 五、nginx.conf配置文件 六、nginx负载均衡 七、正向代理、反向代理 一、故障描述1&#xff1a; 在添加Nginx的…

JS的一些方便遍历数组的API函数

这些函数有的时候在学到后面的内容会遇到&#xff0c;看一些前端的视频的时候突然出现这些函数看到有点懵&#xff0c;现在就整合一下&#xff0c;然后以后看到这些函数就知道是干什么的了 1、箭头函数 没学完js的必须得先了解箭头函数 //它两一样 function fn(){console.lo…

LeetCode刷题记录:(11)组合(初识回溯算法)

leetcode传送通道 暂时记录&#xff0c;这篇没啥营养&#xff0c;不用看了 class Solution {List<List<Integer>> result new ArrayList<>(); // 存所有组合List<Integer> path new LinkedList<>(); //存每一个组合public List<List<Int…

springboot 动漫周边商城的设计与实现

摘 要 二十一世纪我们的社会进入了信息时代&#xff0c;信息管理系统的建立&#xff0c;大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多&#xff0c;而在线管理系统刚好能满足这些需求&#xff0c;在线管理系统突破了传统管理方式的局限性。于是本文针对这一…