Python自定义函数的创建、调用和函数的参数详解

接口自动化框架之python pytest-mark(三) 一、mark标签介绍 在测试用例/测试类前面加上:@pytest.mark.标签名,打标记范围:测试用例、测试类、模块文件 二、使用mark进行分类 在使用mark标签之前要创建pytest.ini配置文件,同样在运行的时候,‘-m’参数后边也要标识分类标签的名称 1.创建测试代码 import pytest def test_01(): print('oi') @pytest.mark.number_01 def test_02(): print('iu') def 阅读详情
Python自定义函数的创建、调用和函数的参数、变量作用域等常见问题。

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创见函数,这被叫做用户自定义函数。

一、定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:

1.函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
2.任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
3.函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4.函数内容以冒号起始,并且缩进。
5.Return[expression]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

语法

复制代码代码如下:
def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

默认情况下,参数值和参数名称是按函数声明中定义的的顺序匹配起来的。

实例

以下为一个简单的Python函数,它将一个字符串作为传入参数,再打印到标准显示设备上。

复制代码代码如下:
def printme( str ):
   "打印传入的字符串到标准显示设备上"
   print str
   return

二、函数调用
定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。

如下实例调用了printme()函数:

复制代码代码如下:
#!/usr/bin/python
# www.jbxue.com
# Function definition is here
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;

# Now you can call printme function
printme("我要调用用户自定义函数!");
printme("再次调用同一函数");
#以上实例输出结果:

#我要调用用户自定义函数!
#再次调用同一函数

三、按值传递参数和按引用传递参数
所有参数(自变量)在Python里都是按引用传递。如果你在函数里修改了参数,那么在调用这个函数的函数里,原始的参数也被改变了。例如:

复制代码代码如下:
#!/usr/bin/python
# www.jbxue.com
# 可写函数说明
def changeme( mylist ):
   "修改传入的列表"
   mylist.append([1,2,3,4]);
   print "函数内取值: ", mylist
   return

# 调用changeme函数
mylist = [10,20,30];
changeme( mylist );
print "函数外取值: ", mylist
#传入函数的和在末尾添加新内容的对象用的是同一个引用。故输出结果如下:

#函数内取值:  [10, 20, 30, [1, 2, 3, 4]]
#函数外取值:  [10, 20, 30, [1, 2, 3, 4]]

四、函数的参数
Python函数可以使用的参数类型:

1.必备参数
2.命名参数
3.缺省参数
4.不定长参数

1、必备参数

必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
调用printme()函数,你必须传入一个参数,不然会出现语法错误:

复制代码代码如下:
#!/usr/bin/python
# www.jbxue.com
#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;

#调用printme函数
printme();
#以上实例输出结果:

#Traceback (most recent call last):
#  File "test.py", line 11, in <module>
#    printme();
#TypeError: printme() takes exactly 1 argument (0 given)


2、命名参数

命名参数和函数调用关系紧密,调用方用参数的命名确定传入的参数值。你可以跳过不传的参数或者乱序传参,因为Python解释器能够用参数名匹配参数值。用命名参数调用printme()函数:

复制代码代码如下:
#!/usr/bin/python

#可写函数说明
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;

#调用printme函数
printme( str = "My string");
#以上实例输出结果:

#My string


下例能将命名参数顺序不重要展示得更清楚:
复制代码代码如下:
#!/usr/bin/python

#可写函数说明
def printinfo( name, age ):
   "打印任何传入的字符串"
   print "Name: ", name;
   print "Age ", age;
   return;

#调用printinfo函数
printinfo( age=50, name="miki" );
#以上实例输出结果:

#Name:  miki
#Age  50


3、缺省参数

调用函数时,缺省参数的值如果没有传入,则被认为是默认值。下例会打印默认的age,如果age没有被传入:

复制代码代码如下:
#!/usr/bin/python
# www.jbxue.com
#可写函数说明
def printinfo( name, age = 35 ):
   "打印任何传入的字符串"
   print "Name: ", name;
   print "Age ", age;
   return;

#调用printinfo函数
printinfo( age=50, name="miki" );
printinfo( name="miki" );
#以上实例输出结果:

#Name:  miki
#Age  50
#Name:  miki
#Age  35

4、不定长参数

你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名。基本语法如下:

复制代码代码如下:
def functionname([formal_args,] *var_args_tuple ):
   "函数_文档字符串"
   function_suite
   return [expression]

加了星号(*)的变量名会存放所有未命名的变量参数。选择不多传参数也可。如下实例:
复制代码代码如下:
#!/usr/bin/python
# www.jbxue.com
# 可写函数说明
def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print "输出: "
   print arg1
   for var in vartuple:
      print var
   return;

# 调用printinfo 函数
printinfo( 10 );
printinfo( 70, 60, 50 );
#以上实例输出结果:

#输出:
#10
#输出:
#70
#60
#50

五、匿名函数
用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。

Lambda函数能接收任何数量的参数但只能返回一个表达式的值,同时只能不能包含命令或多个表达式。
匿名函数不能直接调用print,因为lambda需要一个表达式。
lambda函数拥有自己的名字空间,且不能访问自有参数列表之外或全局名字空间里的参数。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
语法

lambda函数的语法只包含一个语句,如下:

复制代码代码如下:
lambda [arg1 [,arg2,.....argn]]:expression

如下实例:
复制代码代码如下:
#!/usr/bin/python
# www.jbxue.com
#可写函数说明
sum = lambda arg1, arg2: arg1 + arg2;

#调用sum函数
print "Value of total : ", sum( 10, 20 )
print "Value of total : ", sum( 20, 20 )
#以上实例输出结果:

#Value of total :  30
#Value of total :  40

六、关于return语句
return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。之前的例子都没有示范如何返回数值,下例便告诉你怎么做:

复制代码代码如下:
#!/usr/bin/python

# 可写函数说明
def sum( arg1, arg2 ):
   # 返回2个参数的和."
   total = arg1 + arg2
   print "Inside the function : ", total
   return total;

# 调用sum函数
total = sum( 10, 20 );
print "Outside the function : ", total 
#以上实例输出结果:

#Inside the function :  30
#Outside the function :  30


七、变量作用域
一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。

变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:
1.全局变量
2.局部变量

八、变量和局部变量
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。如下实例:

复制代码代码如下:
#!/usr/bin/python

total = 0; # This is global variable.
# 可写函数说明
def sum( arg1, arg2 ):
   #返回2个参数的和."
   total = arg1 + arg2; # total在这里是局部变量.
   print "Inside the function local total : ", total
   return total;

#调用sum函数
sum( 10, 20 );
print "Outside the function global total : ", total 
#以上实例输出结果:

#Inside the function local total :  30
#Outside the function global total :  0

自定义函数的创建及调用 自定义函数的创建及调用 函数是指编写好的,可以重复使用的代码段。 Python中,函数有内置函数和自定义函数2种。 内置函数是指:像print、input、type 等安装Python后就能直接使用的函数。 自定义函数是指:根据自己想要实现的功能自定义一个属于自己的函数。 函数具有函数名、参数、返回值。 体验代码:计算矩形的面积 先运行下面的代码,体验自定义函数的功能。 # def 自定义函数的关键字 # 这里要计算的是矩形面积,我将函数名命名为area # length, width为自定义函数的形式参数 阅读详情

相关推荐

Python自定义函数和参数介绍

在Python编程中,可以使用已经定义好的函数,也可以自定义函数实现某些特殊的功能。在Python中,自定义函数的语法如下所示def 函数名(参数):函数体其中,def是关键字;之后跟的是函数名,通过函数名来调用该函数;函数名之后是一个圆括号,圆括号内部是函数的参数,通过参数可以将数据传递到函数内部;函数体是函数实现的功能。需要注意的是(1)在圆括号之后有冒号(2)函数体要有缩进。图1的代码中代码自定义了一个名为func的函数。图1 自定义函数func。

changzi990的博客 1391

pycharm实现光标停留显示函数的参数

step1:file--settings--Editor-General- code completion--parameter info--show full method signatures step2: file--settings--Editor-General- other-勾选如图选项: 效果展示: 如下图鼠标放在print的函数名上面:

weixin_42259833的博客 712

【Python】新手入门:python自定义函数是什么?python函数如何调用?python函数的参数如何传递?python匿名函数是什么?python强制位置参数是什么?

代码复用的核心封装机制​​:通过定义关键字创建可重用代码单元,包含函数名、参数列表及冒号引导的函数体。支持多种参数传递方式:位置传参需顺序一致,关键字传参允许任意顺序,预设参数提供默认值,不定长参数以元组或字典接收额外数据。函数通过返回语句传递结果,未显式返回则默认为空值。配合无名函数可实现简易逻辑封装,有效提升代码模块化程度与可维护性,是构建复杂程序的基础构件。

专注Python编程与网络安全领域,分享原创技术文章与靶机渗透实战经验。以清晰的逻辑解构复杂技术,用深入浅出的笔触呈现:从Python基础到高级特性,从漏洞原理到攻防实践。在这里,代码与安全交织,思考与成长同行。 970

【python笔记】自定义函数,参数的设置

def 函数名(参数,参数):函数执行的内容return 内容可以定义不用输入参数的函数命名关键字描述:命名关键字必须用对应的参数名=内容的形式进行设置,否则报错。用*,来定义,后面的全是命名参数。格式: def 函数名(参数,*,命名参数,命名参数):错因:hobby参数不应直接用“坤拳”来定义,而是应该用hobby=“坤拳”来定义。定义默认参数默认参数描述:当未定义默认参数时,参数自动定义为默认参数;当定义默认参数后,默认参数就是新定义的参数。

2302_79590880的博客 1477

Gephi新手必看:如何用Excel整理CSV数据快速生成网络图(附模板)

本文为Gephi新手提供了一份从Excel数据整理到生成专业网络图的完整指南。详细讲解了如何构建规范的节点表和边表CSV文件,并导入Gephi进行可视化分析。通过实战案例,帮助读者快速掌握利用Excel整理数据、规避常见错误,并运用布局算法与视觉编码,将复杂关系数据转化为直观的网络洞察。

weixin_28487433的博客 389

5.2 自抗扰控制 (ADRC)

自抗扰控制(Active Disturbance Rejection Control, ADRC)是由韩京清研究员于1998年提出的一种不依赖被控对象精确数学模型的新型控制技术[reference:0]。其核心思想是将系统的模型不确定性、内部参数摄动以及外部负载变化等所有影响统一定义为“总扰动”,通过一个名为扩张状态观测器(ESO)的环节对其进行实时估计并主动补偿,从而实现动态解耦和强鲁棒性。

技术工作者 1176

chatgpt赋能python:Python中如何规定输入值的范围

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

a058046的博客 3086

YOLOv5算法改进(21)— 添加CA注意力机制 + 更换Neck网络之BiFPN + 更换损失函数之EIoU

本节课作者就结合论文对YOLOv5进行组合改进(添加CA注意力机制+更改Neck网络之BiFPN+更换损失函数之EIoU),小白必学!

小哥谈 2820

Python自定义函数的位置参数和关键字参数

1 位置参数和关键字参数 在《Python中自定义函数的方法》中提到,在调用函数时,可以根据函数参数的位置确定该参数的值,此时的参数叫做函数的位置参数,如图1所示。 图1 位置参数 从图1中可以看出,根据func1()函数参数的位置,此时参数a的值是1,b的值是字符串“hello”。在《Python中函数的关键字参数》中提到,对于具有默认参数值的函数,可以使用关键字来指定参数的值,此时的参数叫做函数的关键字参数,如图2所示。 图2 关键字参数 从图2中可以看到,在调用func2..

hou09tian的博客 5486

后悔没早点知道!用AI只需四步,一次性讲清高质量论文引言写法(附公式+AI指令)

帮我写SCI 论文撰写引言的“研究背景与重要性”,要求从本研究所属领域的小背景切入,使用现在时态描述该领域的总体状况与发展趋势,突出其在学术研究、实际应用或社会层面的重要价值,并通过一个吸引人的钩子开头,如关键事实、现实问题或学术热点,引导读者关注本主题的重要性。梳理你所在领域和你研究相关的关键成果,但不能罗列所有文献,重点抓核心脉络,这部分最重要的实际上是让你了解别人的研究脉络,然后在每个关键的节点上,引用几篇关键参考文献作支撑,来体现你对领域的熟悉度就可以了。3)研究缺口模糊,没法突出问题的真实价值;

qq_64378896的博客 116

电路设计仿真软件:Mentor Graphics_(1).MentorGraphics电路设计仿真软件概述

菜单栏:包含文件、编辑、视图、工具等菜单。工具栏:提供常用的工具按钮,如打开、保存、仿真等。原理图编辑区:用于绘制电路原理图。元件库:包含各种电路元件,支持拖拽操作。属性面板:显示选中元件的属性,可以进行参数设置。仿真控制区:用于设置仿真参数和控制仿真过程。输出窗口:显示仿真结果和日志信息。打开模型编辑器:点击“工具”菜单,选择“模型编辑器”。选择模型类型:在模型编辑器中选择模型类型,如SPICE模型。输入模型参数:根据需要输入模型的参数,如电阻值、电容值等。保存模型。

kkchenjj的博客 1924

python自定义函数的参数调用_Python自定义函数的创建、调用和函数的参数详解

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创见函数,这被叫做用户自定义函数。一、定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:1.函数代码块以def关键词开头,后接函数标识符名称和圆括号()。2.任何传入参数和自变量必须放在圆括号中间。...

weixin_39817176的博客 477

《Linux GPU 驱动核心机制:面向图形与 AI 计算的 DRM 内存管理与任务调度》 目录

本文以缓冲区对象(BO)生命周期为主线,系统解析 Linux DRM 子系统中 GPU 驱动的核心机制。涵盖 GEM 与 TTM 内存管理、dma-buf/dma-fence 共享同步、GPU 调度与地址空间管理,结合 amdgpu、Xe 等驱动代码,深入剖析其设计动机与实现逻辑。旨在填补中文领域对 GPU 内核机制系统性讲解的空白,为图形与 AI 计算场景下的内存泄漏、同步死锁等疑难问题提供可追溯的分析路径。

图形/计算GPU的驱动与虚拟化技术分享园地 3717

python函数创建与调用_Python自定义函数的创建、调用和函数的参数详解

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创见函数,这被叫做用户自定义函数。一、定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:1.函数代码块以def关键词开头,后接函数标识符名称和圆括号()。2.任何传入参数和自变量必须放在圆括号中间。...

weixin_39966020的博客 371

YOLOv11+BiFPN双向特征金字塔:全方位解析多尺度检测性能优化指南

飞书链接:https://ecn6838atsup.feishu.cn/wiki/EhRtwBe1CiqlSEkHGUwc5AP9nQe?购买即可解锁800+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,每日更新。函数中添加BiFPN的解析逻辑(找到。链接可用,不要多复制空格了。密码:946m22&8。

FJN110的博客 306

【数据集】1980-2020年(5年)土地利用分类数据-中国科学院

简介1980-2020年每五年土地利用数据-中国科学院

WW、forever的博客 3932

Python自定义函数的创建、调用和函数的参数详解 .argmax

定义函数需要注意的几个事项: 1、def开头,代表定义函数 2、def和函数名中间要敲一个空格 3、之后是函数名,这个名字用户自己起的,方便自己使用就好 4、函数名后跟圆括号(),代表定义的是函数,里边可加参数 5、圆括号()后一定要加冒号: 这个很重要,不要忘记了 6、代码块部分,是由语句组成,要有缩进 7、函数要有返回值return numpy.argmax(a,

erinapple的博客 954

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

7.1 python 自定义函数的创建及调用

第七章 函数 7.1 自定义函数的创建及调用 函数是指编写好的,可以重复使用的代码段。 Python中,函数有内置函数和自定义函数2种。 内置函数是指:像print、input、type 等安装Python后就能直接使用的函数。 自定义函数是指:根据自己想要实现的功能自定义一个属于自己的函数。 函数具有函数名、参数、返回值。 体验代码:计算矩形的面积 先运行下面的代码,体验自定义函数的功能。 # def 自定义函数的关键字 # 这里要计算的是矩形面积,我将函数名命名为area # length, width

weixin_63986098的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python中函数创建和调用

带你创建自定义函数,咱们顶峰相见   

精益求精,永无止境,永远在路上! 3957

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

python里面的自定义函数及其调用

python里面的自定义函数及其调用 python学习的第六天 1、什么是函数 什么是函数呢?比如【print()】输出函数,【str()】等类型转换函数等等计算机根据我们下达的指令在底层一定是进行了一系列的运算和操作,最终输出了括号里面的数据。 而这底层的一些列操作其实就是被封装成了一个函数,print就是这个函数的名字,而我们只需要编写print这个指令,计算机底层就会执行这些操作。其实在生活中,函数无处不在。 比如:当你饿了的时候,喊了一嗓子:"妈,我饿了,给我做个饭吧!"这就是非常典型的「函数的调用

cywyty的博客 7562

Python函数(十二):函数的创建和调用、参数传递、返回值

前言:在编程的世界里,函数是一种基本的构建块,它允许我们将代码封装成可重复使用的单元。在Python中,函数的使用尤为重要,因为它不仅有助于代码的模块化,还提高了代码的可读性和可维护性。本章节,我们将深入探讨Python函数的创建和调用、参数传递以及返回值这三个核心概念。

weixin_66855479的博客 2434

Python 定义、调用、参数、递归和 Lambda 函数详解

函数是一段代码块,只有在调用时才会运行。您可以将数据(称为参数)传递给函数。函数可以返回数据作为结果。创建函数在Python中,使用def关键字定义函数:示例登录后复制 def my_function(): print("Hello from a function")1.2.调用函数要调用函数,请使用函数名称后跟括号...

Salted fish in hand, I have the world. 1063

Python函数的创建和调用

上述代码中,我们创建了一个新的函数multiply_numbers,用于计算两个数的乘积。函数执行完毕后,将乘积结果返回给调用者,并通过print函数打印出来。例如,我们来创建一个计算两个数字之和的函数。在括号内,我们指定了两个参数a和b,它们将作为函数的输入。在函数外部,我们依然可以访问全局变量name,并通过print函数将其打印出来。函数执行后,返回的结果被赋值给了result变量,并通过print函数打印出来。在函数执行到return语句时,会将返回值返回给调用者,并且停止函数的执行。

m0_70911440的博客 1060

Python-创建并调用自定义文件中的模块/函数

接着上一步的操作,我们再在python项目1下创建一个新文件并将其命名为function_1.py,然后尝试在function_1.py中引用name_1.py中的odd()函数-'from name_1 import odd'。接着在name_1.py文件中自定义了一个函数odd()(如上所示),odd()将判断用户传递的实参是否为偶数,如果是,则返回值1;同时,如果文件中有__init__.py文件,这通常表示该文件夹是一个Python包,可以使用import语句导入包中的模块。结果不出所料,为1。

2401_83954530的博客 2308
上一篇: php不写闭合标签的好处
下一篇: Python continue语句用法
my_baby_2009
博客等级 码龄14年 31粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值