Python_函数

函数是带名字的代码块,可以完成指定的功能。如果需要在程序中重复多次执行某个任务,可以直接调用函数即可。这样就可以避免程序代码的冗余,减少代码量,方便维护。

一、 定义函数的格式:

def function_name(参数1,参数2,参数3......):

代码块

二、函数的形参和实参:函数定义时的参数为形参,在函数调用时赋予的参数为实参; 例如:

三、函数传参讲解

1.位置参数

场景说明:当实参较少,函数在调用时易于知道函数中参数的位置及定义,可以使用该方式。一般用的较多。

说明:位置参数就是函数调用时传入的实参要与函数定义时的形参位置(先后顺序)上一 一对应;例如上面的函数调用时,分别用下面两种方式来进行,1.def get_info(‘陈晨’,'湖北'),2.def get_info('湖北',‘陈晨’)。1表示陈晨来自湖北,2则表示湖北来自陈晨,完全不同,如下图所示:

另外,该种方式除了要求形参和实参的位置(先后顺序)一 一对应外,还要求实参和形参的数量完全相同,否则将会报错;

2.关键字参数

场景说明:当函数中的参数较多,且在每次调用时,参数的顺序较多,不方便记忆,此时建议使用关键字参数的方式进行传参。

说明:关键字参数是指在函数调用时使用键值对的方式来进行制定参数的值,例如:1.get_info(name='陈晨',address ='湖北'),2.get_info(address ='湖北',name='陈晨');两种方式结果完成相同。

即:关键字参数是通过参数名来定义参数值的,与位置无关。

3.默认参数

场景说明:当函数在调用时,大多情况下,某些参数的值不变,此时为了方便,不用每次对这些值进行传值,可以默认为固定的值,有且当需要更改时才进行传值,这些固定的值即为默认参数。

说明:默认参数是位置参数和关键字参数的结合形式,默认参数必须放在最后,其他参数按照位置参数的规则进行传参。现在对上面的例子进行改进(增加一个用户的年龄),如下图所示:

如果在实际使用中发现,百分之七十以上的用户都来自湖北,此时就可以使用默认值,函数定义如下图所示:

这样,以后在调用时,如果该用户是来自湖北,就可以对address不进行传参;如果该用户不是来自湖北,在进行传参,分别如下图所示:

4.任意多参数

场景说明:在某些复杂的项目中,某些函数的参数数量不能事先确定,此时就可以定义成任意多的参数形式,该种模式是参考了位置参数和关键字参数而进一步得到的。我们通过元组来存放事先未知的类似位置参数的参数,通过字典来存放事先未知的键值对(关键字参数),格式如下所示:

注意:如果要让函数接受不同类型的参数,必须在函数中定义任意数量实参的形参放在最后。Python将会先匹配位置实参和关键字参数,再将余下的位置实参收集到元组中,将关键字参数收集到字典中。即:此时的参数顺序:位置参数,关键字参数,元组,键值对,其中某种类型的参数可以不存在(不存在就忽略),但整体的顺序不能变。

四、函数返回值

说明:函数在调用时,绝大数情况下需要得到某个结果返回给调用的对象,此时将需要使用函数返回值了,函数返回值需要使用return关键字。注意:一旦使用了return,函数后面的部分将不再执行;若在函数中没有使用return,返回的将是一个None对象。

函数返回的值可以是任意形式的类型,包括:数字,字符串,列表、元组、字典等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355

推荐阅读更多精彩内容

  • 函数主要有定义和调用两个阶段,在定义阶段,解释器只检查语法,不会执行代码,解释器默帮我们定义了一些内置函数,如常用...
    断尾壁虎V阅读 196评论 0 0
  • 课程概要:1、认识函数2、形参与实参3、全局变量与局部变量4、函数的使用与返回值5、文档字符串(Python中特有...
    LuCh1Monster阅读 591评论 0 1
  • Python | 函数(Function) 「 函数定义 」 在编码世界中,函数经常被使用,而且几乎无处不在。看下...
    熊一二阅读 277评论 4 2
  • 初逢春光, 剩几多残雪, 留住冬装。 赏新绿萌发含羞娇藏。 笑垂柳飘飘面对艳阳。 询春风再度, 还否仍然辜负春光?...
    箫音WF阅读 304评论 0 0
  • 斯蒂芬·金,不愧美国影视界一级香饽饽。 改编自他小说的影视作品里,最牛逼的,当数《肖申克的救赎》。 豆瓣第一,86...
    Sir电影阅读 1,727评论 0 8