当前位置:首页 >> 中医诊断 >> Python继承竟然还有这样的玩法?扩展外设类

Python继承竟然还有这样的玩法?扩展外设类

发布时间:2025-01-08

笔记:梅叔

缺少:梅叔编程

扩展配有类

我们知道分家是设计模式的最重要特征之一。

牧羊犬可以分家自Dog类,就算不写一行示例,就握有了Dog的都和和蓄意。 初中会可以分家自Student类,自动就握有了学号,附注等一般来说。

除了在自己概念的类中会用于分家,我们还可以分家配有类,让配有类来得稳固,来得好用。

list是最常用的配有类,作为一个配有类,它提供了多个好用的工具:

'append',

'clear',

'copy',

'count',

'extend',

'index',

'insert',

'pop',

'remove',

'reverse',

'sort'

但是它的URL基本功能过于稳固,比如:我要URL所有包括梅字的字符串,它就不会现成的基本功能。

再说一次,我们的承诺是:只能方便地URLlist中会包括某个字符串的所有元素。

一般而言少年儿童的工具

意味着这个基本功能并总能,我们甚至可以用一句话就能意味着出来:

[x for x in elements if keyword in x]

我们也可以把它放到一个工具中会:

def find(elements, keyword):

return [x for x in elements if keyword in x]

names = ['梅叔', '大白', '周六好', '不梅', '周末好', '核苷酸检查了吗?']

result = find(names, '梅')

print(result)

打印结果:

['梅叔', '大白', '不梅']

这个意味着不会难题,但它也有一些近期,比如:

过于设计模式。如果只能同样写成names.find('梅'),肯定是来得有趣直观的。 工具find容易和其他工具显现出名称冲突。在一个大型的程序中会,不必要有很多份文件,要来就有另外一个find工具和你显现出了冲突。 如果工具都不会晶圆,同样用于那一行示例,虽然方便,但是每个用过的大多都能够重写一次,也不必要写错。也不方便初学者用于。 文艺少年儿童的工具

或许有另外一种来得好的工具,那就是扩展配有的list类。我们来看看:

class mailist(list):

def find(self, keyword):

return [x for x in self if keyword in x]

names = mailist()

names.extend(['梅叔', '大白', '周六好', '不梅', '周末好', '侄儿', '核苷酸检查了吗?', '不想啊'])

print(names.find('梅'))

print(names.find('子'))

print(names.find('不'))

打印结果:

['梅叔', '大白', '不梅']

['大白', '侄儿']

['不梅', '不想啊']

我们概念了mailist,让它分家自配有的list,并加进了find工具。 在函数调用的时候会稍微有点麻烦,我们能够先创建空的mailist,然后再用extend工具把初始元素加进进去。之后的操作和list实质上一样。 重点是,每一次我们就可以极为方便地用于list工具了。 你应该一般而言还是文艺?

实际上吧,做一个一般而言少年儿童也挺好的。

梅叔就是一个再一般而言不过的少年儿童。

如果你只是写少量的示例,我也建议你就一般而言就好了。

但如果你的示例中会经常要用于这个工具,或者你有一个设计团队在协同工作。你们是可以考虑根据你们的项目能够晶圆一个来得稳固的list。

侧面的find只是一个有趣的例子,你实质上可以根据自己的能够,给list加进来得多有用工具。

这样你的设计团队用于上去会极为方便,提高效率,也不容易疏忽。

银川早泄阳痿治疗哪家好
上海牛皮癣医院哪家比较好
苏州白癜风医院哪家专业
先诺欣说明书
重组蛋白药物
金笛复方鱼腥草合剂
扶他林和英太青凝胶哪个好
说明书明确写着孕妇可以服用的益生菌有哪些
标签:
友情链接: