day03 重新学python——python函数

news2024/11/17 9:54:45

文章目录

    • 一、python函数
      • 1.函数介绍
      • 2.函数的定义
      • 3.函数的参数
      • 4.函数的返回值
      • 5.函数的说明文档
      • 6.函数的嵌套调用
      • 7.变量的作用域
      • 8.综合案例

一、python函数

1.函数介绍

函数:即组织好的、课重复利用,用来实现特殊功能的代码段,这样可以提高代码的复用性、减少重复代码、提高开发效率。
如此前了解到的python内置函数:print()、int()、str()等等。

2.函数的定义

"""
函数必须是先定义再使用
函数的语法如下所示(其中传入参数和返回值是非必须的):
def 函数名(传入参数):
    函数体
    return 返回值
函数的调用如下:
函数名(实参)
"""
def demo (ceShi):
    print(f"这是一个{ceShi}案例")

demo("测试")

在这里插入图片描述

3.函数的参数

接收外部传过来的数据

# 计算两个数之和
def add(x,y):
    print(f"{x}+{y}的结果为{x+y}")

# 调用
add(3,4)

4.函数的返回值

即函数调用结束后,返回给调用者的结果

# 计算两个数之和
def add(x,y):
    result = x+y
    return result

# 调用
a = add(3,4)
print(a)

注意:其中没有返回值时,函数默认是返回None,它是一个特殊的字面量,用于表示空、无意义,而在if判断语句中None表示False。

5.函数的说明文档

通过注释对函数进行解释说明,注意此时注释应该写在函数体里面。

# 计算两个数之和
def add(x,y):
    """
    :param x:表示需要进行求和的第一个参数
    :param y:表示需要进行求和的第二个参数
    :return:返回求和的两个数结果
    """
    result = x+y
    return result

# 调用
a=add(3,5)
print(a)

在这里插入图片描述
鼠标悬停会看到有注释结果

6.函数的嵌套调用

就是在一个函数里面调用了另一个函数

def fun1():
    print("事件1")

def fun2():
    print("事件2")
    fun1()
    print("结束")
fun2()

在这里插入图片描述

7.变量的作用域

局部变量:即作用域在函数体内部的变量,其只能在函数体中生效。
全局变量:在函数体内外都能生效的变量。
global关键字可以在函数内部声明变量是全局变量

num = 100
def fun1():
    print(num)

def fun2():
    global num
    num = 200
    print(num)
fun1()
fun2()
print(num)

在这里插入图片描述

8.综合案例

在这里插入图片描述

money = 5000000  # 记录银行卡余额
name = input("请输入客户姓名:")
# 查询余额函数
def checkYuer():
    print(money)
# 存款函数
def cunKuan():
    cun = int(input("请输入你需要存款的余额:"))
    global money
    money+=cun
    print(f"当前的余额为{money}")
# 取款函数
def quKuan():
    qu = int(input("请输入你需要取款的余额:"))
    global money
    money-=qu
    print(f"当前的余额为{money}")
# 主菜单函数
def main():
    print("-------------主菜单------------")
    print(f"{name},您好,欢迎来到黑马银行ATM。请选择操作:")
    print("查询余额\t[输入1]")
    print("存款\t\t[输入2]")
    print("取款\t\t[输入3]")    # 通过\t制表符对齐输出
    print("退出\t\t[输入4]")
    return input("请输入您的选择:")
while True:
    # 接收输入的值
    key_input = main()
    if key_input == "1":
        checkYuer()
        continue
    elif key_input == "2":
        cunKuan()
        continue
    elif key_input == "3":
        quKuan()
        continue
    else:
        print("退出程序")
        break

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

生产者消费者

前言 生产者消费者模式属于一种经典的多线程协作的模式,弄清生产者消费者问题能够让我们对于多线程编程有更深刻的理解,下面,为大家分享一个生产者消费者的案例。 一、案例描述 这里以快递为例,假设有一个快递柜,用来…

蚂蚁链发布零知识证明技术架构 可满足数据“隐私保护”、“可验证”双要求

7 月 8 日,在 2023WAIC 全球区块链产业高峰论坛上,蚂蚁链宣布隐私协作平台 AntChain FAIR 进行全新架构升级,引入零知识证明(ZKP)为核心的可验证计算技术,从可信数据流转拓展到计算过程、数据属性以及身份的…

Vmware环境下的CentOS安装

CentOS7 下载安装 因为 centos 是安装在 VMware 上面的,所以需要提前安装 VMware centos 下载 网址:http://isoredirect.centos.org/centos/7/isos/x86_64/ 镜像源:http://centos.mirror.rafal.ca/7.9.2009/isos/x86_64/ 安装 centos 创建…

哪些软件分析工具需要使用到pdb符号文件?

目录 1、什么是pdb文件?pdb文件有哪些用途? 2、pdb文件的时间戳与pdb文件名称 3、常用软件分析工具有哪些? 4、使用Windbg调试器查看函数调用堆栈时需要加载pdb文件 4.1、给Windbg设置pdb文件路径 4.2、为什么要设置系统库pdb文件下载服…

深度剖析线上应用节点流量隔离技术

作者:谢文欣(风敬) 为什么要做流量隔离 源于一个 EDAS 客户遇到的棘手情况:他们线上的一个 Pod CPU 指标异常,为了进一步诊断问题,客户希望在不重建此 Pod 的情况下保留现场,但诊断期间流量还…

Element-UI 实现动态增加多个输入框并校验

文章目录 前言实现通过按钮动态增加表单并验证必填实现动态多个输入框为行内模式,其它为行外模式 前言 在做复杂的动态表单,实现业务动态变动,比如有一条需要动态添加的el-form-item中包含了多个输入框,并实现表单验证&#xff0…

非线性激活函数

目录 理论介绍 常见的激活函数 A. sigmoid函数 B. tanh C.ReLu Leaky Relu 函数 Parametric ReLU (PReLU) Exponential Linear Unit (ELU) 实验结果及分析 理论介绍 在神经网络的计算中,无非就是矩阵相乘,输入的是线性,不论输出层有…

如何修复ssh漏洞进行版本升级

目录 一、ssh低版本漏洞信息 OpenSSH GSSAPI 处理远端代码执行漏洞 OpenSSH GSSAPI认证终止信息泄露漏洞 OpenSSH X连接会话劫持漏洞 二、升级ssh版本进行修复漏洞 第一步 安装Telnet服务 第二步 重启服务 第三步 安装依赖环境 第四步 备份ssh老版本文件 第五步 导入…

【JavaEE进阶】Spring 创建与使用

Spring 创建与使用 1,Spring项目的创建 使用Maven方式来创建一个Spring项目,创建Spring项目和Servlet类似,总共分为以下3步: 创建一个普通Maven项目添加 Spring 框架⽀持(spring-context、spring-beans)添…

UE特效案例 —— 魔法翅膀

一,环境配置 创建默认地形Landscape,如给地形上材质需确定比例;添加环境主光源DirectionalLight,设置相应的强度和颜色;PostProcessVolume设置曝光,设置Min/Max Brightness为1; 与关闭Game Sett…

【二分查找】35. 搜索插入位置

35. 搜索插入位置 解题思路 使用二分查找算法当找到元素之后直接返回位置即可当没找到元素&#xff0c;将该元素插入到left位置即可 class Solution {public int searchInsert(int[] nums, int target) {// 二分查找int left 0;int right nums.length - 1;while(left < …

数组扁平化flat方法的多种实现

flat() let arr [[1],[2, 3],[4, 5, 6, [7, 8, [9, 10, [11]]]],12 ];// 参数指要提取嵌套数组的结构深度&#xff0c;默认值为 1。 // Infinity 指递归嵌套的所有层级。 let flattedArr arr.flat(Infinity); console.log(flattedArr);执行效果&#xff1a; toString() 注意…

FreeRTOS ~(六)信号量 ~ (2/3)信号量解决互斥缺陷

前情提要 FreeRTOS ~&#xff08;四&#xff09;同步互斥与通信 ~ &#xff08;2/3&#xff09;互斥的缺陷 FreeRTOS ~&#xff08;五&#xff09;队列的常规使用 ~ &#xff08;2/5&#xff09;队列解决互斥缺陷 举例子说明&#xff1a;利用信号量解决前述的"互斥的缺陷&…

SQL Server数据库 -- 表的高级查询

文章目录 一、子查询 嵌套子查询相关子查询二、查询运算 并运算union交运算intersect差运算except三、函数的使用 if语句while语句case语句四、总结 前言 高级子查询是对查询更灵活的运用&#xff0c;学会了高级查询将对数据库使用有很大的帮助。 一、子查询 1、子查询简介 在…

MATLAB画等深度构造图

clc;clear;close all; data xlsread(J_UNCONFORMITY等深度.xlsx); x data(:,1) xmax max(x); xmin min(x); y data(:,2) ymax max(y); ymin min(y); z data(:,3); N 45…

天天刷题-->LeetCode(两数相加)

个人名片&#xff1a; &#x1f405;作者简介&#xff1a;一名大二在校生&#xff0c;热爱生活&#xff0c;爱好敲码&#xff01; \ &#x1f485;个人主页 &#x1f947;&#xff1a;holy-wangle ➡系列内容&#xff1a; &#x1f5bc;️ tkinter前端窗口界面创建与优化 &…

MachineLearningWu_7+8_LogisticRegression/Classification

x.1 logistic regression 对于诸如分辨细胞是恶性肿瘤细胞与否的类似分类问题&#xff0c;我们使用Linear Regression的模型并不合适&#xff0c;所以引入Logistic Regression的模型&#xff0c;并绘制decision boundary&#xff0c;如下&#xff0c; Classification的最后一层…

mysql多表查询内连接,左外连接,排序,having

多表连接查询 use mydb3; -- 创建部门表 create table if not exists dept3(deptno varchar(20) primary key , -- 部门号name varchar(20) -- 部门名字 );– 创建员工表 create table if not exists emp3(eid varchar(20) primary key , -- 员工编号ename varchar(20), -- 员…

python接口自动化(二十二)--unittest执行顺序隐藏的坑(详解)

简介 大多数的初学者在使用 unittest 框架时候&#xff0c;不清楚用例的执行顺序到底是怎样的。对测试类里面的类和方法分不清楚&#xff0c;不知道什么时候执行&#xff0c;什么时候不执行。虽然或许通过代码实现了&#xff0c;也是稀里糊涂的一知半解&#xff0c;这样还好&am…