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': , 'return': , 'eggs': }
Arguments: spam eggs
'spam and eggs'

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

目录
相关文章
|
2月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
189 1
|
2月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
292 1
|
2月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
167 0
|
3月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
275 101
|
3月前
|
缓存 测试技术 Python
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
223 99
|
3月前
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
194 98
|
3月前
|
缓存 Python
Python中的装饰器:优雅地增强函数功能
Python中的装饰器:优雅地增强函数功能
|
4月前
|
Python
Python 函数定义
Python 函数定义
541 155
|
5月前
|
PHP Python
Python format()函数高级字符串格式化详解
在 Python 中,字符串格式化是一个重要的主题,format() 函数作为一种灵活且强大的字符串格式化方法,被广泛应用。format() 函数不仅能实现基本的插入变量,还支持更多高级的格式化功能,包括数字格式、对齐、填充、日期时间格式、嵌套字段等。 今天我们将深入解析 format() 函数的高级用法,帮助你在实际编程中更高效地处理字符串格式化。
566 0
|
3月前
|
算法 安全 数据安全/隐私保护
Python随机数函数全解析:5个核心工具的实战指南
Python的random模块不仅包含基础的随机数生成函数,还提供了如randint()、choice()、shuffle()和sample()等实用工具,适用于游戏开发、密码学、统计模拟等多个领域。本文深入解析这些函数的用法、底层原理及最佳实践,帮助开发者高效利用随机数,提升代码质量与安全性。
680 0

推荐镜像

更多