作业-2
定义分子类(Molecule)作为基类,包含集合elements和weight作为其属性,用初始化函数,将
elements初始化为空集,weight初始化为None;定义show_weight方法,该方法用print函数打印
输出分子量weight;定义show_elements方法,用print函数打印输出元素集合。
定义AminoAcid类,继承Molecule类,包含composition属性,并初始化为下面的元素字典:{‘C’:
0, ‘H’: 0, ‘O’: 0, ‘N’: 0, ‘S’: 0};定义calc_mw方法,根据根据字典的元素组成,计算其分子量(需
要用到每种原子的质量,自己去查),并给继承自父类的weight属性赋值;重载show_weight方
法,在其中调用calc_mw方法,计算氨基酸的分子量,再调用父类的show_weight方法,打印输
出weight值;重载show_elements方法,用元素字典中的非零值的键生成元素集合,再打印输出
元素集合。
分别定义亮氨酸(Leucine)、异亮氨酸(Isoleucine)、半胱氨酸(Cysteine)类,均继承自
AminoAcid类,在初始化方法中,根据这三种氨基酸的元素组成(这个要自己去查),为其继承
来的元素字典的各元素对应赋值;定义show_composition方法,打印输出氨基酸的元素字典;在
Leucine类中定义is_isoform方法,接受一个氨基酸对象作为参数,根据氨基酸的元素组成,判断
是否为当前氨基酸的同分异构体,返回布尔值(True或者False)。
分别生成Leucine、Isoleucine、Cysteine类的实例leu、iso、cys,通过该实例,调用其
show_weight、show_elements、show_composition等方法,查看当前氨基酸的分子量、元素集
合、元素字典;通过leu,调用其is_isoform方法,分别以实例iso和cys为参数,查看各自的返回
值,以判定是否同分异构体。
提交Python脚本test_oop.py(包含作者姓名和必要注释)。
收作业邮箱:biopython_hzau2017@163.com ;一周内完成
。