【Python】关于函数

1.调用时

当有重名的时候,使用最后声明的同名函数

解决函数命名冲突问题:

~ 模块名.函数名 ----> 使用函数的完全限定名

~ 别名 ----> 在导入函数的时候,使用as关键字对其别名

2.参数

(1)函数的参数的说明:

~ / 前面的参数叫做"强制位置参数"(positional-only arguments),调用函数传递参数时只能对号入座不能写参数名

~ * 前面的参数叫做"位置参数"(positional arguments),调用函数传递参数时可以对号入座也可以带上参数名

~ * 后面的参数叫做"关键字参数"(keyword arguments),调用函数传递参数时必须写成"参数名=参数值"的形式

~ 注意:关键字参数绝不能出现在位置参数之前!!!

python 复制代码
def is_triangle(a, b, c, /) -> bool:
    """判断三条边能否构成三角形"""
    return a + b > c and b + c > a and a + c > b

def perimeter(*, a, b, c) -> float:
    """计算周长"""
    return a + b + c
(2)可变参数

在设计函数时,如果函数接收的参数(自变量)的个数不能确定,我们可以使用可变参数和关键字参数来接收它们,如下所示:

python 复制代码
def foo(*args, **kwargs):
    pass

*args - arguments - 把所有的位置参数打包成一个元组

**kwargs - keyword arguments - 把所有的关键字参数打包成一个字典

3.赋值给变量

函数可以直接赋值给变量

python 复制代码
px = sorted
print(px(words))

把函数作为另一个函数的参数

根据字符串的长度对元组中的字符串进行排序

python 复制代码
print(px(words, key=len,))

sorted函数的key参数的值是另一个函数,这个函数会重新定义比较大小的规则

注意:把函数作为函数的参数传递时,只写函数名,不能写圆括号调用函数

相关推荐
理智.62917 小时前
Cursor 中使用 Conda 虚拟环境常见问题与彻底解决方案(踩坑实录)
python·conda
aiguangyuan17 小时前
中文分词与文本分析实战指南
人工智能·python·nlp
小二·17 小时前
Python Web 开发进阶实战:量子机器学习实验平台 —— 在 Flask + Vue 中集成 Qiskit 构建混合量子-经典 AI 应用
前端·人工智能·python
one____dream17 小时前
【网安】pwn-ret2shellcode
python·安全·网络安全·网络攻击模型
给你一页白纸18 小时前
将分散的Pytest测试脚本统一接入测试平台:FastAPI改造方案详解
python·pytest·接口自动化·测试平台
孤狼warrior18 小时前
图像生成 Stable Diffusion模型架构介绍及使用代码 附数据集批量获取
人工智能·python·深度学习·stable diffusion·cnn·transformer·stablediffusion
大哥手下留情18 小时前
Python火车票查询方法介绍
开发语言·python
努力毕业的小土博^_^18 小时前
【AI课程领学】第十二课 · 超参数设定与网络训练(课时1) 网络超参数设定:从“要调什么”到“怎么系统地调”(含 PyTorch 可复用模板)
人工智能·pytorch·python·深度学习·神经网络·机器学习
YMLT花岗岩19 小时前
Python学习之-函数-入门训练-在函数中修改全局变量
python·学习
花月mmc19 小时前
CanMV K230 波形识别——数据分析(2)
python·数据挖掘·数据分析·信号处理