当前位置:   article > 正文

Python函数总结_python函数实验报告总结

python函数实验报告总结

在Python中,函数是一个带有名字的代码块,可以被反复调用。函数可以帮助你组织和重用代码,使你的程序更整洁,更易于维护。本文将会深入探索Python的秘密

目录

定义函数

自定义函数

内置函数

函数式方程

高阶函数

函数标注

往期精彩文章:

定义函数

定义函数的语法如下:

  1. def function_name(parameters):
  2. # code to be executed

其中def是关键字,后面紧跟函数名和圆括号,圆括号内可以包含一个或多个参数,参数用逗号隔开。参数是函数执行时需要输入的值,它们在函数内都可以被当作变量使用。函数定义的末尾需要一个冒号,接下来的代码块应该缩进。举个例子,下面代码定义一个函数say_hello,它接受一个参数name,并打印一条问候语:

  1. def say_hello(name):
  2. print("Hello, " + name + "!")
  3. say_hello("Alice") # 输出 "Hello, Alice!"
  4. say_hello("Bob") # 输出 "Hello, Bob!"

函数也可以返回值。使用关键字return 可以将函数的执行结果返回给调用者。例如,下面的函数add会将两个数相力并返回结果:

  1. def add(a, b):
  2. return a + b
  3. result = add(1, 2) # 调用函数并将结果赋值给变量 result
  4. print(result) # 输出 3

自定义函数

Python中使用def来定义函数,并使用return来返回特定的值。

看一个简单的函数的例子:

  1. def my_function(x, y, z):
  2. if z > 1:
  3. return z * (x + y)
  4. else:
  5. return z / (x + y)

把我们之前讲的斐波拉赫数列的例子重新用函数来定义,可以这样写:

  1. def fib(n):
  2. a, b = 0, 1
  3. while a < n:
  4. print(a, end=' ')
  5. a, b = b, a+b
  6. print()
  7. # 调用函数
  8. fib(1000)

这样我们在调用my_function可以只用传递两个参数,最后的z可以使用默认的参数值。

注意,默认值只会执行一次,如果你传入的参数是可变对象(列表,字典和类实例)的话,我们需要注意这个问题:

  1. def f(a, L=[]):
  2. L.append(a)
  3. return L
  4. print(f(1))
  5. print(f(2))
  6. print(f(3))
  7. # 输出
  8. [1]
  9. [1, 2]
  10. [1, 2, 3]

如果不想在后面的调用中共享默认值,那么可以把默认值的赋值放到函数体内部:

  1. def f(a, L=None):
  2. if L is None:
  3. L = []
  4. L.append(a)
  5. return L

内置函数

除了用户的自定义函数之外,Python内置了一些非常有用的函数:

 我总结了以下几点:

  • abs():返回数字的绝对值。
  • all():如果所有元素都为真,则返回 True,否则返回 False。
  • any():如果任何元素为真,则返回 True,否则返回 False。
  • bin():将整数转换为二进制字符串。
  • bool():将值转换为布尔值。
  • chr():将整数转换为 Unicode 字符。
  • dict():创建一个新的字典。
  • float():将数字或字符串转换为浮点数。
  • hex():将整数转换为十六进制字符串。
  • int():将数字或字符串转换为整数。
  • len():返回序列的长度。
  • list():创建一个新的列表。
  • max():返回序列中的最大值。
  • min():返回序列中的最小值。
  • oct():将整数转换为八进制字符串。
  • open():打开文件。
  • ord():将字符转换为 ASCII 整数。
  • range():生成一个数字序列。
  • round():对数字进行四舍五入。
  • set():创建一个新的集合。
  • str():将值转换为字符串。
  • tuple():创建一个新的元组。
  • type():返回值的类型。

函数式方程

使用函数来定义计算的编程范式称为函数式编程。不可更改状态的概念是函数式编程的关键定义特征之一。

计算是通过命令式编程中的语句完成的,这可以说是您已经熟悉的最流行的编程范式。这些命令会影响变量的值,从而影响执行后的计算状态。例如,for 循环可以重复执行一条语句,每次更改变量的值,如下所示:

  1. counter = 0
  2. for i in range(10):
  3. counter += 1

在循环的每次迭代中,计数器的值每次增加 1 时,计算状态都会发生变化,使其更接近结束状态。

高阶函数

在函数式编程中,高阶函数是我们定义计算的主要工具。这些是将函数作为参数并返回函数作为结果的函数。Reduce()、map() 和 filter() 是 Python 中最有用的三个高阶函数。当与更简单的功能配对时,它们可用于执行复杂的操作。

下面的代码示例演示了一个高阶函数。print greeting() 接受两个参数:函数 f 和名称 n,并返回调用 f 的结果。(n)

  1. def greet(name):
  2. return "Hello, {}!".format(name)
  1. def print_greeting(f, n):
  2. print(f(n))

函数标注

之前我们讨论的是简单的自定义函数形式,我们并不知道函数的参数类型和返回值类型,其实函数可以写得更加详细一些,这就要用到函数标注了。

所谓函数标注就是用户自定义函数中的类型的可选元数据信息。

函数标注是以字典的形式存放在 __annotations__ 属性中的。我们在参数的名称后面加上冒号,后面跟一个表达式,那么这个表达式会被求值为标注的值。对于返回值来说,返回值标注的定义是加上一个组合符号 ->,后面跟一个表达式,该标注位于形参列表和表示 def 语句结束的冒号之间。

举个例子:

  1. >>> def f(ham: str, eggs: str = 'eggs') -> str:
  2. ... print("Annotations:", f.__annotations__)
  3. ... print("Arguments:", ham, eggs)
  4. ... return ham + ' and ' + eggs
  5. ...
  6. >>> f('spam')
  7. Annotations: {'ham': <class 'str'>, 'return': <class 'str'>, 'eggs': <class 'str'>}
  8. Arguments: spam eggs
  9. 'spam and eggs'

其实使用函数标注写出来的程序更加清晰,可读性更高。

往期精彩文章:

基本线性数据结构的Python实现icon-default.png?t=M85Bhttps://blog.csdn.net/qq_46939030/article/details/128400244?spm=1001.2014.3001.5501

python基本概念icon-default.png?t=M85Bhttps://blog.csdn.net/qq_46939030/article/details/128387752python特点及优势icon-default.png?t=M85Bhttps://blog.csdn.net/qq_46939030/article/details/122613405利用python爬取散文网文章的实列icon-default.png?t=M85Bhttps://blog.csdn.net/qq_46939030/article/details/122557032

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/134055
推荐阅读
相关标签
  

闽ICP备14008679号