当前位置: 首页 > news >正文

Python---函数

函数定义:

"""
def 函数名(传入参数):函数体return 返回值
"""

函数调用:

"""
函数名(传入参数)
"""

例子:

# 不带参
def check():print("欢迎光临\n请进")
check()#带参
def he(m, n):   # 形参result = m + nprint(f"{m}+{n}={result}")
he(109, 2)      # 实参

函数返回值:

"""
def 函数名(传入参数):函数体return 返回值
变量 = 函数(参数)
"""

例子:

def add(a, b):result = a + breturn resultprint("1")  # return后面的语句不能执行r = add(3, 1)
print(r)
如果函数没有使用return语句返回数据,那么函数有返回值吗?
实际上是:有的。
Python中有一个特殊的字面量: None,其类型是:<lass NoneType'>无返回值的函数,实际上就是返回了: None这个字面量

 例如:

def say_hi():print("你好")
result = say_hi()
print(result)             # None
print(f"{type(result)}")  # <class 'NoneType'>

None的使用场景:

"""
None类型的应用场景
None作为一个特殊的字面量,用于表示:空、无意义,其有非常多的应用场景。1.用在函数无返回值上2.用在if判断上在if判断中,None等同于False一般用于在函数中主动返回None,配合if判断做相关处理3.用于声明无内容的变量上定义变量,但暂时不需要变量有具体值,可以用None来代替#暂不赋予变量具体值name = None
"""
# 用在函数无返回值上
def say_hi2():print("你好")return None
result2 = say_hi2()
print(result2)             # None
print(f"{type(result2)}")  # <class 'NoneType'># None用于if判断
def check_age(age):if age > 18:return "SUCCESS"else:return Noneresult3 = check_age(16)
if  not result3:print("未成年")# None用于声明无初始内容的变量
name = None

函数作用域:局部变量与全局变量

函数作用域:

num1 = 100   # 全局变量
def a():num2 = 200   # 局部变量print(num1)  # 函数内能使用 全局 变量print(num2)  # 函数内能使用 局部 变量
a()
print(num1)   # 函数外 可以 使用 全局 变量
# print(num2   # 函数外 不能 使用 局部 变量
在函数内修改全局变量----局部与全局互不影响
num = 100  # 全局变量
def a1():num = 200  # 局部变量,不会影响全局变量print(num)
a1()
print(num)   # 100
若要在函数内声明变量为全局变量  ---使用global
num = 100
def a2():global numnum = 200print(num)
a2()
print(num)

总结小案例:

name = input("请输入你的姓名")
money = 10000000
# 查询
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(num1):global moneymoney -= num1print("------取款-------")print(f"{name},您取款{num1}元成功")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)continue   # 通过continue继续下一次循环elif keyboard_input == "2":num = int(input("请输入存的金额:"))   # 默认字符串saving(num)continueelif keyboard_input == "3":num = int(input("请输入取款金额:"))get_money(num)continueelse:print("退出")break

相关文章:

Python---函数

函数定义&#xff1a; """ def 函数名(传入参数):函数体return 返回值 """ 函数调用&#xff1a; """ 函数名(传入参数) """ 例子&#xff1a; # 不带参 def check():print("欢迎光临\n请进") che…...

Myvatis关联关系映射与表对象之间的关系

目录 一、关联关系映射 1.1 一对一 1.2 一对多 1.3 多对多 二、处理关联关系的方式 2.1 嵌套查询 2.2 嵌套结果 三、一对一关联映射 3.1 建表 ​编辑 3.2 配置文件 3.3 代码生成 3.4 编写测试 四、一对多关联映射 五、多对多关联映射 六、小结 一、关联关系映射 …...

算法通关村第十四关:黄金挑战-数据流的中位数

黄金挑战-数据流的中位数 1.数据流中中位数的问题 LeetCode295 https://leetcode.cn/problems/find-median-from-data-stream/ 思路分析 中位数的问题&#xff0c;我们一般都可以用 大顶堆小顶堆 来求解 小顶堆&#xff08;minHeap&#xff09;&#xff1a;存储所有元素中…...

【2023集创赛】国家集创中心杯三等奖:不对称轻失配运算放大器

本文为2023年第七届全国大学生集成电路创新创业大赛&#xff08;“集创赛”&#xff09;国家集创中心杯三等奖作品分享&#xff0c;参加极术社区的【有奖征集】分享你的2023集创赛作品&#xff0c;秀出作品风采&#xff0c;分享2023集创赛作品扩大影响力&#xff0c;更有丰富电…...

手写Mybatis:第18章-一级缓存

文章目录 一、目标&#xff1a;一级缓存二、设计&#xff1a;一级缓存三、实现&#xff1a;一级缓存3.1 工程结构3.2 一级缓存类图3.3 一级缓存实现3.3.1 定义缓存接口3.3.2 实现缓存接口3.3.3 创建缓存KEY3.3.4 NULL值缓存key 3.4 定义缓存机制、占位符和修改配置文件3.4.1 定…...

哈夫曼编码实现文件的压缩和解压

程序示例精选 哈夫曼编码实现文件的压缩和解压 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《哈夫曼编码实现文件的压缩和解压》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0…...

解决六大痛点促进企业更好使用生成式AI,亚马逊云科技顾凡采访分享可用方案

亚马逊云科技大中华区战略业务发展部总经理顾凡在接受21世纪经济报道记者专访时表示&#xff0c;生成式人工智能将从四个方面为企业带来机遇&#xff1a;第一是创造全新的客户体验&#xff1b;第二是提高企业内部员工的生产力&#xff1b;第三是帮助企业提升业务运营效率&#…...

Qt 定时器放在线程中执行,支持随时开始和停止定时器。

前言&#xff1a;因为项目需要定时检查网络中设备是否能连通&#xff0c;需要定时去做ping操作&#xff0c;若是网络不通&#xff0c;则ping花费时间比较久&#xff08;局域网大概4秒钟才能结束&#xff0c;当然如果设置超时时间啥的&#xff0c;也能很快返回&#xff0c;就是会…...

java 过滤器 接口(API)验证入参,验签(sign) Demo

java 过滤器 接口&#xff08;API&#xff09;验证入参&#xff0c;验签&#xff08;sign&#xff09; Demo 一、思路 1、配置yml文件; 2、创建加载配置文件类; 3、继承 OncePerRequestFilter 重写方法 doFilterInternal; 4、注册自定义过滤器; 二、步骤 1、配置yml文件; ###系…...

独家!微信正在灰测一款全新消金产品

来源 | 镭射财经&#xff08;leishecaijing&#xff09; 「镭射财经」独家获悉&#xff0c;微信将推出一款名为“微信分期”的新消费信贷产品&#xff0c;目前该产品正处于小范围灰测阶段&#xff0c;还未正式上线。上线后&#xff0c;微信将运营微信分付和微信分期两款自营消…...

阿秀C++笔记-学习记录

81.C中的组合和继承相比的优缺点 在C中组合一对象系用描述对象包对象系组一个拥对象例其变合类的含的现。这的量类当有员被创建。 以下一个示例&#xff0c;展示了在C中如何实现组合关系&#xff1a; class Engine {// Engine class definition... };class Car {Engine engi…...

前端入门到入土?

文章目录 前言http和https的区别&#xff0c;https加密的原理是&#xff1f;区别https的加密原理 TCP为什么要三次握手&#xff1f;proxy代理的原理&#xff1f;内存泄漏&#xff1f;什么是内存泄漏&#xff1f;为什么会有内存泄漏&#xff1f;内存泄漏的情况&#xff1f;如何防…...

架构设计基础设施保障IaaS之网络

目录 1 DNS运用1.1 DNS功能作用1.2 DNS配置实践 2 DNS生产最佳实践方案2.1 全球加速功能2.2 不同运营商的加速方案2.3 全球业务高可用方案2.4 跨地域负载均衡 3 DNS域名劫持解决方案4 CDN剖析4.1 CDN原理4.2 缓存过期配置处理流程4.3 缓存配置规则 5 CDN运用6 CDN最佳实践方案6…...

zabbix安装部署

前期准备&#xff1a;安装mysql数据库和nginx 一、下载zabbix rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm yum-config-manager --enable rhel-7-server-optional-rpms yum install epel-release numactl yum install…...

零碎的C++

构造函数和析构函数 构造函数不能是虚函数&#xff0c;而析构函数可以是虚函数。原因如下&#xff1a; 构造函数不能是虚函数&#xff0c;因为在执行构造函数时&#xff0c;对象还没有完全创建&#xff0c;还没有分配内存空间&#xff0c;也没有初始化虚函数表指针。如果构造…...

模糊测试面面观 | 模糊测试是如何发现异常情况的?

协议模糊测试是一种用于评估通信协议、文件格式和API实现系统安全性和稳定性的关键技术。在模糊测试过程中&#xff0c;监视器扮演着关键角色&#xff0c;它们能够捕获异常情况、错误响应、资源利用等&#xff0c;为测试人员提供有价值的信息&#xff0c;有助于发现潜在漏洞和问…...

C#备份数据库文件

c#备份数据库文件完整代码 sqlServer 存储过程&#xff1a; USE [PSIDBase] GO /****** Object: StoredProcedure [dbo].[sp_BackupDB] Script Date: 2023/8/31 16:49:02 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GOALTER procedure [dbo].[sp_BackupDB]…...

行军遇到各种复杂地形怎么处理?

行军遇到各种复杂地形怎么处理&#xff1f; 【安志强趣讲《孙子兵法》第30讲】 【原文】 凡军好高而恶下&#xff0c;贵阳而贱阴&#xff0c;养生而处实&#xff0c;军无百疾&#xff0c;是谓必胜。 【注释】 阳&#xff0c;太阳能照到的地方。阴&#xff0c;太阳照不到的地方。…...

Python Number(数字).............................................

Python Number 数据类型用于存储数值。 数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值&#xff0c;将重新分配内存空间。 以下实例在变量赋值时 Number 对象将被创建&#xff1a; var1 1 var2 10您也可以使用del语句删除一些 Number 对象引用。 del语句…...

设置 Hue Server 与 Hue Web 界面之间的会话超时时间

设置 Hue Server 与 Hue Web 界面之间的会话超时时间 在 CDH 的 Hue 中&#xff0c;Auto Logout Timeout 参数表示用户在不活动一段时间后将自动注销&#xff08;登出&#xff09;的超时时间。当用户在 Hue 中处于不活动状态超过该设定时间时&#xff0c;系统将自动注销用户&am…...

Claude code配置全流程(附带接入模型)

1.安装nodejs (Claudecode 本身是用TypeScript/JavaScript开发的命令行工具&#xff0c;需要通过Node.js运行时来执行&#xff0c;并且node.js天然集成npm,claudecode是作为npm包发布的)&#xff1a; 1.1网址&#xff1a;https://node.org.cn/ 进入后下载自己需要的系统类型就可…...

当你的BERT模型被‘下毒’了怎么办?聊聊NLP后门攻击的实战检测与防御(附ONION、T-Miner工具实操)

当BERT模型遭遇后门攻击&#xff1a;一线工程师的检测与防御实战指南 在部署基于BERT的文本分类服务时&#xff0c;许多团队会忽略一个潜在威胁——模型可能已在训练阶段被植入后门。这类攻击极其隐蔽&#xff1a;模型对正常输入表现完美&#xff0c;但当遇到特定触发词&#x…...

Mi-Create:零基础打造小米手表个性表盘的终极可视化神器

Mi-Create&#xff1a;零基础打造小米手表个性表盘的终极可视化神器 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 你是否厌倦了小米手表上那些千篇一律的官方…...

【JPCS出版、EI检索稳定】2026年航空航天工程与空天信息国际学术会议(ICAEAI 2026)

2026年航空航天工程与空天信息国际学术会议&#xff08;ICAEAI 2026&#xff09;将于2026年6月26-28日在哈尔滨召开。会议旨在为从事航空航天工程与空天信息领域研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术&#xff0c;加强学术研究和探讨&…...

Tina Linux嵌入式图形系统开发实战指南:从架构解析到性能优化

1. 项目概述&#xff1a;为什么我们需要一份图形系统开发指南&#xff1f;在嵌入式Linux的世界里&#xff0c;图形用户界面&#xff08;GUI&#xff09;的开发一直是个既迷人又充满挑战的领域。从智能家居的中控屏、工业HMI到车载信息娱乐系统&#xff0c;一个流畅、稳定且美观…...

嵌入式网络开发避坑:LwIP软件定时器溢出处理与链表排序的实战细节

嵌入式网络开发避坑&#xff1a;LwIP软件定时器溢出处理与链表排序的实战细节 在嵌入式网络开发中&#xff0c;LwIP协议栈因其轻量级和高度可裁剪性成为众多开发者的首选。然而&#xff0c;在实际应用中&#xff0c;软件定时器的溢出处理和链表排序逻辑往往是引发隐蔽问题的重灾…...

Perplexity到底值不值得替代搜索引擎?37小时实测+127次对比查询,答案出人意料

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity到底值不值得替代搜索引擎&#xff1f;37小时实测127次对比查询&#xff0c;答案出人意料 实测设计与数据采集方法 我们构建了覆盖技术文档、学术论文、实时新闻、API调试、开源项目溯源五大…...

合成孔径雷达干涉测量InSAR数据处理、地形三维重建、形变信息提取、监测等技术应用

合成孔径雷达干涉测量&#xff08;Interferometric Synthetic Aperture Radar, InSAR&#xff09;技术作为一种新兴的主动式微波遥感技术&#xff0c;凭借其可以穿过大气层&#xff0c;全天时、全天候获取监测目标的形变信息等特性&#xff0c;已在地表形变监测、DEM生成、滑坡…...

RT-Thread裁剪实战:从98KB到28KB的嵌入式系统瘦身指南

1. 项目概述&#xff1a;为什么我们需要裁剪RT-Thread&#xff1f;如果你是一名嵌入式软件工程师&#xff0c;或者正在学习RT-Thread&#xff0c;那么“裁剪”这个词对你来说一定不陌生。RT-Thread作为一款优秀的国产开源实时操作系统&#xff0c;其标准版&#xff08;或称完整…...

一线大厂AI开发笔记本清单(万元内)

人机协作&#xff0c;AI模型&#xff1a;Deepseek仅供参考一线大厂AI开发笔记本清单&#xff08;万元内&#xff09;机型CPUGPU&#xff08;显存&#xff09;内存SSD散热Linux兼容性风险等级性能星级参考价华硕 天选7 Pro 酷睿版Ultra 9 290HX Plus (24核)RTX 5070 (8GB)32GB1T…...