面试常考(python)

Python语言特性

1.Python的函数参数传递

a=1
def fun(a):
    a = 2
fun(a)
print a # 1
a=[]
def fun(a):
    a.append(1)
fun(a)
print a # [1]

2.元类 metaclass

metaclass 允许创建类或修改类
通常ORM框架中使用,只有使用者才能根据表结来动态地设计出对应的类。

3. @staticmethod @classmethod

||实例方法|类方法|静态方法|
|:--|:--|:--|:--|
|a = A()|a.foo(x)|a.class_foo(x)|a.static_foo(x)|
|A|不可用|A.class_foo(x)|A.static_foo(x)|

4.类变量 实例变量

5.自省机制

6.单下划线和双下划线

foo:一种约定,Python内部的名字,用来区别其他用户自定义的命名,以防冲突.

_foo:一种约定,用来指定变量私有.程序员用来指定私有变量的一种方式.

__foo:这个有真正的意义:解析器用_classname__foo来代替这个名字,以区别和其他类相同的命名.

7.字符串格式化%和.format

8.字典推导

9.迭代器和生成器

http://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do-in-python

10.*args and **kwargs

11.面向切片编程和装饰器

12.鸭子类型

13.Python中的重载

Python可以接受任何类型的参数并且可用缺省参数,故不需要重载。

14.新式类和旧式类

15. newinit区别

1.new是一个静态方法,而init是一个实例方法.
2.new方法会返回一个创建的实例,而init什么都不返回.
3.只有在new返回一个cls的实例时后面的init才能被调用.
4.当创建一个新实例时调用new,初始化一个实例时用init.

16.单例模式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python的函数参数传递 看两个例子: 所有变量都可以理解为内存中一个对象的“引用”,或者,可以看做C中的vio...
    marvinxu阅读 11,117评论 2 30
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,777评论 19 139
  • 01 黑色的夜,一切都是那么的寂静,那么的悄无声息。昏暗的房间里,橘黄色的灯光照在我的面具之上,显得异常恐怖、诡异...
    野居先生的酒阅读 4,635评论 12 14
  • 承载着大多数人的梦想 虽然中途有些许同胞放弃 只要车没有停,梦想没有终点 形形色色的人,你一句我一句 梦想的路途固...
    怀真子阅读 1,430评论 0 1
  • 上一周是胡思乱想,杂七杂八 这一周是,头疼得厉害