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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
大牛
大牛
大牛
python3以上版本,reduce()函数已经不是核心函数了,函数被挪到functools库中,写程序的时候需要加上“from functools import reduce"。
我以为java基础好了学的应该快 结果还是花了较长的时间
#这个闭包和迭代器放一起,挺好的,受教了.
#返回的是一个函数组成的可迭代对象.
#厉害了.

def count():
fs = []
for i in range(1, 4):
def f(j):
def g():
return j*j
return g
r = f(i)
fs.append(r)
return fs
f1, f2, f3 = count()
print (f1(), f2(), f3())
#闭包

import functools

def chengji(x,y):
return x*y

def calc_prod(lst):
def inner():
return functools.reduce(chengji,lst)
return inner

f = calc_prod([1, 2, 3, 4])
print f()
def calc_prod(lst):
def calc():
def xy(x, y):
return x*y
return reduce(xy, lst)
return calc

f = calc_prod([1, 2, 3, 4])
print f()
def cmp_ignore_case(s1, s2):
if str.lower(s1) < str.lower(s2):
return -1
elif str.lower(s1) > str.lower(s2):
return 1
else:
return 0

print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
def calc_prod(lst):
def prod():
sum=1
for i,v in enumerate(lst):
sum*=v
return sum
return prod
f = calc_prod([1, 2, 3, 4])
print f()
import math

def is_sqr(x):
y=math.sqrt(x)
return y==int(y)

print filter(is_sqr, range(1, 101))
class Person(object):

def __init__(self, name, score):
self.name = name
self.__score = score

def get_grade(self):
if self.__score >80:
return 'A-优秀'
elif self.__score >=60:
return 'B-及格'
else:
return 'C-不及格'
class Person(object):
def __init__(self, name, score):
self.name = name
self.__score = score
p = Person('Bob', 59)
try:
print p.name
print p.__score
except AttributeError:
print p.name
print 'attributeerror'

这个问题很简单,捕获异常信息,并且输出异常名称,可以通过编译器。
class Person(object):

__count = 0

def __init__(self, name):
self.name = name
Person.__count +=1
print Person.__count

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

try:
print Person.__count
except:
print 'attributeerror'
class Person(object):
count = 0
def __init__(self,name):
self.name = name
Person.count = Person.count+1


p1 = Person('Bob')
print Person.count

p2 = Person('Alice')
print Person.count

p3 = Person('Tim')
print Person.count
def format_name(s):
return s.title()

print map(format_name, ['adam', 'LISA', 'barT'])
装饰函数这一章有点过于晦涩难懂,如果可以,希望要么讲解一下底层代码,要么举几个能够反映作用的例子。谢谢
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消