为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • types.MethodType() 把一个函数变为一个方法 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同, 函数调用不需要传入 self,但是方法调用需要传入 self
    查看全部
  • 当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。 在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性。
    查看全部
  • 类属性:静态
    查看全部
  • Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。 默认参数一定要用不可变对象,如果是可变对象,运行会有逻辑错误! 要注意定义可变参数和关键字参数的语法: *args是可变参数,args接收的是一个tuple; **kw是关键字参数,kw接收的是一个dict。 以及调用函数时如何传入可变参数和关键字参数的语法: 可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3)); 关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。 使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。 setattr(): setattr()表示你可以通过该方法,给对象添加或者修改指定的属性。 setattr()方法接受3个参数:setattr(对象,属性,属性的值)
    查看全部
  • Python提供的模块管理工具 -easy_install -pip(推荐,已内置到Python2.7.9) pip install 模块名 安装第三方模块,然后通过 import 导入 Python官网搜索web.py 可以找到对应模块中哪些函数
    查看全部
  • 模块和包 import导入
    查看全部
  • 使用 decorator 用Python提供的 @ 语法,这样可以避免手动编写 f = decorate(f) 这样的代码。
    查看全部
  • 要让 @log 自适应任何参数定义的函数,可以利用Python的 *args 和 **kw,保证任意个数的参数总是能正常调用: def log(f): def fn(*args, **kw): print 'call ' + f.__name__ + '()...' return f(*args, **kw) return fn
    查看全部
  • 内置的@语法是为了简化装饰器调用 @new_fn def f1(x): return x*2 相当于 def f1(x): return x*2 f1 = new_fn(f1)
    查看全部
  • 装饰器: 高阶函数:接收一个函数,对其包装,返回新的函数 Python内置的@语法可以简化装饰器的调用 装饰器作用: 简化代码,避免重复编写代码 打印日志 检测性能 数据库事务 URL路由
    查看全部
  • 这例题都没看懂。
    查看全部
    0 采集 收起 来源:python中闭包

    2015-04-18

  • 通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。
    查看全部
  • 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。
    查看全部
  • p1.get_grade 返回的是一个函数对象,但这个函数是一个绑定到实例的函数,p1.get_grade() 才是方法调用。
    查看全部
  • 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的: class Person(object): def __init__(self, name): self.__name = name def get_name(self): return self.__name get_name(self) 就是一个实例方法,它的第一个参数是self。__init__(self, name)其实也可看做是一个特殊的实例方法。 调用实例方法必须在实例上调用: p1 = Person('Bob') print p1.get_name() # self不需要显式传入 # => Bob
    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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