python学习--函数

2023-09-20 16:49:43

函数的创建与调用

  • 什么是函数
    函数就是执行特定任务或完成特定功能的一段代码
  • 为什么需要函数
    复用代码 隐藏实现细节 提高可维护性 提高可读性便于调试
  • 函数的创建
    def 函数名([输入函数]) :
    函数体
    [return xxx]
def calc(a,b): #a,b称为形式参数,简称形参,形参的位置是在函数定义处
  c=a+b
  return c
result=calc(10,20)#10,20称为实际参数的值,简称实参,实参的位置是函数的调用处
print(result)

函数返回值

  • 函数返回多个值时,结果为元组
  • 如果函数没有返回值【函数执行完毕后,不需要给调用处提供数据】return可以省略不写
  • 函数的返回值,如果是一个,直接返回类型
  • 函数的返回值,如果是多个则返回的结果为元组
def fun(num):
  odd=[]#存奇数
  even=[]#存偶数
  for i in num:
    if i%2:
     odd.append(i)
    else:
     even.append(i)
  return odd,even
print(fun([10,29,34,23,44,53,55]))

函数的参数定义

个数可变的位置参数

  • 定义函数时,可能无法事先确定传递的位置实参的个数时,使用可变的位置参数
  • 使用*定义个数可变的位置形参
  • 结果为一个元组
def func(*args):
  print(args)
func(10)
func(10,20,30)

个数可变的关键字形参

  • 定义函数时,无法事先确定传递的关键字实参的个数时,使用可变的关键字形参
  • 使用**定义个数可变的关键字形参
  • 结果为一个字典
def func(**args):
  print(args)
func(a=10)
func(a=20,b=30,c=40)
def fun(a,b,c):#a,b,c在函数定义处,所以是形式参数
  print('a=',a)
  print('b=',b)
  print('c=',c)
#函数的调用
fun10,20,30)#函数调用时的参数传递,成为位置传参
lst=[11,22,33]
fun(*lst)#在函数调用时,将列表中的每个元素都转换为位置实参传入
fun(a=100,c=300,b=200)#函数调用,所以是关键字实参
dic={'a':111,'b':222,'c':333}
func(**dic)#在函数调用时,将字典中的键值对都转换为关键字实参传入

更多推荐

ArcGIS10.1软件安装教程

ArcGIS10.1中英文(32/64位)下载地址:链接:https://pan.baidu.com/s/1Ksm112WaKMMk6La9ircCng密码:t70f安装步骤:1、我们对安装包进行解压,直接鼠标右击解压即可。2、打开我们解压的文件夹,点击Desktop3、鼠标右击setup.exe图标,选择以管理员的身

电压放大电路的作用有哪些(电压放大器)

电压放大电路是电子电路中常见且重要的组件,其主要作用是将输入信号的电压放大到所需的输出电压级别,并保持输入信号的形状和准确度。电压放大电路广泛应用于各种电子设备和系统中,具有以下几个重要的作用:信号放大:电压放大电路可以将微弱的输入信号放大到较大的输出信号。在许多应用中,输入信号的电压太小无法直接应用,例如音频信号的放

Talk | KDD‘23 Best Paper 港中文孙相国:All in One - 提示学习在图神经网络中的探索

本期为TechBeat人工智能社区第532期线上Talk!北京时间9月20日(周三)20:00,香港中文大学博后研究员—孙相国的Talk已准时在TechBeat人工智能社区开播!他与大家分享的主题是:“提示学习在图神经网络中的探索”,他分享了提示学习基本概念,并介绍了他的团队提出的图模型多任务提示方法。Talk·信息▼

在Windows环境下,使用VS2013配置FFmpeg+OpenCV开发环境

在Windows环境下,使用VS2013配置FFmpeg+OpenCV开发环境的步骤如下:1.下载FFmpeg和OpenCV库,可以到官网或者其他网站下载最新稳定版的库。2.安装FFmpeg库,将FFmpeg安装目录添加到系统环境变量中。例如,将FFmpeg安装到C:/ffmpeg,则需要将C:/ffmpeg/bin路

图扑可视化图表组件之股票数据分析应用

股市是市场经济的必然产物,在一个国家的金融领域之中有着举足轻重的地位。在过去,人们对于市场走势的把握主要依赖于经验和直觉,往往容易受到主观因素的影响,导致决策上出现偏差。如今,通过数据可视化呈现,便可将历年数据和市场情报进行深度挖掘、分析,从中找到规律和趋势,帮助用户做出更准确的判断。回顾2022年A股市场的表现可谓是

JS操作字符串面试题系列(2)-每天做5题

目录前排提示JS操作字符串方法学习系列(1)-每天学习10个方法JS操作字符串方法学习系列(2)-每天学习10个方法JS操作字符串方法学习系列(3)-每天学习10个方法JS操作字符串方法学习系列(4)-每天学习10个方法JS操作字符串方法学习系列(5)-每天学习10个方法题目6.如何将字符串转换为大写?7.如何从字符串

【深度学习】 Python 和 NumPy 系列教程(十八):Matplotlib详解:2、3d绘图类型(4)3D曲面图(3D Surface Plot)

目录一、前言二、实验环境三、Matplotlib详解1、2d绘图类型2、3d绘图类型0.设置中文字体1.3D线框图(3DLinePlot)2.3D散点图(3DScatterPlot)3.3D条形图(3DBarPlot)4.3D曲面图(3DSurfacePlot)一、前言Python是一种高级编程语言,由Guidovan

轻量级的Python IDE —— Thonny

现在的开发工具太多了,而且每个开发工具都致力于做成最好用最智能的工具,所以功能越堆越多,越怼越智能。安装这些开发工具比较烧脑,经常需要经过许多配置步骤。作为一个Python开发者来说,好多人光是这些配置都要弄半天。配置好之后,打开软件,发现满屏都是菜单、按钮,无从下手,学习这些功能使用又是一大难题。推荐一款超级轻量级的

Java源码分析(二)Double

本篇是源码分析的第二篇,上篇我们一起分析了Integer类的源码,本篇一起学习下Double类的源码,看下其实现。一、Double类图首先,相比Integer,Double类的源码只有1000+行代码。如下是Integer及其关联类/接口的类图:​通过Integer类的类图,我们总结下它的特点:Double类继承自抽象

《Linux 内核编码风格》官方手册!

这是一篇官方手册译文,分享给大家这是一个简短的文档,描述了Linux内核的首选编码风格。编码风格非常个人化,这是我必须要维护的代码(指Linux内核代码)的编码风格,对于其他项目代码,我也希望使用它。写内核代码时请至少考虑本文提出的风格。首先,我建议打印出GNU编码标准,然后不要阅读。烧掉它们,这是一个很棒的象征性动作

mariadb

1.[root@localhostsystem]#yuminstall-ymariadb-server已加载插件:fastestmirror,langpacksLoadingmirrorspeedsfromcachedhostfile*base:ftp.sjtu.edu.cn*extras:ftp.sjtu.edu.c

热文推荐