Py100Skills

[Py022]类中函数参数传递

2019-01-08  本文已影响26人  安哥生个信

python类中定义函数的时候,可以根据需求决定传入哪些参数。

例如下面这个例子,在__init__中将Fasta类可能需要用到的参数全部定义出来,

但是下面具体的delNs函数根据实际需求来判断到底传入哪些参数。

需要注意的是,delNs中涉及的类参数,前面加上self就可以了

class Fasta:
    def __init__(self, inFasta=None, outFasta=None, names=None):
        self.inFasta = inFasta
        self.outFasta = outFasta
        self.names = names

    def delNs(self):
        '''
        剔除全部为N碱基的序列
        '''
        records = SeqIO.parse(self.inFasta, 'fasta')
        outrecords = [record for record in records
                      if any(base != 'N' for base in record.seq)]
        return SeqIO.write(outrecords, self.outFasta, 'fasta')
上一篇 下一篇

猜你喜欢

热点阅读