您现在的位置:文学 > 西方诗歌 > 正文

Python入门基础 函数详解

发表于:2019-07-12 13:44 来源:本站原创

Python入门基础 函数详解

函数是可重复使用的,用来实现单一或者相关功能的代码段。 Python中的函数,无论是命名函数,还是匿名函数,都是语句和表达式的集合。

Python函数的使用方式就像Python中其他值一样,例如字符串和数字等。 Python函数拥有一些属性,通过使用Python内置函数dir就能查看这些属性,例如:dir(max)函数定义关键字def用于创建用户自定义函数,函数定义就是一些可执行的语句。

#后面是打印结果defadd(a,b):returna+b函数定义的简单规则:任何传入参数和自变量必须放在圆括号中间。 圆括号之间可以用于定义参数函数代码块以def关键词开头,后接函数标识符名称和圆括号()。 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 函数内容以冒号起始,并且缩进。

return[表达式]结束函数,选择性地返回一个值给调用方。

不带表达式的return相当于返回None。

函数调用函数定义完后,就可以通过另一个函数,或者是命令行调用这个函数,我们来调用上面定义好的add函数:#后面是打印结果printa+b=,add(1,1)#a+b=2函数形参函数取得的参数是你提供给函数的值,这样函数就可以利用这些值做一些事情。

这些参数就像变量一样,只不过它们的值是在我们调用函数的时候定义的,而非在函数本身内赋值。 参数在函数定义的圆括号对内指定,用逗号分割。 当我们调用函数的时候,我们以同样的方式提供值。 注意我们使用过的术语——函数中的参数名称为形参而你提供给函数调用的值称为实参。

其实,上面的例子,我们已经做了演示,把1,1传递给了add函数。 当然,形参也是没有类型的,我们举例说明一下:#后面是打印结果defMyPrint(a):print(a)MyPrint(Helloworld)#HelloworldMyPrint(1)#1MyPrint([1,2,3,4])#[1,2,3,4]局部变量当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。

这称为变量的作用域。 所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。

deffunc(x):printxis,xx=8printchangelocalxto,xx=80func(x)printxisstill,x#最后输出结果,大家自己试下哦!!xis80changelocalxto8xisstill80global关键字:如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是全局的。 我们使用global语句完成这一功能。

没有global语句,是不可能为定义在函数外的变量赋值的。 可以使用定义在函数外的变量的值(假设在函数内没有同名的量)。 然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。

使用global语句可以清楚地表明变量是在外面的块定义的。

deffunc():globalxprintxis,xx=8printchangelocalxto,xx=80func()printvalueofxis,x#最后输出结果xis80changelocalxto8valueofxis8默认参数值对于一些函数,你可能希望它的一些参数是可选的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。

这个功能借助于默认参数值完成。

你可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。

defspeak(message,times=1):printmessage*timesspeak(Hello)speak(World,5)#最后输出结果HelloWorldWorldWorldWorldWorld关键参数如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——这被称作关键参数——我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。

这样做有两个优势一,由于我们不必担心参数的顺序,使用函数变得更加简单了。

二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。 deffunc(a,b=5,c=10):printais,aprintbis,bprintcis,cprint***********func(6,8)func(30,c=31)func(c=50,a=100)#最后输出结果,可以自己做做实验。

ais6bis8cis10***********ais30bis5cis31***********ais100bis5cis50***********return语句return语句用来从一个函数返回即跳出函数。 我们也可选从函数返回一个值。 注意,没有返回值的return语句等价于returnNone。 None是Python中表示没有任何东西的特殊类型。

例如,如果一个变量的值为None,可以表示它没有值。 这里就不举例子了,第一个add函数就带了return了。

DocStringsPython有一个很奇妙的特性,称为文档字符串,它通常被简称为docstrings。

DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。 你甚至可以在程序运行的时候,从函数恢复文档字符串!简单的来说就是给你的函数加个功能说明,嘿嘿。 举例说明:defadd(a,b):returnthevaluea+breturna+b#按F5运行程序后,我们在命令行输入help(add)#输出结果add(a,b)returnthevaluea+b实际效果就是等同于你help(print),窗口打印出来那么多信息,就是在print函数里面也加了DocString,才有了这些帮助信息,我们自己写函数的时候也可以加上,这方方便调用者,来了解你的函数。

来源:面包板社区原帖地址:https:///t/python-cool-python/57556。


最新资讯

  • Python入门基础 函数详解

    函数是可重复使用的,用来实现单一或者相关功能的代码段。 Python中的函数,无论是命名函数,还是匿名函数,都是语句和表达式的集合。 Python函数的使用方式就像Python中其…

  • 《中国锌市场日报》2019年第87期

    ◆今日行情今日沪锌高开低走,主力合约1908运行区间19880-20105元/吨,收跌于19900元/吨,结算价19965元/吨;冶炼厂出货较少,市场持货商较多,报价较积极,均想出货;今日市场…

  • 第五百六十七章 济州岛(8)韩定食最新章节

    李善彬,李宇浩唯一的一个学生。 她有着不错的音乐才华,钢琴,吉他等主要乐器都已经学习了一年多了。 而且在成为李宇浩学生的这一年多里,她学习的娱乐圈相关的东西,可不是一星半点的。 …

  • 《我家殿下重生了》小说章节精彩阅读 苏青重华小说阅读

    《我家殿下重生了》小说章节精彩阅读苏青重华小说阅读小说主人公是苏青重华的书名叫《我家殿下重生了》,这本小说的作者是水犹寒最新写的一本重生类小说,书中主要讲述了:苏青这边还不知道自己已经被人给视…

  • 被女生讨厌了怎么办?伊思情感可以挽回吗

    女人都是容易受惊的动物,她们用一生寻找的爱情在某种程度上不过是一个避风的港湾,一种可以依赖的安全岛。 爱并没有那么深奥,能相依相伴便是最大的幸福,闹矛盾不可怕,闹矛盾也是一种磨合的方…

  • 大地艺术对现代风景园林设计的影响

    【园艺毕业论文】摘要:大地艺术是20世纪现代艺术的一个重要艺术流派,许多大地艺术作品与景观和生态问题密切相关.大地艺术关注自然因素、时间因素,对艺术创作的重要性和工业废弃地问题,从而开拓了风景…

  • 第466章 梅县叶家港岛大亨最新章节

    “你先躺下来。 ”见到叶景诚明显的不适,苏阿秀将重新让他躺下去,问道:“医生说你头部受过撞击,可能会忘记以前的一些事。 ”“这里是哪里?”叶景诚似乎没听到对方说的话,只是重复了一遍…

  • 伤感语句大全:爱过,伤害过,然后可以离别和遗忘

    1、我放下了尊严,放下了个性,放下了固执,都只是因为放不下你。 2、当香烟爱上火柴,就注定被它伤害;点的是烟,伤的是心!3、一分钟可以让人心碎,一小时可以喜欢上一个人,一天可以爱上一个人…

  • 第1476章 冷寂的世界末世异形主宰最新章节

    就这样,在引力的作用下,探险队终于到达了他们的目的地——至少他们是这么认为的。 五个不同方向进入的十艘飞行器,到达了同一个区域。 在用生物发光材料制成的探照灯照射下,呈现在他们面前…

  • 圣火龙灵诀,五行,意识,火火鳥著,短篇小说,短篇美文,突然,女流文学网

    第七章 吃完饭,听见更声已是三更,古剑有些苦笑,穿越过来是很好,却失去了很多的高科技,连简单的电灯都没有,这还真是一朝回到了解放前呀! 不过还好,虽没有了手机跟电话和电视机,却有修炼一事让自…

搜索排行