-
Python 进阶查看全部
-
__cmp__用实例自身self和传入的实例 s 进行比较,如果 self 应该排在前面,就返回 -1,如果 s 应该排在前面,就返回1,如果两者相当,返回 0。 if self.score == s.score: return cmp(self.name, s.name) return -cmp(self.score, s.score)查看全部
-
%s,表示格化式一个对象为字符 '(Student: %s, %s, %s)' % (self.name, self.gender, self.score) (Student: Bob, male, 88)查看全部
-
getattr(s, 'name') # 获取name属性 'Bob' >>> setattr(s, 'name', 'Adam') # 设置新的name属性查看全部
-
如何区分包和普通的目录? 包文件中都含有__int__.py这个文件 如何解决同名的模块? 把它们放入不同的包中查看全部
-
class Fib(object): def __init__(self,num): a,b,L = 0,1,[] for n in range(num): L.append(a) a,b = b,a+b self.numbers = L print 'self.numbers is list?',isinstance(self.numbers,list) print len(L) def __str__(self): t = str(self.numbers) print 'self.numbers now is str?',isinstance(t,str) print len(t) return t __repr__ = __str__ def __len__(self): return len(self.numbers) f = Fib(10) print f print len(f)查看全部
-
class Person(object): pass class Student(Person): pass class Teather(Person): pass class SkillMixin(object): pass class BasketballMixin(SkillMixin): def skill(self): return 'Basketball' class FootballMixin(SkillMixin): def skill(self): return 'Football' class Basket_Student(BasketballMixin,Student): def skill(self): return 'Basketball Student' class Foot_Teacher(FootballMixin,Teather): def skill(self): return 'Football Teather' t = Foot_Teacher() print t.skill() s = Basket_Student() print s.skill()查看全部
-
下次听模块查看全部
-
不同的实例它们拥有相同的数据类型,但是它们拥有不同的属性。查看全部
-
class Person(object): def __init__(self,name,gender): self.name = name self.gender = gender class Student(Person): def __init__(self,name,gender,score): super(Student,self).__init__(name,gender) self.score = score class Teacher(Person): def __init__(self,name,gender,course): super(Teacher,self).__init__(name,gender) #super之后没冒号 self.course = course t = Teacher('Alice','Female','English') print t.name print t.course查看全部
-
类方法的第一个参数将传入类本身,通常将参数名命名为 cls,而cls.count 实际上相当于 Person.count。查看全部
-
for k,v in kw.iteritems(): setattr(self,k,v)查看全部
-
read()函数要带一个self参数。。。。查看全部
-
如果要把一个类的实例变成 str,就需要实现特殊方法__str__() 这时print 一个Person对象,就会按照定义的方式来显示 但如果不用print语句,直接在命令提示符下敲入一个Person对象,依然按照系统原有方式显示,这是因为Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员查看全部
-
在Python中,函数其实是一个对象,所有的函数都是可调用对象. 一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__() 我们把 Person 类变成一个可调用对象: class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __call__(self, friend): print 'My name is %s...' % self.name print 'My friend is %s...' % friend 现在可以对 Person 实例直接调用: >>> p = Person('Bob', 'male') >>> p('Tim') My name is Bob... My friend is Tim... 单看 p('Tim') 你无法确定 p 是一个函数还是一个类实例,所以,在Python中,函数也是对象,对象和函数的区别并不显著。查看全部
举报
0/150
提交
取消