PEP570新语法:之只接受位置参数的示例分析
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章将为大家详细讲解有关PEP570新语法:之只接受位置参数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最近 PEP 570被接受了,其实要加的这个
千家信息网最后更新 2025年01月20日PEP570新语法:之只接受位置参数的示例分析
这篇文章将为大家详细讲解有关PEP570新语法:之只接受位置参数的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
最近 PEP 570被接受了,其实要加的这个Positional-Only Parameters
原来在内置的C函数上有很多都用到了:
In : __builtin__.evalOut:In : __builtin__.lenOut: In : __builtin__.divmodOut:
看它们的签名,最后都有一个/,/用途是 在/左面的这些参数,只能是位置参数(不能是关键字参数):
In : divmod(3, 2)Out: (1, 1)In : divmod(x=3, y=2)---------------------------------------------------------------------------TypeError Traceback (most recent call last)in ----> 1 divmod(x=3, y=2)TypeError: divmod() takes no keyword arguments
如果使用关键字参数的方式,会报错。当然这个错有点莫名其妙。为什么要搞Positional-Only呢?就是强制使用者用位置参数!
再看一个例子(bytes):
In [68]: bytes??Init signature: bytes(self, /, *args, **kwargs)Docstring:bytes(iterable_of_ints) -> bytesbytes(string, encoding[, errors]) -> bytesbytes(bytes_or_buffer) -> immutable copy of bytes_or_bufferbytes(int) -> bytes object of size given by the parameter initialized with null bytesbytes() -> empty bytes object...In : bytes('哈哈', 'utf-8')Out: b'\xe5\x93\x88\xe5\x93\x88'In : bytes('哈哈', encoding='utf-8')Out: b'\xe5\x93\x88\xe5\x93\x88'
虽然bytes也有/,但是它只约束了左边的参数(这里只有一个self),之后的encoding可以用位置参数,也能用关键字参数。
通过PEP 570,我们写的Python代码也可以支持了。你可以这样写:
def name(p1, p2, /, p_or_kw, *, kw):def name(p1, p2=None, /, p_or_kw=None, *, kw):def name(p1, p2=None, /, *, kw):def name(p1, p2=None, /):def name(p1, p2, /, p_or_kw):def name(p1, p2, /):
在 Python 3.8 时我们就能使用这个新语法啦。现在可以通过 PEP里面的几个简单例子,感受一下它的用法,期待哟
关于"PEP570新语法:之只接受位置参数的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
参数
位置
语法
关键
关键字
篇文章
示例
分析
例子
更多
不错
实用
莫名其妙
代码
使用者
内容
函数
只有
可以通过
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
青岛网络安全产业项目
开源阅读服务器
通企业网络安全应急响应二级资质
教材选购数据库
沙漠地图的服务器在哪里
数据库读数据时如何确定是最新的
web前端获取数据交给数据库
海南it软件开发公司
pes服务器什么时候开
添加网络安全性选择那个
芜湖激光工控机服务器
台风山竹的大数据库
创益网络技术有限公司
java 定时数据库备份
数据库软件投标技术方案
基础数据库 人口法人
在哪建软件开发公司好
网吧怎么玩澳洲服务器
数据库like不加百分号
数据库安全控制的基本单位
wincc与sql数据库
农村网络安全宣传简报
苹果公司网络安全
亚马逊账号用云服务器靠谱吗
网络安全市场调研题目
沂水旗胜网络技术是什么公司
手机游戏云服务器都是怎么做的
河北联想服务器维修哪家好
数据库是数
软件开发高级需要数学好