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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 对象访问类属性需要前面加上类名

    查看全部
  • 问题的产生是因为函数只在执行时才去获取外层参数i
    若函数定义时可以获取到i,问题便可解决。
    
    所以在函数f()定义中改为f(m = i),函数f返回值改为m*m即可.


    查看全部
    0 采集 收起 来源:python中闭包

    2018-08-18

  • 在python2和python3中filter是不同的,其中在python2中filter返回的是一个list,可以直接使用

    >>> a = [1,2,3,4,5,6,7]>>> filter(lambda x: x%2==0, a)
    [2, 4, 6]

    而在python3中,返回的是<filter object at 0x05D25D90>,应将filter转换成list,才能继续使用

    >>> list(filter(lambda x:x*2, a))
    [1, 2, 3, 4, 5]


    查看全部
  • 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

    18
    Python


    查看全部
  • class Person:

          def __init__(self,name):

                self.name = name

    在类中可以把每一个实例的属性封装起来,这样不同的实例拥有相同的数据类型,却又不同的属性

    查看全部
  • class Person:

          pass        #创建类

    xiaoming = Person( )     #创建实例

    查看全部
  • 带双下划线的属性名不可被外部访问(双下划线在前)

    首尾均有双下划线的属性称之为特殊属性

    查看全部
  • 在Python中动态导入模块:

    try:
        from cStringIO import StringIO
    except ImportError:
        from StringIO import StringIO

    上述代码先尝试从cStringIO导入,如果失败了(比如cStringIO没有被安装),再尝试从StringIO导入。这样,如果cStringIO模块存在,则我们将获得更快的运行速度,如果cStringIO不存在,则顶多代码运行速度会变慢,但不会影响代码的正常执行。

    try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。

    利用import ... as ...,还可以动态导入不同名称的模块。

    查看全部
  • import math
    math.pow(2, 0.5) # pow是函数
    math.pi # pi是变量
    from math import pow, sin, log
    pow(2, 10)
    sin(3.14)
    from math import log
    from logging import log as logger   # logging的log现在变成了loggerprint log(10)   # 调用的是math的loglogger(10, 'import from logging')   # 调用的是logging的log


    查看全部
  • setattr()函数

    作用:设置实例属性值

    用法:

    setattr(对象, '属性', '属性值')

    查看全部
  • 模块名就是py文件名,包相当于一个文件夹,可以有多级。包和一个普通的目录的区别是,包下面有个__init__.py,而且每层都要有,即使是空的

    查看全部
  • __init__()

    作用:为类的实例添加共有属性

    用法:

    创建类

        def __init__(wyd,[剩余想赋予的属性]):【第一个参数必有,可以自定义名称】

    待创建实例时,类的括号里就必须添加在__init__括号参数中除第一参数之外的参数)

                

    查看全部
  • 类的创建

    class+大写类名(继承体[object]):

    实例的创建

    变量名=类名+()

    查看全部
  • __future__

    作用:将新版本的更新规则引入到老版本中实现。

    用法:

    from __future__ import +新版本某更新的规则名

    查看全部
  • 动态导入模块的方法:

    try:

        导入一

    except ImportError:

        导入二

    含义:在try导入一尝试失败后导入二。一和二的功能需相同。

    查看全部

举报

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

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