前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 复习

Python 复习

作者头像
radaren
发布2018-08-28 15:11:49
3700
发布2018-08-28 15:11:49
举报

函数式编程

  • map(function, sequence): 入参是为函数和列表/元组/字符串,返回值为function(item)列表。
  • filter(function, sequence): 入参为函数和列表/元组/字符串,返回值为item列表/元组/字符串。
  • reduce(function, sequence, starting_value): 入参是为函数和列表/元组/字符串和初始值,返回值为数值
  • lambda : 匿名函数
  • 回调函数 : 函数作为参数
  • 闭包: 绑定外部变量的函数, 惰性计算, 迭代器

构造函数

代码语言:javascript
复制
class Car(object):    country = u'中国'    def __init__(self, length, width, height, owner=None):        self.owner = owner        self.length = length        self.width = width        self.height = height        self.country = "china"

@property描述符

加上@property变成有getter的对象

代码语言:javascript
复制
class Car(object):    country = u'中国'    def __init__(self, owner=None):        self._owner = owner            @property    def owner(self):        return self._owner    @owner.setter    def owner(self, value):        self._owner = value    @owner.deleter    def owner(self):        self._owner = None

重载getattr

代码语言:javascript
复制
#!/usr/bin/env python# -*- coding: utf-8 -*-#copyRight by heibankeclass Car(object):    country = u'中国'    __slots__=('length','width','height','owner','__dict__')        def __init__(self, length, width, height, owner=None):        self.owner = owner        self.length = length        self.width = width        self.height = height            def __getattr__(self,name): # 没找到的时候调用        print "__getattr__",name        return self.__dict__.get(name,None)            def __setattr__(self,name,value):        print "__setattr__",name        if name!='owner':            assert value>0, name+" must larger than 0"        self.__dict__[name]=value            def __delattr__(self,name):        print "__delattr__",name        if name=='owner':            self.__dict__[name]=None

元类:

type(name, bases, attrs) Name : 类名字符串 bases: 父类元组 Attrs: 属性字典

代码语言:javascript
复制
A = type('A', (object,), {'b': 1})a = A()

不可继承的类

代码语言:javascript
复制
class final(type):    def __init__(cls,name,bases,namespaces):        super(final, cls).__init__(name, bases, atts)        for klass in bases:            assert not isinstance(klass, final)

时间

代码语言:javascript
复制
#!/usr/bin/env python# coding: utf-8#copyRight by heibanke# 
1. 从现在开始1000天后和1000天前是哪一天
import datetimea=datetime.date.today()b=datetime.datetime.now()d1=datetime.
timedelta(days=1000)d2=datetime.
timedelta(hours=1000)(a-d1).isoformat()(a+d1).strftime('%m/%d/%Y')b.isoformat()(b-d2)# 
2. 离你的重要纪念日还有多少天important_day=datetime.datetime.
strptime('2008-06-18','%Y-%m-%d') important_day>bd3=b-important_dayd3.dayst=datetime.time(12,11,30)# 
3. 两段程序哪个快些############## time.time and time.clock
 ####################import timea=input("please input 0 or 1:")
 start_time = time.time()start_clock = time.clock()if a:    sum_i=0    for i in range(100000):     
    sum_i+=ielse:    sum_i=sum(range(100000))
    print sum_itime.sleep(2)end_time = time.time()end_clock = time.clock()
    print "time-delta:"print start_time-end_timeprint "clock-delta:"print start_clock-end_clock

文件操作

代码语言:javascript
复制
#!/usr/bin/env python# coding: utf-8#copyRight by heibanke# 1. 从现在开始1000天后和1000天前是哪一天import datetimea=datetime.date.today()b=datetime.datetime.now()d1=datetime.timedelta(days=1000)d2=datetime.timedelta(hours=1000)(a-d1).isoformat()(a+d1).strftime('%m/%d/%Y')b.isoformat()(b-d2)# 2. 离你的重要纪念日还有多少天important_day=datetime.datetime.strptime('2008-06-18','%Y-%m-%d') important_day>bd3=b-important_dayd3.dayst=datetime.time(12,11,30)# 3. 两段程序哪个快些############## time.time and time.clock ####################import timea=input("please input 0 or 1:")start_time = time.time()start_clock = time.clock()if a:    sum_i=0    for i in range(100000):        sum_i+=ielse:    sum_i=sum(range(100000))print sum_itime.sleep(2)end_time = time.time()end_clock = time.clock()print "time-delta:"print start_time-end_timeprint "clock-delta:"print start_clock-end_clock
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 函数式编程
    • 构造函数
      • @property描述符
        • 重载getattr
          • 元类:
            • 不可继承的类
            • 时间
            • 文件操作
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档