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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
导入时,如果到了函数、方法级别,下面的使用就可以不用带模块的前缀了,如果不是,就需要补上前缀完整写出来。
def __cmp__(self, s):
if self.score < s.score:
return 1
elif self.score > s.score:
return -1
elif self.score == s.score:
if self.name < s.name:
return -1
elif self.name > s.name:
return 1
函数式编程,python允许有变量,支持高阶函数,支持闭包
这种后绑上去的函数,也只能取对象的公共属性。如果是__VAR的变量。它也不能取吧。
class Person(object):
address = 'Earth'
def __init__(self, name):
self.name = name
p1 = Person('Apple')
p2 = Person('Bob')
print p1.address
p1.address = 'Ocean'
print p1.address
print Person.address
可见类实例的属性,当对象实例化时,对象可以访问到类属性,但是这个类属性,是和当前对象绑定到一起的,对象对类属性的修改不影响类本身的类属性,只影响对象拷贝的那一份类属性。
class Person(object):
def __init__(self, name, score):
self.name = name
self.__score = score

p = Person('Bob', 59)

print p.name
print p.__score
class Person(object):
def __init__(self, name, gender, birth, **kwargs):
self.name = name
self.gender = gender
self.birth = birth
for key, value in kwargs.items():
setattr(self, key, value)
*args是一般的普通参数, 实际传入的是一个元组,如(a,b), **kwargs是关键字参数,用于传key=value这样的参数
class A(object)
pass
a1 = A()
a2 = A()
1.判断某个对象是否是类的实例
isinstance(a1, A)
2.判断两个对象是否是否完全一致(意思为: 判断两个变量引用的地址是否相同,如果相同,则两个变量实际引用为同一对象)
用is进行判断
a3 = a1
print a1 is a3
3.判断两个对象中的内容是否相同
用 == 进行判断
print a1 == a2
但是此时结果为 false
表示不解
类的静态成员
import os.path

print os.path.isdir(r'/data/webroot/resource/python')
print os.path.isfile(r'/data/webroot/resource/python/test.txt')
import math
def sqr(x):
return x and math.sqrt(x)%1==0
print filter(sqr,range(1,101))
def f(x,y):
return x*y
print reduce(f,[2,4,5,7,12])
def f(x):
return x[:1].upper() + x[1:].lower()
print map(f,['adam', 'LISA', 'barT'])
我还以为你要让我把尖括号也打印出来呢
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消