1、Python基本语法

1、@staticmethod 和 @classmethod

Python中有三种方法,实例方法、类方法(@classmethod)、静态方法(@staticmethod)。

类方法的第一个参数是cls,表示该类的一个实例,静态方法基本上和一个全局函数相同

class A(object):

def foo(self, x):

print("executing foo(%s,%s)" % (self, x))

print('self:', self)

@classmethod

def class_foo(cls, x):

print("executing class_foo(%s,%s)" % (cls, x))

print('cls:', cls)

@staticmethod

def static_foo(x):

print("executing static_foo(%s)" % x)

a = A()

print(a.foo(1))

print(a.class_foo(1))

print(a.static_foo(1))

2、迭代器和生成器

迭代器:是访问集合元素的一种方式,从集合的第一个元素开始访问,直到所有元素被访问结束。其优点是不需要事先准备好整个迭代过程中的所有元素,仅在迭代到某个元素时才开始计算该元素。适合遍历比较巨大的集合。iter():方法返回迭代器本身, next():方法用于返回容器中下一个元素或数据。

生成器:带有yield的函数不再是一个普通函数,而是一个生成器。当函数被调用时,返回一个生成器对象。不像一般函数在生成值后退出,生成器函数在生成值后会自动挂起并暂停他们的执行状态。

'''迭代器'''

print('for x in iter([1, 2, 3, 4, 5])

最新文章

  1. nodejs中流(stream)的理解
  2. 【BZOJ-1656】The Grove 树木 BFS + 射线法
  3. tree view
  4. CUBRID学习笔记 35 net驱动错误码和信息 cubrid教程示例
  5. ceph--磁盘和rbd、rados性能测试工具和方法
  6. android ViewPaper高度自适应
  7. Eclipse中调试技巧
  8. 【iOS-Android开发对照】 之 APP入口
  9. [Git] Automatically running tests before commits with ghooks
  10. iOS_ScrollView的自己主动布局
  11. Android一些解决方案内存问题(一)
  12. java八大基本数据类型
  13. java发送post请求 ,请求数据放到body里
  14. Android简易实战教程--第四十三话《上拉加载与下拉刷新》
  15. [Linux]权限s权限和t权限
  16. hyperledger中文文档学习-2-简介
  17. Eclipse中部署Android开发环境插件安装问题方案
  18. 有了这些,java IO就不愁了
  19. Unity3d插件Master Audio AAA Sound v3.5
  20. 20135202闫佳歆--week4 系统调用(上)--学习笔记

热门文章

  1. 搭建私服-docker registry
  2. css太极
  3. 把composer的源切换为 国际的源
  4. SQLSERVER sa 用户密码修改的方法
  5. java回调机制——基本理解
  6. sublime text3安装代码格式化的步骤
  7. Windows上安装 TensorFlow及简单命令
  8. jQuery 获取url中的参数
  9. SQL Server 数据库try catch 存储过程
  10. 数据同步到redis中时候需要 需要给关联的表增加id 如果是一对多 则增加list存储id 如果是一个 则增加一个字段 ;目的是便于取值