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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
感觉越来越简单,是我变强了还是课程变简单了?
我觉得这个教程很方便啊。不用打开自己的IDE。
__call__方法,把实例变成可调用对象
学完了,mark一下
class Person(object):
__count = 0
def __init__(self, name):
Person.__count = Person.__count + 1
self.name = name
print Person.__count,

p1 = Person('Bob')
p2 = Person('Alice')

#Person.__count
print 'attributeerror'
你可以认为 -1 0 1 是一根 位置数轴
如果 a > b
把a放到前面
如果 a < b
把a放到后面
def cmp(a, b):
if a > b:
return -1
if a < b:
return 1
return 0
class Fib(object):

def __init__(self, num):
self.table = [0, 1]
for x in range(2, num):
self.table.append(self.table[x-1] + self.table[x-2])
def __str__(self):
return str(self.table)
def __len__(self):
return len(self.table)
def gcd(a, b):
r = None
while b:
r = a % b
a = b
b = r
return a
也就是说有了call之后,类就可以当作一个方法用,而不是要先定义一个对象,再由对象调用一个方法。是么。。。。
def count():
fs = []
for i in range(1, 4):
def f(i):
def g():
return i * i
return g
fs.append(f(i))
return fs

f1, f2, f3 = count()
print f1(), f2(), f3()
def count():
fs = []
for i in range(1, 4):

fs.append(i*i)
return fs

f1, f2, f3 = count()
print f1, f2, f3

完全无需再调用函数嘛
print(list(filter(lambda x: int(math.sqrt(x)) ** 2 == x, range(1, 100))))
类只要有read()方法,就称为File-like Object,都可以传给json.load()。例子中read返回的str被json.load解析成了list,也就是json.load内部肯定调用到read,达到我们想要的目的:做解析。File-like Object 都能传给json.load解析,呈现的是多态性,是这样理解吗
想法相同的童鞋有很多啊
所以,用惯了java,学python这玩意好别扭...
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消