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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 类属性可以直接用类名访问,也可以用实例名访问。 类属性可以用类名进行动态添加和修改。 因为类属性只有一份,所以,当Person类的address改变时,所有实例访问到的类属性都改变了
    查看全部
  • 只有以双下划线 开头 的属性不能直接被外部访问。 以"__xxx__"定义的属性在Python的类中被称为特殊属性,可以被外部访问。
    查看全部
  • 在类中定义特殊的__init__()方法,当创建实例时,__init__()方法被自动调用,这样每个实例就会有统一的属性(注意不是属性值) 定义关键字参数,使用 **kw; 除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。
    查看全部
  • JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是Python的Json模块序列化与反序列化的过程分别是 encoding和 decoding encoding:把一个Python对象编码转换成Json字符串 decoding:把Json格式字符串解码转换成Python对象 对于简单数据类型(string、unicode、int、float、list、tuple、dict),可以直接处理。 json.dumps方法对简单数据类型encoding:
    查看全部
  • def cmp_ignore_case(s1, s2): if s1.lower() < s2.lower(): return -1 if s1.lower() > s2.lower(): return 1 return 0 print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
    查看全部
  • 函数调用和方法调用区别: 函数调用不需要传入self 方法调用需要传入self
    查看全部
  • 结果:['test', 'str', 'END'] 注意: s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),如下: a = ' 123' a.strip() 结果: '123' a='\t\t123\r\n' a.strip() 结果:'123'
    查看全部
  • 忽略大小写 cmp=lambda s1, s2: cmp(s1.upper(), s2.upper()) 或key=str.lower
    查看全部
    0 采集 收起 来源:python中偏函数

    2017-08-11

  • functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值 functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(): import functools >>> int2 = functools.partial(int, base=2)
    查看全部
    0 采集 收起 来源:python中偏函数

    2018-03-22

  • decorator改变了函数的__name__、__doc__等其它属性,如果要让调用者看不出一个函数经过了@decorator的“改造”,就需要把原函数的一些属性复制到新函数中:wrapper.__name__ = f.__name__ wrapper.__doc__ = f.__doc__ 简单方法:Python内置的functools可以用来自动化完成这个“复制”的任务: import functools @functools.wraps(f) 由于我们把原函数签名改成了(*args, **kw),因此,无法获得原函数的原始参数信息。 即便我们采用固定参数来装饰只有一个参数的函数,也可能改变原函数的参数名,因为新函数的参数名始终是 'x',原函数定义的参数名不一定叫 'x'。 @functools.wraps应该作用在返回的新函数上。
    查看全部
  • if unit=='ms': t=(t2 - t1) * 1000 else : t=(t2 - t1) 等同与 t = (t2 - t1) * 1000 if unit=='ms' else (t2 - t1)
    查看全部
  • @new_fn => f1=new_fn(f1)
    查看全部
  • 使用 decorator 用Python提供的 @ 语法,这样可以避免手动编写 f = decorate(f) 这样的代码。 在本题中 @performance,它可以打印出调用阶乘所用的时间 要让 @log 自适应任何参数定义的函数,可以利用Python的 *args 和 **kw。 常用的python字符串格式化符号: %s表示格式化字符串,%f表示格式化浮点数,%d表示格式化整数 %s表示该位置应填入字符串,%f表示该位置应填入浮点型数字(即包含小数尾数的数字),()和s没任何意义(还是()和s),(f.__name__,(t2-t1))以元组形式表示需要填入的字符串(本处f.__name__=factorial)和浮点型数字
    查看全部
  • 当实例属性和类属性重名时,实例属性优先级高,
    查看全部
  • __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别
    查看全部

举报

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

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