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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
def __float__(self):
return float(self.p) / float(self.q)
def cmp_ignore_case(s1, s2):
if s1[0].lower()<s2[0].lower():
return -1
if s1[0].lower()>s2[0].lower():
return 1
return 0
def __init__(self, p, q):
a,b = p,q
while(b):
a,b = b,a%b
self.p = p/a
self.q = q/a

def __mul__(self, r):
return Rational(self.p * r.p, self.q * r.q)

def __div__(self, r):
return Rational(self.p * r.q, self.q * r.p)
ES6 中用到的装饰器在这里了解了@的原理,教程 nice
http://python.jobbole.com/82344/ 这是一个关于装饰器的课程 相信大多数的初学者小伙伴这一节其实都没有看懂,可以看看发的链接 相信会对你有帮助的
python3 里面没有iteritems() 了 , 用 items() 来代替吧.
其实这里多态的意思就是: 对不同对象, 调用了同一个名字的方法 some_func , 可以表现出不同的状态, 返回不同的结果.

原因是虽然不同的对象/实例/类 中定义了的这个方法 some_func , 但是除了名字相同, 函数体随便怎么写都可以.

其实我觉得用接口的不同实现来解释多态更好理解, 但是不知道python里面有没有接口这个概念, 就好像py里面没有私有化的概念.
class Fib(object):
def __init__(self, num):
L=[0,1]
for i in range(num-2):
L.append(L[-1]+L[-2])
self.names=L
def __str__(self):
return str(self.names)
def __len__(self):
return len(self.names)

f = Fib(10)
print f
print len(f)
class Person(object):

def __init__(self, name, gender, **kw):
for i in kw:
setattr(self, i, kw[i])

p = Person('Bob', 'Male', age=18, course='Python')
print p.age
print p.course
class Students(object):
def __init__(self, lists):
self.lists = lists
def read(self):
return self.lists

s = Students('["Tim", "Bob", "Alice"]')

print json.load(s)
感觉还是太抽象了,不太容易理解
python特点:不是纯函数式编程(允许变量存在);支持高阶函数(可以传入函数作为变量);
支持闭包(可以返回函数);有限度的支持匿名函数;
高阶函数:变量可以指向函数;函数的参数可以接收变量;
一个函数可以接收另一个函数作为参数;
def add(x,y,f):
return f(x)+f(y)
add(-5,9,abs)
14
一开始不理解闭包是什么,好像似曾相识,看了这个http://blog.csdn.net/acs713/article/details/6863360比较清晰了
from __future__ import unicode_literals

s = 'am I an unicode?'
print isinstance(s, unicode)
future前后需要两个下划线 坑啊
import math
def add(x,y,f):
return f(x)+f(y)
print add(4,9,math.sqrt)
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消