【python基础】—函数def()的定义与调用、参数、return返回值及变量作用域

文章目录

  • 定义函数:def()语句
  • 调用函数:输入函数名和参数对应的值
  • 参数
  • return 返回值
  • 变量作用域


定义函数:def()语句

语法:

def 函数名(参数1,参数2,.....,参数n): 函数体 	return 语句

举例:

def hello(name):print(name+"Good morning!")return 

上面我们定义一个名字为hello的函数,括号内部是函数接收的参数name,紧接着就是函数的功能代码。


调用函数:输入函数名和参数对应的值

def hello(name):print(name+"Good morning!")return 
hello("lily")

在这里插入图片描述

多次调用

hello("lily,")
hello("Mike,")

在这里插入图片描述


参数

  • 位置参数
def menu(appetizer,course):print("一份开胃菜:"+appetizer)print("一份主食"+course)
menu("手拍黄瓜","大米饭")

在这里插入图片描述

这里的"手拍黄瓜"和"大米饭"是对应参数appetizer和course的位置顺序传递的,所以被叫作位置参数,这也是最常见的参数类型。

  • 默认参数
    注意: 默认参数必须放在位置参数之后
def menu(appetizer,course,dessert="西瓜"):print("一份开胃菜:"+appetizer)print("一份主食:"+course)print("一份甜品:"+dessert)
menu("手拍黄瓜","大米饭")

在这里插入图片描述

默认将"西瓜"传递给dessert,调用时无须再传递。

但是默认参数也会改变的,比如像下面python会自动将"银耳羹"传递给参数dessert。

menu("手拍黄瓜","大米饭","银耳羹")

在这里插入图片描述

  • 不定长参数:一个星号*加上参数名
def menu(*barbeque):print(barbeque)menu("烤茄子","烤大肠","烤玉米")

在这里插入图片描述

barbeque输出的是数据类型是元组,可以用for循环来迭代输出。代码如下:

def menu(appetizer,course,dessert,*barbeque):print("一份开胃菜:"+appetizer)print("一份主菜:"+course)print("一份甜品:"+dessert)for i in barbeque:print("一份烤串:"+i)menu("手拍黄瓜","大米饭","西瓜","烤茄子","烤大肠","烤玉米")

在这里插入图片描述


return 返回值

return是返回值,当你输入参数给函数,函数就会返回一个值给你。事实上每个函数都会有返回值。

def wqf_album(a):if a==1:return "太空人"elif a==2:return "册页一与一"elif a==3:return "马拉美的星期二"else:return "敬请期待吴青峰第四张专辑!"wqf_album(1)

在这里插入图片描述

  • 1、如果不是立即要对函数返回值做操作,那么可以使用return语句保留返回值。

类似这种多个函数相互配合的代码中,我们就会非常需要return语句,来帮我们先保留某个函数的返回值,等要用到的时候再调出来用。

def face(name):return name+"!"
def body(congratulations):return congratulations+"~"face("吴青峰")
body("祈愿你永远平安安康,自在快乐")	print(face("吴青峰"),body("祈愿你永远平安安康,自在快乐"))

在这里插入图片描述

  • 2、需要多次调用函数时,可以再定义一个目标主函数main(),调用非主函数的返回值。

  • 3、return可以接受一次多个返回,而且多个返回值的数据类型就是元组。

def face(name):return name+"!"
def boby(congratulations):return congratulations+"~"
def main(mylover,mybless):return face(mylover),body(mybless)print(main("吴青峰","祈愿你永远平安安康,自在快乐"))
print(main("anpu","也谢谢你愿意成为我们的歌手!"))

在这里插入图片描述

  • 4、没有return语句的函数会默认返回None值。
def fun():a = "I am wqf."print(fun())

在这里插入图片描述

  • 5、一旦函数内部遇到return语句就会停止执行并返回结果。
def fun():return "I am wqf."return "I am not wqf."print(fun())

在这里插入图片描述


变量作用域

定义一个函数时,理解函数中变量的作用域

  • 局部变量:在一个函数内定义的变量仅能在函数内部使用(局部作用域)。
  • 全局变量:在所有函数之外赋值的变量,可以在程序的任何位置使用(全局作用域)。
x=wqf
def name():x=wqfprint(x)num()#调用函数内部变量print(x)#调用全局变量

在这里插入图片描述

当变量处于被定义的函数内时,就是局部变量,只能在这个函数内被访问;当变量处于被定义的函数外时,就是全局变量,可以在程序中的任何位置被访问。注意: 尽量局部变量与全局变量不要同一个命名。

  • global语句,可以将局部变量转变为全局变量。
def name():    mylover = "wqf"
name()
print(mylover)   #会报错,不能在函数外部(全局作用域)使用函数内的局部变量mylover = 108
def name():print(mylover)
name()           #函数内的局部作用域,可以访问全局变量def name():    global mylover mylover = 108
name()
print(mylover)   #global语句可以将局部变量声明为全局变量

运行结果1:
在这里插入图片描述
运行结果2:
在这里插入图片描述

运行结果3:
在这里插入图片描述

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

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

相关文章

#循循渐进学5单片机#中断与数码管动态显示#not.5

1、掌握C语言数组的概念、定义和应用。 1)数组是一组变量,这组变量需要满足三个条件: 具有相同的数组类型 具有相同的名字 在存储器中是连续的 2)声明和初始化 数组类型 数组名【数组长度】 数组类型 数组名【数组长度】 …

【EI会议】第三届信息控制、电气工程及轨道交通国际学术会议(ICEERT 2023)

第三届信息控制、电气工程及轨道交通国际学术会议(ICEERT 2023) 2023 3rd International Conference on Information Control, Electrical Engineering and Rail Transit 信息技术及人工智能正在不断地改变我们的生活,也深刻影响着通信、计算机和控制…

循环删除list集合中的元素

使用场景:有一个集合需要对它的元素进行筛选,将不符合条件的元素剔除。 就像上面这个集合,我要将字符串“张三”都删除。首先会想到的是,循环遍历,进行条件判断了。 可是在运行代码时,最后一个"张三&…

CAN总线

can总线看起来和485电路很相似,485出来是AB 线,can出来 CAN_HIGH CAN_LOW 2.CAN总线特点 多主控制不像iic 只能一个主机,也没有地址的概念

three.js——通过顶点和顶点索引创建集合体

通过顶点和顶点索引创建集合体 效果图1、创建顶点数据2、创建顶点属性3、创建材质4、创建网格5、改变网格的位置并添加到场景中6、通过顶点索引创建几何图形 效果图 1、创建顶点数据 // 创建顶点数据 每三个一个顶点 逆时针为正面 const vertices new Float32Array([ -1.0, -…

C语言利用联合体判断大小端

#include<stdio.h>#define SIZE(a) (sizeof(a)) union {/* data */short s;char c[SIZE(short)];short b;int d;char f; }un; int main(int argc,char **argv) {un.s 0x0102;if(SIZE(short) 2)//表示short是16位{printf("\n");printf("c[0] %d,c[1…

Python 基于人脸识别的实验室智能门禁系统的设计,附可视化界面

1 简介 本基于人脸识别的实验室智能门禁系统通过大数据和信息化的技术实现了门禁管理流程的信息化的管理操作。平台的前台页面通过简洁的平台页面设计和功能结构的分区更好的提高用户的使用体验&#xff0c;没有过多的多余的功能&#xff0c;把所有的功能操作都整合在功能操作…

激光焊接汽车PP塑料配件透光率测试仪

随着汽车主机厂对车辆轻量化的需求越来越强烈&#xff0c;汽车零部件轻量化设计、制造也成为汽车零部件生产厂商的重要技术指标。零部件企业要实现产品的轻量化&#xff0c;在材料指定的情况下&#xff0c;要通过产品设计优化、产品壁厚减小和装配方式的优化来解决。使用PP材料…

《可观测性成熟度模型白皮书》正式发布,龙蜥致力打造更好用户体验

背景 云原生计算基金会&#xff08;Cloud Native Computing Foundation&#xff0c;CNCF&#xff09;正式将可观测性引入 IT 领域以来&#xff0c;可观测性市场迅猛发展&#xff0c;涌现出一大批可观测性解决方案&#xff0c;企业也在寻求不同的方式打造可观测性。 然而&…

小米华为,化干戈为玉帛!

近日来&#xff0c;手机圈又掀起了各大厂家推出新品的高潮。首先是华为Mate60的推出&#xff0c;其自研的麒麟9000S芯片瞬间点燃了国内手机市场&#xff0c;得到了国内甚至国外业界人士的认可和好评。 而近日网上盛传的小米创始人雷军的“愿意加入华为技术生态圈”的邀请&…

Vue3 菜鸟入门(一)超详细!

【学习笔记】Java 一对一培训&#xff08;3.1&#xff09;Spring Boot介绍和基础 关键词&#xff1a;Vue 、Vue 3、Java、Spring Boot、Idea、数据库、一对一、培训、教学本文主要内容含Vue3介绍、安装、打包、创建项目、目录结构、起步等内容计划1小时完成&#xff0c;请同学…

AI 图片视频批量清晰化神器封装 CodeFormer

封装和改进了一下开源的代码 CodeFormer&#xff0c; 号称最强的AI 视频去码、图片修复工具&#xff0c;因为用的也是开源代码&#xff0c;所以我的代码部分也没有加密&#xff0c;所有源代码都可以看到&#xff0c;可以修改。把黑白照片上色的功能加上了&#xff0c;然后添加了…

设备树叠加层

设备树覆盖 设备树 (DT)是描述不可发现硬件的命名节点和属性的数据结构。内核&#xff08;例如 Android 中使用的 Linux 内核&#xff09;使用 DT 来支持 Android 设备使用的各种硬件配置。硬件供应商提供他们自己的设备树源 (DTS)文件&#xff0c;这些文件使用设备树编译器编…

合并两个升序链表,合并后也是升序的

开始时也要判断是否有一个链表本来就是空&#xff0c;如果是&#xff0c;直接返回另外一个链表 代码&#xff1a; struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){if(list1NULL){return list2;}if(list2NULL){return list1;} struct ListN…

练习敲代码速度

2023年9月18日&#xff0c;周一晚上 今晚不想学习&#xff0c;但又不想玩游戏&#xff0c;于是找了一些练习敲代码的网站来玩玩&#xff0c;顺便练习一下敲代码的速度 目录 参考资料个人推荐第一个 第二个第三个 参考资料 电脑打字慢&#xff0c;有哪些比较好的练打字软件&a…

子网的划分

强化计算机网络发现王道没有这一块的内容&#xff0c;导致做题稀里糊涂。于是个人调研补充。 子网划分是将一个大型IP网络划分成更小的子网&#xff0c;以实现更有效的网络管理和资源分配。 原因&#xff1a; 提高网络性能&#xff1a;子网划分可以减少广播域的大小&#xff…

在qml中将一个16进制表示的颜色加上透明度

在qml中&#xff0c;我们在指定控件的颜色时&#xff0c;可以直接通过16进制的字符串来表示&#xff0c;比如"#ff0000"; 这种方式也比较符合UI设计人员的使用习惯。 但是假如要在此颜色的基础上&#xff0c;加个透明度的话&#xff0c;就要重新计算一番&#xff0c;比…

Python基础指令(上)

Python基础指令上 常量和表达式变量和类型1. 什么是变量2. 变量的语法2.1 定义变量2.2 使用变量 3. 变量的类型4. 为什么要有这么多类型5. 动态类型特性 注释输入输出1. 程序与用户的交互2. 通过控制台输出3. 通过控制台输入 运算符1. 算术运算符2. 关系运算符3. 逻辑运算符4. …

python虚拟环境(venv)

一、什么是python环境 首先要知道什么是python环境&#xff1f; Python环境主要包括以下内容&#xff1a; 解释器 python.exe (python interpreter&#xff0c;使用的哪个解释看环境配置) Lib目录 标准库 第三方库&#xff1a;site-pakages目录&#xff0c;默认安装第三方…

用无代码搭建数据中台,竟做到如此丝滑

文章目录 需求背景系统介绍配置说明1 菜单导航2 系统自带组件导入页面&#xff08;1&#xff09;数据集成相关组件&#xff08;2&#xff09;数据服务相关组件 3 由系统组件路径添加页面&#xff08;1&#xff09;数据资产管理&#xff08;2&#xff09;数据标准管理&#xff0…