- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python中关于函数的具体用法范例以及介绍由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数 。
定义函数的规则:
。
格式如下:
def 函数名(): 执行语句函数名() #调用函数
实例:
def info(): print("人生苦短我用python")info()
定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它 调用函数很简单的,通过 函数名() 即可完成调用 每次调用函数时,函数都会从头开始执行,当这个函数中的代码执行完毕后,意味着调用结束了 当然了如果函数中执行到了return也会结束函数 。
。
首先定义一个带有参数的函数,并且调用这个函数 。
实例:
def test1(a,b): # a,b为参数 c=a+b print(c)test1(1,2) # 调用带有参数的函数时,需要在小括号中,传递数据
定义时小括号中的参数,用来接收参数用的,称为 “形参” 调用时小括号中的参数,用来传递给函数用的,称为 “实参” 。
。
函数参数大概分为四种:
格式如下:
def 函数名(参数1,参数2): 代码块函数名(值1,值2)
实例:
def fun(a,b): print("a:",a) print("b:",b)fun(2,3)
格式如下:
def 函数名(参数1,参数2): 代码块函数名(参数1=值1,参数2=值2)
实例:
def fun(a,b): print("a:",a) print("b:",b)fun(a=2,b=3)
参数调用时可以改变传参顺序,如果有位置参数需要位置参数放在关键字参数前面 。
实例:
def fun(a,b): print("a:",a) print("b:",b)fun(3,b=2)
如果关键字参数传参要在位置参数之前,将会报错 。
实例:
def fun(a,b): print("a:",a) print("b:",b)fun(a=3,2)
在形参中默认有值的参数,称之为缺省参数(也称为默认参数) 。
实例:
def printinfo(name,age=20): print("name:",name) print("age:",age)printinfo(name="jack")
调用函数时,缺省参数的值如果没有传入,则取默认值(形式参数),如果传入,则取实际参数 缺省参数一定要位于位置参数的最后面 。
有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数,声明时不会命名.
格式如下:
def printinfo(*args,**kwargs): print("args:",args) print("kwargs:",kwargs)printinfo(参数)
加了星号(*)的变量args会存放所有未命名的变量参数,args为元组 加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典 。
实例:
def printinfo(*args): print("args:",args)printinfo(100,200,300,400)
实例:
def printinfo(**kwargs): print("kwargs:",kwargs)printinfo(a=100,b=200,c=300,d= 400)
格式如下:
def fun(位置参数,*args,缺省参数,**kwargs): 代码块fun(参数值)
实例:
def sun(a,*args,b=22,**kwargs): print("a:",a) print("args:",args) print("b:",b) print("kwargs:",kwargs)sun(100,200,300,b=2,m=3,n=4)
如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 *args的后面, 但如果有**kwargs的话,**kwargs必须是最后的 。
场景: 我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟这个事情最终的目标是,让他把烟给你带回来然后给你对么,,,此时烟就是返回值 。
格式如下:
def sum(): 代码块 return 值sum()
实例:
def sum(a,b): return a+bresult = sum(1,2) #保存函数的返回值print(result)
实例:
def create_nums(num): print("---1---") if num == 100: print("---2---") return num + 1 # 函数中下面的代码不会被执行,因为return除了能够将数据返回之外,还有一个隐藏的功能:结束函数 print("return执行之后不会继续执行") else: print("wewe") return "输入不是100"print(create_nums(100))
一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处 。
实例:
def divid(a, b): add = a+b #相加 reduct = a-b #相减 return add, reduct #默认是元组result = divid(5, 2)print(result)
return后面可以是元组,列表、字典等,只要是能够存储多个数据的类型,就可以一次性返回多个数据 。
函数根据有没有参数,有没有返回值,可以相互组合,一共有4种:
此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数 。
实例:
def printMenu(): print('--------------------------') print(' xx涮涮锅 点菜系统') print('') print(' 1. 羊肉涮涮锅') print(' 2. 牛肉涮涮锅') print(' 3. 猪肉涮涮锅') print('--------------------------')
此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数 。
实例:
def getTemperature(): # 这里是获取温度的一些处理过程 # 为了简单起见,先模拟返回一个数据 return 24tem=getTemperature()print(tem)
此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数 。
此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数 。
实例:
# 计算1~num的累积和def calculateNum(num): result = 0 i = 1 while i<=num: result = result + i i+=1 return resultcal=calculateNum(100)print(cal)
一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用 。
实例:
def testb(): print("testb start") print("testb testb 执行") print("testb end")def testa(): print("testa start") testb() print("testa end")testa()
如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次 函数A执行的位置 。
lambda函数也叫匿名函数,即函数没有具体的名称 。
实例:
g = lambda x :x+1print(g(1))
lambda函数可以赋值给变量,默认是返回的,所以不用再加return关键字 例如g = lambda x:x+1,可以看成如下函数,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值 。
def g(x): return x + 1print(g(1))
。
写一个函数求三个数的和,并返回结果 。
def func(a,b,c): return a+b+cprint(func(1,4,7))
写一个函数求三个数的平均值,并返回结果 。
def func1(a,b,c): return (a+b+c)/3print(func1(2,3,4))
写一个函数求每个数与平均值之间的差,并返回结果 。
def func2(a,b,c): d=(a+b+c)/3 return a-d,b-d,c-dprint(func2(5,8,2))
到此这篇关于Python中关于函数的具体用法范例以及介绍的文章就介绍到这了,更多相关Python 函数用法内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/weixin_45043349/article/details/120491364 。
最后此篇关于Python中关于函数的具体用法范例以及介绍的文章就讲到这里了,如果你想了解更多关于Python中关于函数的具体用法范例以及介绍的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
最近我在用 RestSharp消耗我的 Restful 资源。并期望在服务器和客户端之间与 JSon 交换数据。下面是我的 C# 代码。 var client = new RestSharp.Rest
我正在阅读 Bartosz Milewski 的一篇文章,其中他定义了以下函数: instance Applicative Chan where pure x = Chan (repeat x)
‘…' 其实是go的一种语法糖。 它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。 第二个用法是slice可以被打散进行传递。 实例:
前言 在算face_track_id map有感: 开始验证 data={"state":[1,1,2,2,1,2,2,2],"pop":[&quo
本文实例讲述了php访问数组最后一个元素的函数end()用法。分享给大家供大家参考。具体分析如下: end()函数在PHP中用于检索数组中的最后一个元素。end()函数需要一个数组作为其唯一参数,
我使用的是 jdk1.8.0_92。我的虚拟机如下所示。 $java -version java version "1.8.0_92" Java(TM) SE Runtime Environment
我的情况是我需要将所有匹配 http://mywebsite.com/portfolio/[anyname] 的请求定向到 http://mywebsite.com/portfolio.php?用户名
我正在尝试在 NLTK 中使用语音标记并使用了以下命令: >>> text = nltk.word_tokenize("And now for something completely differe
#include typedef QList IntList; qRegisterMetaType("IntList"); error C2909: 'qRegisterMetaType':
来自 here我知道 BN_CTX 是一个保存 BIGNUM 临时变量的结构。这些 BIGNUM 变量什么时候会进入 BN_CTX 的 BN_POOL?如果我有一个 bignum_ctx BN_CTX
尝试为 ABPersonRef 创建对象例子:ABpersonRef 引用; 已包含Addressbook和AddressBookUI框架即使这样,当我编译时,它仍显示“ABPersonRef”未声明
我无法使用 GetAltTabInfo。可能是一个愚蠢的错误,但这有什么问题呢? HWND taskSwitcher = FindWindow(L"TaskSwitcherWnd", L"Task S
JSLint4Java 是 JSLint 的 Java 包装器。我需要这样的东西在我的 GWT 项目中使用,但使用 JSLint4Java 的唯一方法似乎是从命令行或通过 ANT 任务。有谁知道是否有
我有一个持久化实体对象的方法 persistData() 。我有另一个方法 findData() ,它对同一实体类执行 find() 操作以获取持久的主键值。当我在实体类的@PostPersist中调
下面是我的代码。请查看。 1. bool isUnavailable = db.Deploys.Where(p => p.HostEnvironmentId == Guid.Parse(h
这个问题已经有答案了: Why can't a Generic Type Parameter have a lower bound in Java? (6 个回答) 已关闭 9 年前。 我试图理解为什
我正在尝试使用 scala 编译器 Y 警告,但我认为我做得不对。在下面的示例中,nums 未使用,因此我希望 -Ywarn-value-discard 打印一个警告。有两个 if 条件,一个嵌套在另
用户被要求从某个给定的集合中选择一个 ID。我检查该 ID 是否存在于我的集合中,如果不存在,我会抛出 IndexOutOfBoundsException 并稍后捕获它。我实际上可以使用该异常来达到这
我正在尝试减少从 OSM 路径数据生成的形状文件。我正在使用 VTS 的 DouglasPeuckerSimplifier 实现。我想为特定 GTFS(通用交通提要规范)构建路线图的 geojson。
我明白了?!是排除某个模式,例如 a(?!b) 表示如果“a”后面没有“b”,它将匹配“a”。我的问题是,假设我有一个包含以下内容的文件: a cat is a cat, a dog is a dog
我是一名优秀的程序员,十分优秀!