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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 看清教材:对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__().
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2017-08-29

  • >>> "Hello, world!" 'Hello, world!' # Python打印出来的值是给python理解的,这里python理解为字符串,所以带着引号 >>> 1000L # python理解为Long型的数字,所以它打印出来的时候也带着后缀L 1000L >>> print "Hello, world!" # 打印一个字符串,给用户看的,所以不带引号 Hello, world! >>> print 1000L # 用户看到的当然是一个数字1000,而不是字符串1000L 1000 str和repr实际就分别对应上述两种显示方式。
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-03-22

  • "I'm %s. I'm %d year old" 为我们的模板。%s为第一个格式符,表示一个字符串。%d为第二个格式符,表示一个整数。('Vamei', 99)的两个元素'Vamei'和99为替换%s和%d的真实值。 在模板和tuple之间,有一个%号分隔,它代表了格式化操作。
    查看全部
  • 返回函数不要引用任何循环变量,或者后续会发生变化的变量。
    查看全部
    0 采集 收起 来源:python中闭包

    2017-08-29

  • Python3中没有iteritems .在python3里面用items()替换iteritems() getattr()函数是Python自省的核心函数,具体使用大体如下: 获取对象引用getattr,Getattr用于返回一个对象属性,或者方法 2.setattr(): setattr()表示你可以通过该方法,给对象添加或者修改指定的属性。 setattr()方法接受3个参数:setattr(对象,属性,属性的值) 3 delattr(): 而delattr()表示你可以通过该方法,删除指定的对象属性。 delattr方法接受2个参数:delattr(对象,属性) ************************************************************************** getattr(Instance , 'name, 'not find') #如果Instance 对象中有属性name则打印self.name的值,否则打印'not find' setattr(sinfo,'python','haha')##和:sinfo.python = 'haha' 效果一样 delattr(sinfo,'python')##和del sinfo.python效果一样 getattr(s, 'age', 20) # 获取age属性,如果属性不存在,就返回默认值20:
    查看全部
  • 以提供任意额外的关键字参数,并绑定到实例, for k,v in kw.iteritems(): setattr(self,k,v)
    查看全部
  • objedt是所有类的父类,所以类名后的括号里写object, "class Students(object)"就是Student继承了object类 self在这是实例(或对象)的意思,一般通过实例才能调用方法,所以方法后的括号里写self, def read(self) r说明字符串中的转义字符不起作用,
    查看全部
    0 采集 收起 来源:python中多态

    2018-03-22

  • 类方法和静态方法都可以被类和类实例调用,类实例方法仅可以被类实例调用 类方法的隐含调用参数是类,而类实例方法的隐含调用参数是类的实例,静态方法没有隐含调用参数 @classmethod 用于标识紧接着它的那一个方法.
    查看全部
  • 1.方法是在类的内部定义的,只能通过实例化之后使用;而函数是在程序内定义的,可以不必实例化,直接用。举个例子,如果有个方法和函数都叫func,方法的调用方法必须是a.func()(其中,a为类的实例);函数的调用方法为func() 2.方法的第一个参数必须是self,但是在调用时这个参数不必传入(python自动传入);函数参数没有此类限制
    查看全部
  • 匿名函数:只能有一个表达式,不写return lambda x: x*x 用于简化代码
    查看全部
  • if self.__score >= 80: return 'A' if self.__score >= 60: return 'B' return 'C' 通过缩进,就不用写第三个if了,直接与前2个if在同列即可。
    查看全部
  • self.name=name Person.__count=Person.__count+1
    查看全部
  • 为啥init里面的count是Person.count不是count count在这里是类变量,属于类本身,所以需要使用类名来引用;而就算是普通的实例变量,也需要使用实例本身来引用。(如果学过Java的话,count就类似于static成员,注:这是打个比喻,不要用Java的编程思想来学Python)
    查看全部
  • 实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。因为类属性只有一份,所以,当Person类的address改变时,所有实例访问到的类属性都改变了
    查看全部
  • *args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前,像foo(a=1, b='2', c=3, a', 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。 self.k = v 的含义是 v 的内容赋值给变量名k 生成的不是字典 而setattr(object, name, values) 给对象的属性赋值,若属性不存在,先创建再赋值。
    查看全部

举报

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

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