发布时间:2022-05-15 文章分类:Python 知识 投稿人:赵颖 字号: 默认 | | 超大 打印

python如何查找缺失的参数

说明

1、如果在切片时遗漏了任何参数,Python将尝试自动计算。

2、如果检查CPython的源代码,会发现一个函数叫做PySlice_GetIndicesEx(),它计算任何给定参数的切片索引。

它是Python中的逻辑等效代码。

该函数使用Python对象和可选参数进行切片,并返回切片的开始、停止、步长和长度。

实例

defpy_slice_get_indices_ex(obj,start=None,stop=None,step=None):

length=len(obj)

ifstepisNone:
step=1
ifstep==0:
raiseException("Stepcannotbezero.")

ifstartisNone:
start=0ifstep>0elselength-1
else:
ifstart<0:
start+=length
ifstart<0:
start=0ifstep>0else-1
ifstart>=length:
start=lengthifstep>0elselength-1

ifstopisNone:
stop=lengthifstep>0else-1
else:
ifstop<0:
stop+=length
ifstop<0:
stop=0ifstep>0else-1
ifstop>=length:
stop=lengthifstep>0elselength-1

if(step<0andstop>=start)or(step>0andstart>=stop):
slice_length=0
elifstep<0:
slice_length=(stop-start+1)/(step)+1
else:
slice_length=(stop-start-1)/(step)+1

return(start,stop,step,slice_length)

以上就是python查找缺失参数的方法,希望对大家有所帮助。更多Python学习指路:Python基础教程