Python函数详解(一)——函数的定义、调用及变量

2023-05-16

今天继续给大家介绍Python相关知识,本文主要内容是Python函数的定义、调用及变量

一、Python函数的定义与调用

在Python中,如果我们要反复的进行一种相同或者类似的代码,那么我们就可以将这段代码封装为一个函数。函数是一种功能的抽象,主要用于降低编程难度和代码复用。
在Python中,函数的定义使用如下格式:

def 【函数名】(【函数参数(可以为空)】):
	【函数体】
	return 【函数返回值(可以为空)】

函数在被定义后,Python解释器不会立即执行函数中的代码,直到函数被调用。在Python的函数中,指定的参数是一种占位符,可以理解为函数的输入。我们在调用函数时,要给函数的参数实际的值,函数在执行过程中,会将该实际的值替换函数中的参数。
函数的调用格式如下:

【函数名】(【函数参数(可以为空)】)

如果函数有返回值,也可以用参数来接受函数的返回值。

二、Python函数的变量

我们首先来看下面的代码:
在这里插入图片描述
从上面的代码可以看出,exchange()函数内部中的x、y变量的交换,并不能改变exchange()函数外面的x、y变量的值。这对应了Python中局部变量和全局变量的概念。
实际上,在Python中,局部变量时在函数内部使用的变量,与全局变量可能重名但是本质上是不同的变量。当函数执行结束后,局部变量被释放。但是,我们可以使用global关键字在函数中使用全局变量,我们可以将上述程序修改为如下的例子:
在这里插入图片描述
从上图中可以看出,在使用global关键字后,函数可以对全局变量x和y进行修改了。
此外,Python对于函数的局部和全局变量还有一条特殊的规定,即如果在函数中一个组合数据类型的变量没有被真实创建,那么将该变量当作全局变量来处理。
比如以下代码:
在这里插入图片描述
从上图中可以看出,在函数内部的ls变量没有被真实创建,因此该变量被Python当作了全局变量来处理。
此外,如以下例子:
在这里插入图片描述
由于在函数中增添了

ls=[]

也就意味着ls变量在函数中被创建了,因此也就是局部变量。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python函数详解(一)——函数的定义、调用及变量 的相关文章

  • VINS fusion软件架构分析(5)--- 坐标系转换

    对于VINS代码的解读 xff0c 其中一个重要的知识储备就是理解坐标系间的转换 xff0c 这对于后面代码阅读非常重要 xff0c 因此本章重点解释一下 VINS中有3个坐标系 xff1a 世界坐标系 worldIMU坐标系body相机坐
  • 《算法导论》习题5.3-1 ~ 5.3-7

    算法导论 习题 5 3 1 5 3 7 5 3 5 带星号我抄了一下题目 5 3 6 比较有意思我抄了一下题目 其他的题可以自己对照书 原书第三版 5 3 1 直接考虑第2次循环前 第1次循环后第1个位置的元素是原集合1 n中任意一个元素的
  • ROS:坐标系之间的关系 (map \ odom \ base_link)

    ROS 坐标系之间的关系 map odom base link 在使用ROS进行定位与导航操作时 xff0c 会伴随着各种坐标系 xff0c 并且每种坐标系都有明确的含义 xff0c ros中定义了常见的坐标系 xff0c 并且所有的坐标系
  • 上下拉电阻的作用

    这是在论坛上收集到的一些总结 xff1a 一 OC OD门 xff0c 这种门结构如果不做上拉的话 xff0c 是不能实现电平的高底跳变的 xff0c 不能实现跳变 xff0c 便不能表征数据 二 驱动能力 xff0c 我们看很多的CPU或
  • 实测MySQL 查询结果保留两位小数函数的区别汇总

    MySQL查询结果保留两位小数常用的几个函数的区别 xff0c 使用场景 1 随机函数format x d 2 格式化小数函数format x d 例如 xff1a select format 23456 789 2 或 select fo
  • STLINK怎么与STM32单片机连接

    STLink是ST官方开发的单片机仿真工具 xff0c 可以烧写程序 在线仿真 xff0c 使用非常方便 STLink具有两种接口 xff0c 分别为 1 SWD模式 2 SWIM单总线模式 SWD模式主要针对STM32系列的单片机 xff
  • Ubuntu 18.04系统下创建新用户

    以下介绍在Ubuntu 18 04系统下创建新用户 目录 修改用户权限及删除用户的正确方法 在Ubuntu系统上创建新用户使用 sudo useradd 用户名 命令 xff0c 但只能创建用户 xff0c 不能在 home 中创建用户目录
  • 大数据面试题(一)

    一 hdfs写文件的步骤 答案 xff1a 1 client向NameNode申请上传 xxx txt文件 2 NN向client响应可以上传文件 3 Client向NameNode申请DataNode 4 NN向Client返回DN1 D
  • packages.xml和packages.list全解析

    更多干货 xff0c 欢迎关注微信公众号 tmac lover 今天给大家介绍一下Android系统中保存app信息的两个配置文件 xff0c packages xml和packages list 系统中所有安装的app的基本信息在这里都能
  • linux中vim: command not found

    bash vim command not found 1 查看系统是否安装完整vim 2 安装vim 3 我的解决过程 解决问题步骤 xff1a 1 查看系统是否安装完整vim 执行一下命令 xff1a rpm qa grep vim 如果
  • 【FreeRTOS】任务的创建

    启动流程 LiteOS 和 ucos 第一种和第二种都可以使用 xff0c 由用户选择 xff0c RT Thread 和 FreeRTOS 则默认 创建各个任务 xff0c 然后等待启动调度器创建一个起始任务 xff0c 任务都在这个起始
  • 【FreeRTOS】信号量和互斥量

    二值信号量 同步 xff0c 创建时为空 xff0c 任务1获取 xff08 空 xff09 进入阻塞 xff1b 任务2释放信号量 xff0c 于是任务1获取信号量得以进入就绪状态 资源被获取了 xff0c 信号量值就是 0 xff0c
  • 计算机网络笔记:TCP三次握手和四次挥手过程

    TCP是面向连接的协议 xff0c 连接的建立和释放是每一次面向连接的通信中必不可少的过程 TCP连接的管理就是使连接的建立和释放都能正常地进行 三次握手 TCP连接的建立 三次握手建立TCP连接 若主机A中运行了一个客户进程 xff0c
  • echarts与highcharts学习及区别

    1 echarts用法更广泛 xff0c highcharts更适合特定的某些需求 1 1 echarts和highcharts初始引用 xff0c import as echarts from echarts html要有一个容器 xff
  • 啥是驱动?

    Q amp A 什么是驱动 xff1f 驱动本质上是一个软件程序 xff0c 是内核与硬件之间通信的桥梁 xff0c 为应用程序屏蔽了硬件细节 内核可以通过驱动程序去初始化 释放设备 xff0c 内核可以通过驱动程序与设备做双向的数据交互
  • 基于STM32F1系列的OV7725摄像头初步使用(用于摄像头循迹)

    最近做项目需要用到OV7725 xff0c 于是花了些时间研究 由于OV7725对于工作频率的要求较高 xff0c 因此使用带FIFO的摄像头模块 代码参考自正点原子官方 OV7725资源 引脚说明 以下时关于十八个引脚的说明 xff08
  • CAS SSO单点登录实例

    1 因为是本地模拟sso环境 xff0c 而sso的环境测试需要域名 xff0c 所以需要虚拟几个域名出来 xff0c 步骤如下 xff1a 2 进入目录C Windows System32 drivers etc 3 修改hosts文件
  • Ubuntu屏幕录像软件推荐-Kazam

    由于工作的关系 xff0c 需要经常录制一些软件的操作步骤当做教程 xff0c 现在由于使用了Ubuntu单系统平台 xff0c 以前录制的教程均不能正常运行了 xff0c 需要切换到VM xp里面使用 xff0c 造成很大的不变 xff0
  • 图像畸变矫正——透视变换

    图像畸变矫正 透视变换 由于相机制造精度以及组装工艺的偏差引入的畸变 xff0c 或者由于照片拍摄时的角度 旋转 缩放等问题 xff0c 可能会导致原始图像的失真 xff0c 如果要修复这些失真 xff0c 我们可以通过透视变换 xff0c
  • 微信JSAPI支付,微信浏览器内支付,解决微信H5支付只能在微信外浏览器支付的问题

    一 设置支付目录 请确保实际支付时的请求目录与后台配置的目录一致 xff08 现在已经支持配置根目录 xff0c 配置后有一定的生效时间 xff0c 一般5分钟内生效 xff09 xff0c 否则将无法成功唤起微信支付 在微信商户平台 xf

随机推荐

  • 解决python3 与 ROS中使用python2冲突的问题(亲测有效)

    文章转载于 https zhuanlan zhihu com p 27011617 方法一 xff1a conda install setuptools pip install U rosdep rosinstall generator w
  • Radmin FAQ

    故障排除提示 xff0c 技术指南 xff0c 文章方法 xff0c 反馈表等 通过主机选项连接 1 此选项使您可以在没有与要管理的计算机的直接 TCP IP 连接时通过主机进行连接 xff0c 但中间主机与目标计算机 xff08 网关等
  • 关于相机内参与外参的浅读

    学习人脸3D重建的第一天 xff0c 在首次接触3D相关的内容 xff0c 必须要搞清楚相机的成像原理 xff0c 如何将真实三维空间中的三维点与显示器 屏幕和图像等二维成像的平面映射 xff0c 以及了解该过程的推导方式和相关坐标系的换算
  • 嵌入式以及嵌入式行业的基本信息

    从技术实现上讲 xff0c 嵌入式的产品分为两大类 xff1a 一类简单的 xff0c 没有操作系统支持的 一类复杂的 xff0c 有操作系统的 就目前发展方向看 xff0c 后一种是趋势 前一种从程序实现上可分为3层 xff1a 硬件层
  • Linux i2c_driver probe被调用的流程分析(linux4.1.15)

    linux4 1 15 i2c driver probe被调用流程 span class token operator span span class token operator span span class token comment
  • linux uart 驱动中 open、read、write调用层次

    span class token comment Linux kernel release 2 6 xx span span class token comment linux uart 驱动中接收和发送函数的调用层次 xff0c 记录如下
  • Centos8 制作qcow2及使用

    制作及使用方法如下 xff1a 1 下载ios wget https archive kernel org centos vault 8 2 2004 isos x86 64 CentOS 8 2 2004 x86 64 dvd1 iso
  • 免费的期刊论文文献检索网站(收集整理)

    文献免费下载神器 xff0c 这里放5个可以直接下载SCI等论文网站 以下网站去地址栏直接搜 xff01 1 Sci Hub可谓是无人不知无人不晓 xff0c 其自开发以来 xff0c 便以星火燎原之势席卷学术界 xff0c 因为它可以免费
  • k8s 中 pod 之间的通信

    1 pod 内部通信 xff1a 通过 localhost 通信 2 同节点不同 pod 之间通信 xff1a 通过 linux 虚拟以太网设备或者是用两个虚拟接口组成的以太网接口对不同的网络命名空间连接起来通信 3 不同节点的不同 pod
  • 从零写VIO|第二节——作业:使用Allen方差工具标定IMU

    这里写目录标题 作业内容1 安装im utils1 1 安装依赖 xff1a 1 2 编译1 3 可能出的错误 2 运行 2 1 采集IMU数据 2 2 生成imu bag2 3 新建imu launch文件2 4 播放数据2 5 61 6
  • [VIO|实践]UBUNTU16.04跑MSCKF-双目代码

    编译环境 编译 新建文件夹msckf catkin ws xff0c 里面再建一个叫src的文件夹 xff0c 然后把解压好的代码集msckf放进去 命令行进入到 msckf catkin ws这一层 xff0c 进行catkin make
  • 华为系列设备优先级总结(一)

    现整理一部分华为系列交换机 路由器各项配置优先级 xff0c 欢迎各位朋友收藏备查 xff0c 若有遗漏或者是错误 xff0c 也欢迎在评论区提出交流 本文主要适合具有一定基础的网络工程师查阅参考 xff0c 阅读本文 xff0c 需要对本
  • OSPFv3中LSA详解(一)——概述

    今天给大家详细介绍一下OSPFv3中LSA的变化 xff0c 这也是OSPFv3相对于OSPFv2的一大重要改变 本文将详细介绍OSPFv3中9类LSA相对于OSPFv2中7类LSA的异同 阅读本文 xff0c 您需要有一定的OSPFv2和
  • OSPFv3中LSA详解(五)——Intra-Area-Prefix LSA详解

    今天继续给大家介绍OSPFv3中LSA变化 xff0c LSA的变化时OSPFv3相对于OSPFv2的一大重大改变 xff0c 本文的主要内容是OSPFv3中新增的一类LSA Intra Area Prefix LSA的详解 阅读本文 xf
  • OSPFv3中LSA详解(六)——Type3类LSA详解

    今天继续给大家介绍OSPFv3中LSA变化 xff0c LSA的变化时OSPFv3相对于OSPFv2的一大重大改变 xff0c 本文的主要内容是OSPFv3中变化的第三类LSA的详解 阅读本文 xff0c 您需要有一定的OSPF基础知识 x
  • OSPFv3中LSA详解(七)——Type4类LSA详解

    今天继续给大家介绍OSPFv3中LSA变化 xff0c LSA的变化时OSPFv3相对于OSPFv2的一大重大改变 xff0c 本文的主要内容是OSPFv3中变化的第四类LSA的详解 阅读本文 xff0c 您需要有一定的OSPF基础知识 x
  • KVM详解(六)——KVM虚拟机快照

    今天继续给大家介绍Linux运维相关知识 xff0c 本文主要内容是KVM的快照 一 KVM快照简介 KVM支持对虚拟机创建快照 xff0c 但是前提是该虚拟机镜像不可以是raw格式 xff0c 而应该是qcow2格式 但是 xff0c 如
  • Docker详解(十五)——Docker静态IP地址配置

    今天继续给大家介绍Linux运维相关知识 xff0c 本文主要内容是Docker静态IP地址配置 一 安装Docker桥接网络 在前文Docker详解 xff08 十四 xff09 Docker网络类型详解中 xff0c 我们讲解了Dock
  • 计算机硬盘备份和恢复解决方案

    问题背景 xff1a 项目需要提供一份系统使用的计算机硬盘备份和恢复方案 xff0c 方便计算机软硬件故障后快速的恢复系统 之前项目使用的工具是Macrium reflect工具 xff0c 但这个工具现在收费了 xff0c 而且功能比较多
  • Python函数详解(一)——函数的定义、调用及变量

    今天继续给大家介绍Python相关知识 xff0c 本文主要内容是Python函数的定义 调用及变量 一 Python函数的定义与调用 在Python中 xff0c 如果我们要反复的进行一种相同或者类似的代码 xff0c 那么我们就可以将这