ICode9

精准搜索请尝试: 精确搜索
  • python学习-38迭代器和生成器2019-07-16 11:56:19

    迭代器和生成器- 迭代器协议和for循环工作机制1.迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起一个Stoplteration异常,以终止迭代(只能往后走,不能往前走)2.可迭代对象:实现了迭代器的对象(如何实现:对象内部定义一个_iter_()方法)3.协议是一种约定,可迭代对

  • 总结十三2019-07-15 22:02:31

    一.迭代器 什么是迭代器   迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果   迭代器:迭代取值的工具 为什么要用   迭代器给我们提供了一种不依赖于索引取值的方式 例子: n = 0while True: print(n) 只是简单的重复,不算是迭代器 l = [1,2,3,4,5]s = 'hello'n =

  • 生成器2019-07-15 21:52:32

    生成器:用户自己定义的迭代器 yield:后面不跟值,默认返回None,可以返回多个值   def func(): print("first") yield 1, 2, 3 # 函数内如果有yield,执行函数时不会执行函数代码k = func() # 将函数转化为迭代器k2 = k.__next__() # 取值print(k2)     要一次,取一次值 d

  • 第十三天2019-07-15 17:54:29

    今日所得   迭代器   可迭代对象   迭代器对象   for循环内部原理   生成器   生成器表达式   内会函数   面对过程编程   迭代器   迭代是重复更换的过程,每一次的更换(迭代)都是基于上一次的结果,也就是说每一次迭代都要和上次的结果有关系   迭代器:是用于迭

  • super().__init__()用法2019-07-12 18:51:38

    一、何时要使用super.__init__():   我理解是,当需要继承父类构造函数中的内容,且子类需要在父类的基础上补充时,使用super().__init__()方法。 在这段代码中,New_person这个类即需要用到父类中name和age,又需要新增sex这个参数。这时就需要用到super().__init__()来继承父类中的nam

  • python3 推荐使用super调用base类方法2019-07-12 14:52:56

    from:https://python3-cookbook.readthedocs.io/zh_CN/latest/c08/p07_calling_method_on_parent_class.html 8.7 调用父类方法 问题 你想在子类中调用父类的某个已经被覆盖的方法。 解决方案 为了调用父类(超类)的一个方法,可以使用 super() 函数,比如: class A: def spam(s

  • my python day42019-07-10 22:55:55

    一、文件处理 文件处理主要分为3个部分          1.打开文件,得到一个文件句柄并赋给一个变量        2.通过文件句柄对文件进行操作        3.关闭文件        1 f = open("info.txt","r",encoding="utf-8") #打开文件获得文件句柄2 data = f.read()

  • 面向对象2019-07-07 10:04:31

    面向对象 ''''1、面向过程编程   核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么   基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式​   优点:复杂的问题流程化、进而简单化   缺点:可扩展性差​2、面向对象   核心"对象"二字,对象指的是特

  • python迭代器,生成器,列表生产式2019-07-06 22:03:53

    目录 列表生成式 生成器 1.定义 2.作用 3.返回值 迭代器 1.特点 2.常见的迭代器 3.可迭代对象 列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 例如: >>> [x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49,

  • python高级特性:迭代器与生成器2019-07-02 22:00:08

    前言 有一个列表 l = ['a','b','c','d','e'] 我想取列表中的内容,有几种方式? # 1.最简单的方法用for循环。 for i in l: print(i,end=" ")# 2.用列表内置的方法。while 1: if l: print(l.pop(),end=" ") 这是用常见的方式取出列表中的数据。

  • __dict__属性详解2019-07-02 16:41:43

    1.类的__dict__属性和类对象的__dict__属性 class Parent(object): a = 'a' b = 1 def __init__(self): self.a = 'A' self.b = 1.1 def print_info(self): print('a = %s , b = %s' % (self.a, self.b)) @staticmet

  • 私有类变量(私有静态字段)与私有实例变量(私有字段) --Python32019-06-29 20:56:37

    1、私有实例变量 内部可以访问私有实例变量,外部不可以访问私有变量,但可以借助类中的方法间接访问私有变量。 class Foo: def __init__(self, name): self.__name = name def f1(self): # 内部可以访问__name print(self.__name) obj = Foo(

  • python __getattr__ __setattr__2019-06-25 13:37:53

    class Rectangle: def __init__(self): self.width = 0 self.height = 0 def __setattr__(self, key, value): if key == 'size': self.width, self.height = value else: self.__dict__[key] = value

  • 设计模式2019-06-24 11:52:11

    单例模式class MySingleton: __obj = None __init_flag = True def __new__(cls, *args, **kwargs): if not cls.__obj: cls.__obj = super().__new__(cls) return cls.__obj def __init__(self, name): if MySingleton.__init_flag:

  • 第四十四篇 面向对象高阶2019-06-23 11:01:26

    目录 第四十四篇 面向对象高阶 一、isinstance()和issubclass() 1.isinstance() 2.issubclass() 二、反射 1.__import__() 2.hasattr() 3.getattr() 4.setattr() 5.delattr() 三、call() 和 new() 1.__call__() 2.__new__() 四、元类 五、单例模式 六、异常处理 第四十四

  • python--迭代器和生成器2019-06-20 20:49:25

    迭代器 1.什么是迭代器? 迭代是一个重复的过程,即每一次重复为一次迭代,并且每次迭代的结果都是下一次迭代的初始值 示例: str1 = 'abcde' count = 0 while count<len(str1) print(str1[count]) count+=1 2.什么是可迭代对象?什么是迭代器对象? #可迭代对象指的是内置有.__ite

  • __defineGetter__和__defineSetter__在日期中的应用2019-06-20 11:42:04

    日期函数每次取年月日都要调用Date的函数,有点麻烦,通过__defineGetter__可以处理一下,就能通过Date的实例对象直接获取年月日,例如 date.year获取日期对象date的年份。月份因为与正常月份差一个月,可以通过函数自动校正一下,使用起来就更符合习惯了。很多时候我们需要显示一个日期、时间

  • python 编程模型2019-06-16 11:39:52

    数据模型(译)   image.png 1 对象(object)、类型(type)和值(value) python中所有的数据都是通过对象(object)或者对象之间的关系来表示 每个对象(object)都有ID、类型(type)和数值(value) 一旦对象创建,它的ID便固定不变,可以理解成对象存放在内存中的地址;is操作就是比较两个对象的ID,而id()函

  • python 之 函数 生成器2019-06-13 22:01:47

    5.10 生成器 函数内有yield关键字,再调用函数就不会立刻执行函数体代码,会得到一个返回值,该返回值就是生成器,生成器本质就是迭代器 def chicken():    print('=====>first')    yield 1    print('=====>sencond')    yield 2    print('=====>third')    yield 3obj=ch

  • python面向对象,基础回顾2019-06-13 14:53:51

    1.队列数据结构的封装 队列类。队列(queue)是具有先进先出(FIFO)特性的数据结构。一个队 列就像是一行队伍,数据从前端被移除,从后端被加入。这个类必须支持 下面几种方法: 功能: class Queue(object): def init(self): self.__queue = [] def enqueue(self,n):

  • python 之 函数 迭代器2019-06-12 22:03:42

    5.9 迭代器 5.91 可迭代对象和迭代器对象 1、什么是迭代?:迭代是一个重复的过程,并且每次重复都是基于上一次的结果而来 2、要想了解迭代器到底是什么?必须先了解一个概念,即什么是可迭代的对象? 可迭代的对象:在python中,但凡内置有''iter''方法的对象,都是可迭代的对象 3、迭代器:迭代取

  • Python 提高 多继承顺序2019-06-12 21:50:06

    多继承以及MRO顺序 1. 单独调用父类的方法 # coding=utf-8 print("******多继承使用类名.__init__ 发生的状态******") class Parent(object): def __init__(self, name): print('parent的init开始被调用') self.name = name print('parent的ini

  • 单例 对类变量的修改 批修改2019-06-11 20:54:36

      #!python# -*- coding:utf-8 -*-# 场景:# 目的:通过单例实现客户端调用sdk时,sdk中的方法对客户端数据的批处理# 参考:# {# Python单例模式(Singleton)的N种实现 - 知乎# https://zhuanlan.zhihu.com/p/37534850# 设计模式(Python)-单例模式 - 简书# https://www.jianshu.com/p/ec6

  • python学习笔记之封装2019-06-11 19:37:49

    class Room: def __init__(self,name,length,width): self.__name = name self.__length = length self.__width = width def get_name(self): return self.__name def set_name(self,newName): if type(newName) is str and new

  • python tips:类的专有属性2019-06-10 20:37:50

    实例通常能够调用类的属性,但是有些属性是类专有的,实例无法调用。 实例调用方法时查找属性时,首先在自己的__dict__中找,找不到去类中找,在类中能够找到的属性都位于dir(cls)中,如果类的某些属性不在dir(cls)中,那么实例无法访问。 1 >>> class A: 2 pass 3 4 >>> A.__name__ # th

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有