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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的
    查看全部
  • 当实例属性和类属性重名时,实例属性优先级高
    查看全部
  • 实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。
    查看全部
  • 求最大公因数:辗转相除法 质因数分解(不易实现)
    查看全部
  • @property---这是关键字,固定格式,能让方法当“属性”用。 @score.setter---前面的"score"是@property紧跟的下面定义的那个方法的名字,"setter"是关键字,这种“@+方法名字+点+setter”是个固定格式与@property搭配使用
    查看全部
    0 采集 收起 来源:python中 @property

    2018-03-22

  • 辗转相除法 1. def gcd(a,b): while b: a,b=b,a%b return a 2. import fractions fractions.gcd(a,b)
    查看全部
  • 以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问。
    查看全部
  • Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。 但是,如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。
    查看全部
  • __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。
    查看全部
  • 欧几里德算法又称辗转相除法,用于计算两个整数m, n的最大公约数。其计算原理依赖于下面的定理: gcd(m, n) = gcd(n, m mod n) 这个定理的意思是:整数m、n的最大公约数等于n和m除以n的余数的最大公约数。 例如:有两个整数:120和45,我们按照上面的方法求他们的最大公约数。 1. gcd(120, 45) = gcd(45, 120 % 45) = gcd(45, 30) 2. gcd(45, 30) = gcd(30, 45 % 30) = gcd(30, 15) 3. gcd(30, 15) = gcd(15, 30 % 15) = gcd(15, 0) = 15 当 m % n 等于零时,即求15和0的最大公约数时,这个循环应该终止,15就是120和45的最大公约数。 Python代码实现如下: def gcd(m, n): while n: m, n = n, m % n return m
    查看全部
  • 定义log def log(f): def fn(x): print 'call ' + f.__name__ + '()...' return f(x) return fn
    查看全部
  • #定义时间 import time def performance(f): def fn(*args, **kw): t1 = time.time() r = f(*args, **kw) t2 = time.time() print 'call %s() in %fs' % (f.__name__, (t2 - t1)) return r return fn
    查看全部
  • 任务 斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。 请编写一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。 不会了怎么办? 需要根据num计算出斐波那契数列的前N个元素。 参考代码: class Fib(object): def __init__(self, num): a, b, L = 0, 1, [] for n in range(num): L.append(a) a, b = b, a + b self.numbers = L def __str__(self): return str(self.numbers) __repr__ = __str__ def __len__(self): return len(self.numbers) f = Fib(10) print f print len(f)
    查看全部
    0 采集 收起 来源:python中 __len__

    2016-09-20

  • 这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前
    查看全部
  • 函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。
    查看全部

举报

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

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