python_slice构造函数

博客介绍了slice函数,其作用是创建Slice切片对象,该对象可存储节点的起始值、终止值和步长信息。还给出了创建切片对象的函数格式slice(start,stop=None,step=None),并提及了对象属性、示例和练习。
  • slice函数
    作用:
    用于创建一个Slice切片对象
    此对象存储一个节点的起始值,终止值和步长信息

slice(start,stop=None,step=None) 创建一个切片对象

  • slice的对象的属性
s.start		切片起始值,默认为None
s.stop		切片终止值,默认为None
s.step		切片步长,默认为None

说明:平常使用的[::]实际上是系统自动转换为
slice(start,stop,step)的对象然后传递给索引参数
即:L[::2] 实际上是L[slice(None,None,2)]
	更本质上是L.__getitem__(slice(None,None,2))

示例:

#在解释器中输入:
L = [1,2,3,4,5,6,7,8,9]
L[::2]		#[1,3,5,7,9]
L[slice(None,None,2)]		#[1,3,5,7,9]
L.__getitem__(slice(None,None,2))	#[1,3,5,7,9]

练习:

class MyList:
	def __init__(self,iterable):
		self.data = list(iterable)
	def __getitem__(self,i):
		if type(i) is int:
			print('正在做索引操作')
		elif type(i) is slice:
			print('正在做切片操作')
			print('切片开始值是',i.start)
			print('切片终止值是',i.stop)
			print('步长是',i.step)
		else:
			raise KeyError
		return self.data[i]

L = Mylist([1,3,5,7,9])
print(L[::2])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值