为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
python进阶_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • type()判断对象的类型 dir()获取对象的所有属性,返回的是字符串列表 getattr(对象,属性) getattr(s, 'name') setattr(对象,属性,值) setattr(s, 'name', 'Adam')
    查看全部
  • 一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。__init__(name, gender)中不能再有self
    查看全部
  • 每次新建一个实例的时候,类的属性会不会重新初始化
    查看全部
  • 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类如下: class Person(object): pass 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。类的继承将在后面的章节讲解,现在我们只需要简单地从object类继承。 有了Person类的定义,就可以创建出具体的xiaoming、xiaohong等实例。创建实例使用 类名+(),类似函数调用的形式创建: xiaoming = Person() xiaohong = Person()
    查看全部
  • 装饰器的作用就是加入新的功能并不损坏其原有的功能,与java的继承有点类似
    查看全部
  • from...import 如 from A import b,相当于 import A b=A.b 再如: "from t2 import var1" 相当于: import t2 var1= t2.var1 在此过程中有一个隐含的赋值的过程 import......as import A as B,给予A库一个B的别称,帮助记忆
    查看全部
  • class Rational(object): def __init__(self, p, q): self.p = p self.q = q def __int__(self): return self.p // self.q def __float__(self): #return float(self.p)/self.q return self.p*1.0/self.q print float(Rational(7, 2)) print float(Rational(1, 3))
    查看全部
  • 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 def __str__(self): return str(self.numbers) __repr__ = __str__ def __len__(self): return len(self.numbers) f = Fib(10) print f print len(f)
    查看全部
    0 采集 收起 来源:python中 __len__

    2017-08-05

  • 从类的内部可以调用实例属性,在实例方法的内部也是可以调用所有实例属性
    查看全部
  • # _*_ coding:utf-8 _*_ #正常是从小到大排序,如果是从大到小排序,就加一个负号 class Student(object): def __init__(self, name, score): self.name = name self.score = score def __str__(self): return '(%s: %s)' % (self.name, self.score) __repr__ = __str__ def __cmp__(self, s): if self.score == s.score: return cmp(self.name, s.name) return -cmp(self.score, s.score) L = [Student('Tim', 99), Student('Bob', 88), Student('Alice', 99)] print sorted(L)
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2017-08-05

  • 区分包与普通目录 1.包下面有个_init_.py 2.注意每层都必须要有
    查看全部
  • 改良的代码相当于已经计算了数值,直接存到了list数列中
    查看全部
    0 采集 收起 来源:python中闭包

    2017-08-05

  • 1.如果要大量转换二进制字符串,每次都传入int(x,base=2)非常麻烦,定义一个int2()函数,默认base为2 def int2(x,base=2): return int(x,base) 2.functools.partial可以帮助我们创建一个偏函数,不需要自己定义int2() import functools int2 = functools.partial(int,base=2)
    查看全部
    0 采集 收起 来源:python中偏函数

    2017-08-05

  • # _*_ coding:utf-8 _*_ #传入**kw 即可传入任意数量的参数,并通过 setattr() 绑定属性。 class Person(object): def __init__(self, name, gender, **kw): self.name=name self.gender=gender for k,v in kw.iteritems(): setattr(self,k,v) p = Person('Bob', 'Male', age=18, course='Python') print p.age print p.course
    查看全部
  • # _*_ coding:utf-8 _*_ #1、空语句,什么也不做 #2、在特别的时候用来保证格式或是语义的完整性 class Person(object): pass class Student(Person): pass class Teacher(Person): pass class SkillMixin(object): pass class BasketballMixin(SkillMixin): def skill(self): return 'basketball' class FootballMixin(SkillMixin): def skill(self): return 'football' class BStudent(Student,BasketballMixin): pass class FTeacher(Teacher,FootballMixin): pass s = BStudent() print s.skill() t = FTeacher() print t.skill()
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!