python_learn0915

filter

filter(func,list),func的返回值应为bool类型,根据是否为true筛选,返回值是一个新的list

sorted

sorted(list,func),func的返回值为-1.0.1,返回值为一个新的list

闭包

闭包是一个比较复杂的概念,高阶函数的返回值是一个函数,且该函数是直到返回后才进行执行

装饰器

from myapp.log import logger

def log_order_event(func):
    def wrapper(*args, **kwargs):
        logger.info("Ordering: %s", func.__name__)
        order = func(*args, **kwargs)
        logger.debug("Order result: %s", func.__name__)
        return order
    return wrapper

@log_order_event
def order_pizza():
    pass

根据闭包的性质,返回的order将在两个提示信息中间执行,这就是装饰器的原理,一般为双重,但如果要在装饰器中内置参数,则需要3重结构才行。

functools

functools.partial 的作用就是,把一个函数的某些参数给固定住(也就是
设置默认值),返回一个新的函数,调用这个新函数会更简单。
例如,int()函数可以接受字符串变成数字,int(‘123’)=123,但是是可以添加base参数的
int(‘123‘,base=8)意思是123为八进制数码字符,用int转为10进制整数。
我们可以用functools中的偏函数功能:
int2 = functools.partial(int, base=2)
又如:
max2 = functools.partial(max, 10)
实际上会把 10 作为 *args 的一部分自动加到左边

总之,偏函数能固定住函数的一些参数。

类与对象

1.类内可以写函数,可以在__init__内写一些初始参数。但最大的不同之处在于,类的实例可以自己随便加属性,但各实例并不相通。
2.类外可以绑方法,可以绑在类上,也可以绑在实例上。
3.继承和多态。。。

4.slots = (‘name’, ‘age’),可以限制类中属性的添加只能为slots中的tuple列表
5.@property与@func.setter构成一组,可以把函数调用变为属性。例子:

class Student(object):
    @property
    def score(self):
        return self._score
    @score.setter
    def score(self, value):
        if not isinstance(value, int):
            raise ValueError('score must be an integer!')
        if value < 0 or value > 100:
            raise ValueError('score must between 0 ~ 100!')
        self._score = value

6.多重继承/Mixin
7.类中的定制函数:
len(‘ABC’)= ‘ABC’.__len__()
__str__(): print 其中可以添加__repr__ = __str__
__iter__():返回迭代对象,用于for。。。in。。。
__getitem__参数n:用于[]运算取第n个元素
__getattr__()参数str:用于找不到str属性时的处理
__call__:用于直接调用实例方法

调试与测试:

1.关于try、except和finally
2.关于错误类型,自定义错误类型,rasize错误等等
3.关于断言assert,运行时可加参数使其不运行

关于单元测试

不详述,用时学

IO编程

1.文件读写
2.操作文件和目录

序列化

1.用通用的JSON或者XML,跨平台,跨语言地存储和调用数据

进程和线程

python适用多进程
主要用multiprocessing中的process的方法实现进程

关于分布式进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值