函数-Python

师从黑马程序员

函数初体验

str1="asdf"
str2="qewrew"
str3="rtyuio"
def my_len(data):
    count=0
    for i in data:
        count+=1
    print(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+y
    print(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+b
    return result

r=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+y
    print(f"2数相加的和为:{result}")
    return result

函数的嵌套调用

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

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

func_a()

变量在函数中的作用域

局部变量

全局变量

num=200

def 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  money
    money+=num
    print("--------------存款------------------")
    print(f"{name},您好,您存款{num}元成功")

    query(False)
#定义取款函数
def get_money(num):
    global money
    money -= num
    print("--------------存款------------------")
    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)
        continue
    elif KeyBoard_input=='2':
        num=int(input("请输入您想要存多少钱"))
        saving(num)
        continue
    elif KeyBoard_input=='3':
        num=int(input("您想要取多少钱?"))
        get_money(num)
        continue
    else:
        print("程序退出")
        break

若有侵权,请联系作者

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

爱恩斯坦棋小游戏使用C语言+ege/easyx实现

目录 1、游戏介绍和规则 2、需要用到的头文件 3、这里我也配上一个ege和easyx的下载链接吧&#xff0c;应该下一个就可以 4、运行结果部分展示 5、需要用到的图片要放在代码同一文件夹下 6、代码地址&#xff08;里面有需要用到的图片&#xff09; 1、游戏介绍和规则 规则如…

电学基础知识

目录 电流 前言 电流的产生 电流的单位安培&#xff08;A&#xff09; 电路和电池 开路和闭路 电灯泡原理 对电池容量的理解 毫安时 毫瓦时 直流电和交流电 AC交流电 DC直流电 直流电和交流电对比 电压 对电器的电压和电流的理解 电阻 电压电阻电子的关系 欧…

GateWay路由规则

Spring Cloud GateWay 帮我们内置了很多 Predicates功能&#xff0c;实现了各种路由匹配规 则&#xff08;通过 Header、请求参数等作为条件&#xff09;匹配到对应的路由 1 时间点后匹配 server:port: 8888 spring:application:name: gateway-servicecloud:nacos:discovery:…

超实用!免费软件站大盘点,总有一款适合你

相信用Mac电脑的同学都知道一个网站MacWK&#xff0c;可以白嫖几乎所有常用软件&#xff0c;不用付费&#xff0c;但不好的消息是在2022年10月宣布关站&#xff0c;小编从此走上了开源免费的道路&#xff0c;尽管不太好用&#xff0c;奈何口袋木有钱&#xff0c;经过小编的不断…

VS2022 配置QT5.9.9

QT安装 下载地址&#xff1a;https://download.qt.io/archive/qt/ 下载安装后进行配置 无法运行 rc.exe 下载VS2022 官网下载 配置 1.扩展-管理扩展-下载Qt Visual Studio Tools 安装 2.安装完成后&#xff0c;打开vs2022,点击扩展&#xff0c;会发现多出了QT VS Tools,点…

【学习学习】学习金字塔

学习金字塔&#xff08;Cone of Learning&#xff09;&#xff0c;全称学习吸收率金字塔&#xff0c;是一种现代学习方式的理论。网上流传它是美国缅因州的国家训练实验室&#xff08;National Training Laboratories&#xff09;研究成果&#xff0c;用数字形式形象显示了采用…

数据分析-Pandas序列时间移动窗口化操作

数据分析-Pandas序列时间移动窗口化操作 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表…

Elasticsearch:调整近似 kNN 搜索

在我之前的文章 “Elasticsearch&#xff1a;调整搜索速度”&#xff0c;我详细地描述了如何调整正常的 BM25 的搜索速度。在今天的文章里&#xff0c;我们来进一步探讨如何提高近似 kNN 的搜索速度。希望对广大的向量搜索开发者有一些启示。 Elasticsearch 支持近似 k 最近邻…

MateBook D 14 SE版(2022版)使用体验

试用了一下华为的笔记本电脑&#xff0c;我觉得是出乎意料的好用&#xff0c;配置不算高&#xff0c;但是特别流程&#xff0c;而且自带了正版的office等软件&#xff0c;生产力杠杠的&#xff0c;外观也很不错&#xff0c;设计语言很高级&#xff0c;价格不贵&#xff0c;但是…

17.获取帖子列表

文章目录 一、建立帖子表结构并插入一些测试数据二、通过SQL建立对应的数据模型三、建立路由四、开发GetPostListHandler五、编写logic六、编写dao层七、编译测试运行 一、建立帖子表结构并插入一些测试数据 create table post (id bigint auto_increment primary k…

浅谈如何自我实现一个消息队列服务器(2)——细节详解

文章目录 一、实现 broker server 服务器1.1 创建一个SpringBoot项目1.2 创建Java类 二、硬盘持久化存储 broker server 里的数据2.1 数据库存储2.1.1 浅谈SQLiteMyBatis 2.1.2 如何使用SQLite 2.2 文件存储 三、将broker server 里的数据存储在内存上四、使用DataBaseManager类…

机器视觉引导的多材料3D打印

3D打印机使用机器视觉来解决困扰3D喷墨打印机的问题&#xff0c;增加了可以使用的材料范围&#xff0c;并实现了机器人手等复杂物体的快速生产。 增材制造&#xff08;也称为 3D 打印&#xff09;的进步已经产生了越来越强大的能力&#xff0c;可以生产使用传统制造工艺无法制…

IT系统可观测性

什么是可观测性 可观测性&#xff08;Observability&#xff09;是指能够从系统的外部输出推断出系统内部状态的能力。在IT和云计算领域&#xff0c;它涉及使用软件工具和实践来收集、关联和分析分布式应用程序以及运行这些应用程序的硬件和网络产生的性能数据流。这样做可以更…

QT----基于QT的人脸考勤系统

目录 1 编译opencv库1.1 下载源代码1.2 qt编译opencv1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat 2 编译SeetaFace2代码2.1 遇到报错By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has2.2遇到报错Model missing 3 测试…

Git——GitHub远端协作详解

目录 Git&GitHub1、将内容Push到GitHub上1.1、在GitHub上创建新项目1.2、upstream1.3、如果不想要相同的分支名称 2、Pull下载更新2.1、Fetch指令2.2、Fetch原理2.3、Pull指令2.4、PullRebase 3、为什么有时候推不上去3.1、问题复现3.2、解决方案一&#xff1a;先拉再推3.3…

kerberos验证协议安装配置使用

一、kerberos是什么 Kerberos 是一个网络身份验证协议&#xff0c;用于在计算机网络中进行身份验证和授权。它提供了一种安全的方式&#xff0c;允许用户在不安全的网络上进行身份验证&#xff0c;并获取访问网络资源的权限。 二、安装配置kerberos服务端 1、安装kerberos #检…

行尾检测论文汇总

文章目录 2023GNSS-Free End-of-Row Detection and Headland Maneuvering for Orchard Navigation Using a Depth Camera 2023 GNSS-Free End-of-Row Detection and Headland Maneuvering for Orchard Navigation Using a Depth Camera 摘要&#xff1a; 果园中基于GPS的导航…

Vue3学习日记 Day1

一、简介 1、简介 Vue3是新的默认版本&#xff0c;拥有更快的速度&#xff0c;更好的语法 二、使用create-vue搭建Vue3项目 1、创建项目 1、介绍 create-vue是Vue官方新的脚手架工具&#xff0c;底层切换为了vite&#xff0c;为开发提供极速响应 2、使用 2.1、确定环境条件 2…

共谋企业出海新篇章纷享销客荣获数字中国企业峰会“卓越成果奖”

3月9日&#xff0c;2024数字中国企业峰会在杭州西湖中维香溢大酒店成功举办&#xff0c;众多数字化领域专家、知名企业 CIO 代表到场。峰会旨在推动数字化转型与创新发展&#xff0c;为企业出海和国际合作搭建交流与合作的平台。本次峰会的颁奖环节&#xff0c;纷享销客凭借其卓…

阿里云服务器centos安装msf教程

msf官方命令行一键安装 curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall 稍微等待几分钟即可安装成功&am…