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