函数

函数是带名字的代码块,用于完成具体的工作。要执行函数定义的特定任务,可调用 该函数。需要在程序中多次执行同一项任务时,无须反复编写完成该任务的代码,只需要调用执行该任务的函数,让Python运行其中的代码即可。通过使用函数,程序编写、阅读、测试和修复起来都更加容易。

定义函数

         def function(parameter):
             """docstring"""          # 文档字符串
             function_body            # 函数体

文档字符串

DocStrings 文档字符串是一个重要工具,用于解释文档程序,使程序文档更加简单易懂。
我们可以在函数体的第一行使用一对三个单引号 ”’ 或者一对三个双引号 “”” 来定义文档字符串。
你可以使用 __doc__(注意双下划线)调用函数中的文档字符串属性。
DocStrings 文档字符串使用惯例:它的首行简述函数功能,第二行空行,第三行为函数的具体描述。

函数调用- – – 传递实参

函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。向函数传递实参的方式很多:可使用位置实参 ,这要求实参的顺序与形参的顺序相同;也可使用关键字实参 ,其中每个实参都由变量名和值组成;函数的参数可以是任何数据类型的数据。

位置实参

定义:基于形参的位置,向函数传递参数,实参顺序与形参顺序必须完全相同

关键字实参

定义:关键字实参 是传递给函数的名称值对。因为直接在实参中将名称和值关联起来,所以向函数传递实参时不会混淆。关键字实参让你无须考虑函数调用中的实参顺序,还清楚地指出了函数调用中各个值的用途。

默认值

编写函数时,可以给每个形参指定默认值。

在调用函数中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。因此,给形参指定默认值后,可在函数调用中省略相应的实参。使用默认值可简化函数调用,还可清楚地指出函数的典型用法。

使用默认值时,必须先在形参列表中列出没有默认值的形参,再列出有默认值的实参。这让Python依然能够正确地解读位置实参。
传递任意数量的实参

有时候,预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任意数量的实参,如下:

         def function(*args):
             """docstring"""
             function_body

形参名*args中的星号让Python创建一个名为args的空元组,并将收到的所有值都封装到这个元组中。

如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。

此外,Python可将函数编写成能够接受任意数量的键值对

         def function(**args)
             """docstring"""
             function_body
         # 函数调用
         function(key_1=value_1, key_2=value_2,...)

形参名**args中的双星号让Python创建一个名为args的空字典,并将收到的所有键值对都封装到这个字典中。

“传递值&传递引用”

不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响,可以通过重新创建一个引用对象,来避免修改函数内部列表的同时影响到外部的对象。
python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

Lambda函数

Lambda函数是一种匿名函数(指一类无需定义标识符(函数名)的函数或子程序),也就是没有名字的函数。它通常被用来作为参数传递给其他函数,或者在需要一个简短的函数时使用。Lambda函数通常只有一行代码,并且可以使用简洁的语法来定义。
我们可以将Lambda函数看作是一个可执行的表达式,它接受一些输入参数并返回一个结果。Lambda函数可以接受任意数量的参数,但是只能返回一个结果。

基本语法

Lambda函数的基本语法如下:

         lambda parameters: expression
  • lambda:关键字
  • parameters:形式参数,可以有多个,使用”,”分隔
  • expression:表达式,描述了函数的返回值,可以使用控制流语句、条件语句等
  • lambda返回值是一个函数的地址,也就是函数对象

下面给出一个简单示例:

         # 定义lambda函数,计算两个数的和,并将其赋值给一个变量
         sumTest = lambda a,b:a+b
         # 函数调用
         print(sumTest(2,3))   # 输出值:5

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇