为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • " // "来表示整数除法,返回不大于结果的一个最大的整数,而" / " 则单纯的表示浮点数除法
    查看全部
  • 晚上百科了辗转相除法,发现证明也不难理解,故写了下读书笔记发在了自己的个人公众号里,如下: http://mp.weixin.qq.com/s?__biz=MzA5MzgzNjA1MA==&mid=402580334&idx=1&sn=1dc2346c4287d5ea64ac10e2b18c3408#rd 辗转相除法基于如下原理: 两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数 即gcd(a,b) = gcd(b,a%b) = gcd(gcd(a,b), 0) 故可利用递归求解,把求两个大数的公约数【gcd(a,b)】 化为 求其中较小的数和两数的相除余数的最大公约数【gcd(b,a%b)】,直至b为0,则返回a为求得的最大公约数【gcd(gcd(a,b), 0)】。 代码如下: def gcd(a, b): return gcd(b, a % b) if b != 0 else a 即使a < b, 通过return gcd(b, a%b)也会变成求gcd(b,a) 证明方法可以看百度百科:辗转相除法 http://baike.baidu.com/view/255668.htm 辗转相除法的运算速度为 O(n),其中 n 为输入数值的位数。 辗转相除法处理大数时非常高效,它需要的步骤不会超过较小数的位数(十进制下)的五倍。加百利·拉梅(GabrielLamé)于1844年证明了这点,开创了计算复杂性理论。
    查看全部
  • python list排序的两种方法及实例讲解 对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排序 list.sort(func=None, key=None, reverse=False) Python实例: >>> list = [2,5,8,9,3] >>> list [2,5,8,9,3] >>> list.sort() >>> list [2, 3, 5, 8, 9] 方法2.用序列类型函数sorted(list)进行排序(从2.4开始) Python实例: >>> list = [2,5,8,9,3] >>> list [2,5,8,9,3] >>> sorted(list) [2, 3, 5, 8, 9] 两种方法的区别: sorted(list)返回一个对象,可以用作表达式。原来的list不变,生成一个新的排好序的list对象。 list.sort() 不会返回对象,改变原有的list。 其他sort的实例: 实例1:正向排序 1 2 3 4 >>>L = [2,3,1,4] >>>L.sort() >>>L >>>[1,2,3,4] 实例2:反向排序 >>>L = [2,3,1,4] >>>L.sort(reverse=True) >>>L >>>[4,3,2,1] 实例3:对第二个关键字排序 >>>L = [('b',6),('a',1),('c',3),('d',4)] >>>L.sort(lambda x,y:cmp(x[1],y[1])) >>>L >>>[('a', 1), ('c', 3), ('d', 4), ('b', 6)]
    查看全部
  • O5
    如果只使用@property而不使用@xx.setter,就不能对“属性”赋值,这时,就可以创建一个只读“属性”。
    查看全部
    2 采集 收起 来源:python中 @property

    2016-01-21

  • 如何区分包和模块
    查看全部
  • 动态语言和静态语言(例如Java)最大的差别之一。动态语言调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用。 'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子 在字符串赋值的时候 前面加'r'可以防止字符串在时候的时候不被转义 原理是在转义字符前加'\'
    查看全部
    2 采集 收起 来源:python中多态

    2015-11-05

  • 只要为Students类加上 read()方法,就变成了一个File-like Object。 参考代码: import json class Students(object): def read(self): return r'["Tim", "Bob", "Alice"]' s = Students() print json.load(s)
    查看全部
    2 采集 收起 来源:python中多态

    2018-03-22

  • 不写__repr__ = __str__也没什么问题啊
    查看全部
  • 例子给的其实fs里面是三个函数,也就是[i*i,i*i,i*i],而返回的并不是我们想要的值,此时i已经等于3了,所以最终的结果是相当于这三个函数求i= 3时候的值; 我们要做的是让fs里面接受的是值,所以得我们重新引进一个函数,这个函数就是用来计算f的值 def count(): fs = [] for i in range(1, 4): def f(i): def g(): return i*i 这一段就是相当于求值,f(i)就是g,i是自变量,f(i) = g为因变量 return g fs.append(f(i)) return fs
    查看全部
    2 采集 收起 来源:python中闭包

    2015-10-14

  • 返回函数看不懂啊
    查看全部
  • setattr()表示你可以通过该方法,给对象添加或者修改指定的属性。 setattr()方法接受3个参数:setattr(对象,属性,属性的值) setattr(self,k,v)相当于self.k = v job = 'Students' 应该是自动匹配成了字典(这一点我也不太明白) kw.iteritems()这个好像是历遍字典kw的所有key和value,分别匹配的是k,v
    查看全部
  • 1.类属性:相当于java里的静态变量,在任意位置访问这个静态变量都必须是classname.variblename,即任意地方访问都要以“类名.变量名”的形式 2.作为类似静态变量的属性,实例对其的修改不会同步到其它实例中,但以“类名.变量名”的形式改变的会同步
    查看全部
  • 安装Python第三方模块: 2种工具:easy_install和pip(推荐,已经内置到Python2.7.9) 如何使用pip安装第三方模块: 1.安装Python的时候注意将pip安装好 2.打开命令提示符:pip install web.py(安装名字叫web.py的第三方模块) 3.安装完成后输入Python,导入web.py;import web 查找第三方模块的名字: 1.进入http://pypi.python.org 2.输入相关的第三方模块的名字,比如web.py 3.找到后使用pip install来安装
    查看全部
  • 参数.upper()而不是upper(参数)
    查看全部
  • 没看懂这节内容

    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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