-
在Python中,类通过class关键字定义。以Person为例,定义一个Person类如下:
class Person(object):
pass按照python的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。现在我们只需要简单地从object类继承。
有了Person类的定义,就可以创建出具体的。。。实例。创建实例使用类名+(),类似函数调用的形式创建
查看全部 -
面向对象编程
定义:
面向对象编程是一种程序设计范式;把程序看作不同对象的相互调用;对现实世界建立对象模型
基本思想
类和实例
类用于定义抽象类型
实例根据类的定义被创建出来
数据封装
不同的实例拥有相同的数据类型,却又不同的属性
查看全部 -
class Person(object):
count=0
def __init__(self,name):
self.name=name
while True:
Person.count +=1
break
p1 = Person('Bob')
print Person.count
p2 = Person('Alice')
print Person.count
p3 = Person('Tim')
print Person.count
查看全部 -
内嵌高阶函数的父函数返回值是其子函数
查看全部 -
利用Python的 *args 和 **kw,保证任意个数(一个或多个)的参数总是能正常调用
查看全部 -
还可以简化代码,避免每个函数编写重复代码
内置装饰器有
打印日志@log
检测性能@performance
数据库事务@transaction
URL路由@post(‘/register’)
查看全部 -
@new_fn
def f1():
return x*2
等价于:
def f1(x):
return x*2
f1=new_fn(f1)
f1就被完全隐藏起来,看不到内部实现方法
查看全部 -
p1.get_grade = types.MethodType(fn_get_grade, p1, Person)
查看全部 -
下一步可继续学习:
查看全部 -
在Python中,函数其实是一个对象:
>>> f = abs >>> f.__name__ 'abs' >>> f(-123) 123
由于 f 可以被调用,所以,f 被称为可调用对象。
查看全部 -
如果一个属性由双下划线开头(__),该属性就无法被外部访问
查看全部 -
from __future__ import division
查看全部 -
像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
查看全部 -
这一章好难呀?
查看全部 -
利用filter(),可以完成很多有用的功能,例如,删除 None 或者空字符串:
def is_not_empty(s): return s and len(s.strip()) > 0 filter(is_not_empty, ['test', None, '', 'str', ' ', 'END'])
结果:['test', 'str', 'END']
注意此处if return的简写
查看全部
举报