美文网首页
python学习记录

python学习记录

作者: SummerTan | 来源:发表于2018-10-10 12:18 被阅读0次

    1 yield

    yield是一个类似return的关键字,只不过返回的是生成器

    生成器函数被调用后,函数体内的代码不会立即被执行,而是返回生成器。当生成器调用成员方法时,相应的代码才会执行。

    2 迭代器 生成器

    具有yield关键字的函数都是生成器

    2 reload

    reload用于载入之前载入过的模块,模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

    3 时间

    import time

    time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())

    time.localtime是tuple,time.time是时间戳,datatime是一种单独的形式

    4 文件读取

    with open('/path/to/file','r') as f:

        data=f.read()

    line = f.readline()   # 逐行提取

    lines=f.readlines() # 文件每一行存储到list中,适用于文件较小的情况

        lines = list(f)

        for line in f:

            print line  #文件迭代器

    5 路径问题

    os.path.dirname(__file__)返回当前目录的上一级

    os.path.abspath(__file__)返回当前文件的绝对路径

    os.path.join(based,file)

    6 面向对象编程

    是一种程序设计的方法。其中最重要的两个概念是类和实例。类是抽象的模版,实例是类的一个个对象。

    可以在_init_函数中定义公共的属性,

    可以用双下划线代表私有属性,__init__,这样外部就不能随意修改属性值。如果要修改属性值,可以在类中写函数来修改,这样的好处是可以增加参数校验等逻辑。

    多态:继承可以把父类的功能都继承过来,

    property:把方法变成属性,以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性。

    多重继承:通过继承,一个子类可以同时获得多个父类的功能;

    定制类:

    _slots_:限制类的属性,classStudent(object):__slots__ = ('name','age') 则类只有name,age属性;

    _str_:def _str_()

    ```

    classStudent(object):

        def__init__(self, name):

            self.name = name

        def__str__(self):

            return'Student object (name=%s)'% self.name 

         __repr__ = __str__

    访问限制:如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线;如self.__name

    获取对象信息:isinstance()

    eum:可以把相关常量定义在一个类中,成员可以相互比较。

    class Gender(Enum):

        Male = 0

        Female = 1

    7 正则表达式

    8 高阶函数

    map(f,迭代对象)把传入的函数依次作用到每个函数

    reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:

    函数:如果不需要立刻计算返回结果,而是调用的时候再计算返回,则可以把函数作为返回结果

    9 进程线程

    一个进程可以包含多个线程

    相关文章

      网友评论

          本文标题:python学习记录

          本文链接:https://www.haomeiwen.com/subject/vpouaftx.html