python self 序列_python中序列的属性实现

a6aaf9e623c1087759213e9d1ffd1bbd.png

在对一个事物进行了解的时候,我们会选择从它的属性入手,因为属性和其的用法有了密切的关联。可以说了解了事物的属性,我们基本上就差不多知道使用的方法了。今天小编为大家带来的是序列的属性,除了我们熟悉的最大和最小之外,还有和、长度需要我们掌握,下面一起看看序列属性的具体内容吧。

序列最大值:max

序列最小值:min

序列的和: sum

序列长度: len

基本用法:向这四个函数中传入序列,可以得到对应属性。import random

random.seed(21)

seq = [random.randint(0, 100) for i in range(10)]

print(seq)

# [21, 53, 88, 53, 81, 36, 61, 27, 60, 65]

print(max(seq))

# 88

print(min(seq))

# 21

print(sum(seq))

# 545

print(len(seq))

# 10

作为内置函数,可以直接传入生成器(不需要括号)作为参数:import random

random.seed(21)

num = max(random.randint(0, 100) for i in range(10))

print(num)

# 88

可传入 key 参数,作为比较大小的依据,相当于把序列中每一个元素 item 先传入函数 key 中,将函数返回的数值作为判断对象大小的依据。def foo(x):

return 1. / x

max(seq, key = foo)

# 21

对于我们自定义的类型,必须实现特殊方法,才能进行 len 等操作。

len 代表:len 操作,eq 代表:= 操作,lt 代表 < 操作。class foo:

def __init__(self, num, seq):

self.num = num

self.seq = seq

def __len__(self):

return len(self.seq)

def __eq__(self, other):

return self.num == other.num

def __lt__(self, other):

return self.num 

>>> f1 = foo(18, [1, 4, 6])

>>> f2 = foo(21, [1, 7, 9, 10])

>>> f1 

True

>>> f1 > f2

False

>>> f1 == f2

False

>>> f3 = foo(18, [9, 9, 0, 7])

>>> f1 == f3

True

>>> len(f1)

3

>>> len(f2)

4

今天的python序列属性有点像我们数学中的函数求值的理解,因为本篇的属性代码需要结合函数一起使用,所以会有相像的地方。具体的步骤都在上方,小伙伴们可以跟着小编的思路进行学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值