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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • O5
    即是说,关键字就是一个函数在定义的时候使用的参数变量名称,关键字参数就是给这个参数变量传递的参数。在调用函数时,传递的参数里可以不按顺序,但是前提是需要按 参数关键字(即是参数名称)= 要传入的参数值 的格式来传递。 也可以说,在函数定义时def(*args,**kw): 即是调用函数时可以传入两种类型,一种是直接的值,比如字符串,数值;另一种是一个变量,而且这个变量有初始值。 而非关键字参数就只有一个要传入的值,必须按顺序一一对应才能正确传入。 一个星号*是接受任意个数的非关键字参数,以tuple存储起来;两个**是接受任意个数的关键字参数。
    查看全部
  • 继承树
    查看全部
  • 继承的好处。
    查看全部
  • 由于创建实例必定会调用__init__()方法,所以在这里修改类属性 count 很合适。
    查看全部
  • 1.定义方法类:通过@classmethod标记,该方法将绑定到Person类上,而非类的实例 2.类的第一个参数将传入类本身,通常将参数命名为cls,cls.count实际上相当于Person.count
    查看全部
  • 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。
    查看全部
  • 这种定义实例的方法更好,返回的不是属性,而是具体值
    查看全部
  • 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): #s,代表传入的实例 if self.name < s.name: return -1 elif self.name > s.name: return 1 else: return 0 上述 Student 类实现了__cmp__()方法,__cmp__用实例自身self和传入的实例 s 进行比较
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-03-22

  • O5
    关于关键字参数与默认参数,看下面网上摘抄的解释: #有默认参数 #定義默认参数 age = 1, gender = 'M' def person( name, age = 1, gender='M'): print 'name: %s age: %d gender: %s' % (name, age, gender) #這裡只傳一個值給第一個參數which is name, age 和 gender已經有默认值, #就算不傳新值給 age or gender也沒問題 person('Jacky') #output --> name: Jacky age: 1 gender: M #沒有默认参数 def person(name, age, gender): print 'name: %s age: %d gender: %s' % (name, age, gender) # person('Jacky') <-- error, 3個參數只傳了一個值 #沒有默认参数,就一定要傳 N(total 参数) 個值給 function. person('Jacky', 19, 'M') ****************************************************** #关键字参数 #用上面第一個例子 person( name, age=1, gender='M') #用关键字給function傳值時,不雖要跟著順序來也沒問題 #就算 age 和 name 順序不同, 但因為是用关键字來傳值,所以沒問題 person( age=18, name='Jacky') #output --> name: Jacky age: 18 gender: 'M' person( gender='F', age=17, name='Ashley') #output --> name: Ashley age: 17 gender: 'F' # Error, 沒用关键字去傳值 # person( 20, 'M', 'Jacky') <-- 沒用关键字時,一定要按順序去傳值
    查看全部
  • 1.别忘了关键参数**kw 相当于字典 2.for k, v in kw.iteritems(): iteritems()方法是遍历dict中的key并赋予value。 3.setattr(self, k, v) setattr()方法是给对象添加属性或者方法.
    查看全部
  • L2 = sorted(L1, lambda p1, p2: cmp(p1.name, p2.name))用法很好
    查看全部
  • O5
    类与函数很像但又不同,创建一个类的实例,会执行类中的__init__函数,但是类定义体中的其他函数不会调用。创建类实例时往类名中传递参数就是向__init__函数中传递参数,但是是从__init__函数的第二个参数开始传递。
    查看全部
  • 函数返回,可以在函数内部自定义多个函数
    查看全部
  • 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类如下: class Person(object): pass 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。类的继承将在后面的章节讲解,现在我们只需要简单地从object类继承。 有了Person类的定义,就可以创建出具体的xiaoming、xiaohong等实例。创建实例使用 类名+(),类似函数调用的形式创建: xiaoming = Person() xiaohong = Person()
    查看全部
  • s[0].upper+s[1:].lower
    查看全部

举报

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

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