IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python函数总结 -> 正文阅读

[Python知识库]Python函数总结

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

目录

定义函数

自定义函数

内置函数

函数式方程

高阶函数

函数标注

往期精彩文章:

定义函数

定义函数的语法如下:

def function_name(parameters):
    # code to be executed

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

def say_hello(name):
    print("Hello, " + name + "!")

say_hello("Alice")  # 输出 "Hello, Alice!"
say_hello("Bob")    # 输出 "Hello, Bob!"

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

def add(a, b):
    return a + b

result = add(1, 2)  # 调用函数并将结果赋值给变量 result
print(result)  # 输出 3

自定义函数

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

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

def my_function(x, y, z):
      if z > 1:
         return z * (x + y)
     else:
         return z / (x + y)

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

def fib(n):   
     a, b = 0, 1
     while a < n:
         print(a, end=' ')
         a, b = b, a+b
     print()
     
# 调用函数
fib(1000)

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

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

def f(a, L=[]):
    L.append(a)
    return L

print(f(1))
print(f(2))
print(f(3))

# 输出
[1]
[1, 2]
[1, 2, 3]

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

def f(a, L=None):
    if L is None:
        L = []
    L.append(a)
    return L

内置函数

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

内置函数

abs()

delattr()

hash()

memoryview()

set()

all()

dict()

help()

min()

setattr()

any()

dir()

hex()

next()

slice()

ascii()

divmod()

id()

object()

sorted()

bin()

enumerate()

input()

oct()

staticmethod()

bool()

eval()

int()

open()

str()

breakpoint()

exec()

isinstance()

ord()

sum()

bytearray()

filter()

issubclass()

pow()

super()

bytes()

float()

iter()

print()

tuple()

callable()

format()

len()

property()

type()

chr()

frozenset()

list()

range()

vars()

classmethod()

getattr()

locals()

repr()

zip()

compile()

globals()

map()

reversed()

__import__()

complex()

hasattr()

max()

round()

?我总结了以下几点:

  • 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 循环可以重复执行一条语句,每次更改变量的值,如下所示:

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

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

高阶函数

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

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

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

函数标注

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

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

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

举个例子:

>>> def f(ham: str, eggs: str = 'eggs') -> str:
...     print("Annotations:", f.__annotations__)
...     print("Arguments:", ham, eggs)
...     return ham + ' and ' + eggs
...
>>> f('spam')
Annotations: {'ham': <class 'str'>, 'return': <class 'str'>, 'eggs': <class 'str'>}
Arguments: spam eggs
'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

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 11:04:55  更:2022-12-25 11:09:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/22 18:04:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码