美文网首页
python 学习日记3(建立对象,对象与列表结合使用,对对象的

python 学习日记3(建立对象,对象与列表结合使用,对对象的

作者: ililililijia | 来源:发表于2016-08-09 18:29 被阅读0次

    今天写了一个简单的代码,但是问题不断,断断续续一天才完成,写这篇博客好好分析以下:

    问题就是建立个student对象里面有name和count,记载某人的投票数.原始数据已给出.

    示例代码如下:

    A=['tom','adel','alex']

    B=[4,3,2]

    class Student:

    def setName(self,name):

    self.name=name

    def setCount(self,count):

    self.count=count

    def getName(self):

    return self.name

    def getCount(self):

    return self.count

    def _str_(self):

    return "%s:%s"%(self.name,self.count)

    C=zip(A,B)

    Stu_list=[]

    for i in range(len(C)):

    Stu=Student()

    Stu.setName(C[i][0])

    Stu.setCount(C[i][1])

    Stu_list.append(Stu)

    for i in range(len(C)):

    print Stu_list[i]._str_()

    现在我仔细梳理一下我遇到的各种问题:

    1:     for i in range(len(C)):

    在这一句中我想得出C列表的长度,并进行循环操作,这时必须要用range函数才可以不然会得到错误如下:

    TypeError: 'int' object is not iterable

    2:       Stu=Student()

    在没有建立实例的情况下直接使用Student对象.谨记谨记!

    3:        Stu_list.append(Stu)

    之前一直写Stu[i]一直出错.后来知道只有建立列表才能这样使用,和C语言的结构体数组混淆了.

    随后建立了Stu_list数组利用append函数加入对象.

    4:      print Stu_list[i]._str_()

    在输出时一开始直接使用 print Student 结果出来的是:

    [<__main__.Student instance at 0x7f6fbbbdcbd8>,

    类似于存储地址 

    输出地址中内容要么使用 Stu_list.getName 要么加入_str_函数然后用

    print Stu_list._str_() 就可以了.

    总结起来感觉没有什么好说的,当时写的时候真的是麻烦不断阿!!!!

    相关文章

      网友评论

          本文标题:python 学习日记3(建立对象,对象与列表结合使用,对对象的

          本文链接:https://www.haomeiwen.com/subject/fxydsttx.html