python 学习日记3(建立对象,对象与列表结合使用,对对象的数据进行访问)

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

问题就是建立个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(建立对象,对象与列表结合使用,对对象的数据进行访问))