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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
非常好的教程,结合练习棒棒的
没啥意思,照上面要写严谨的话__init__()方法里面也需要加判断,因为你初始化的时候已经传值进去了,这个时间点已经发生错误了
java的单继承配合interface接口实现类,python则是简单粗暴的继承继承再继承
可以看看java的面向切面编程,相当于python的装饰器
不抄答案还过不去,非要print写成call 。。。in 。。。,有种莫名其妙的感觉,完成解释功能就行了还要规定单词?
js中高阶函数调用的函数参数是放在后面的,以表示参数的传递,python非要放前面
js用let修饰下变量就能实现循环变量的闭包,到了python闭包更复杂了
最外层函数接收参数,下一层函数接收被装饰的函数
def name(*args, **kw):
print(*args) # hello word
print(args) # ('hello', 'word')
print(*kw) # name age
print(kw) # {'name': 'cpj', 'age': '12'}


name('hello', 'word', name="cpj", age="12")
看完了,啦啦啦
class Person(object):

__count = 0

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

@classmethod
def how_many(self):
return Person.__count

print Person.how_many()

p1 = Person('Bob')

print Person.how_many()
class Person(object):

__count = 0

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

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

print 'attributeerror'
标准答案!!!
class Person(object):
__count = 0
def __init__(self, name):
self.name=name
Person.__count+=1

p1 = Person('Bob')
print p1._Person__count
p2 = Person('Alice')
print p2._Person__count
try:
print Person.__count
except AttributeError:
print 'attributeError'
python没有私有化,只是用一些技巧变成私有
私有的在内部可以访问,外部不能直接访问
可以用特殊方法访问 注释部分
class Person(object):
def __init__(self,name,score):
self.name=name
self.__score=score

p=Person('Bob',59)

print p.name
#print p._Person__score
try :
print p.__score
except AttributeError:
print 'attributeerror'
这样可能会比较理解一些,
*用来接收多余的元素,内部存储是一个元祖(tuple)
**用来接收多余的元素,内部存储其实是一个字典(dict)
**dict接收的也是一个字典,可以直接通过键值查找
*星号后面的名字随便起,相当于一个变量

class Person(object):
def __init__(self,name,gender,birth,**dict):
self.name=name
self.gender=gender
self.birth=birth
self.job=dict['job']
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消