前言
终于复习完了基础理论,现在进入python阶段。其实python如果你已经学习过了,那么此处复习的就应该是那些经常忘记,比较难写的函数库名和面试题等。
注意,一旦你简历中写了精通python,那么面试官不可能问你简单的常见的,比如列表的增删改查这种。问,就一定问一些比较偏门冷门的,所以这里进行列举:
1字符串、列表去重
new = list(set(old))
2类的回收
类中有个__del__()函数 当所有实例都被清除之后,这个__del__()才会启动一次。
3元组,字典传参
def xxx(*args,**kwargs)
4for else
如果for循环未被break终止 才会执行else中的语句 for i in range(5): if i == 3: break else: print '嘿嘿' 输出结果是:无
5中文编码转换报错
可以在encode/decode(“GBK”,“ignore”)来忽略错误。 如果设置为ignore,则会忽略非法字符; 如果设置为replace,则会用?取代非法字符; 如果设置为xmlcharrefreplace,则使用XML的字符引用。
6列表推导式
返回一个列表,元素为1到10随机,元素有2个。 print [randint(1,10) for i in range(2)]
7迭代器
list=[1,2,3,4] it = iter(list) # 创建迭代器对象 print(next(it)) print(next(it)) 结果为:1,2
8生成器
可以理解为返回迭代器的函数
def fibonacci(n): # 生成器函数 - 斐波那契 a=0 while 1: yield a a+=1 f = fibonacci(10) # f 是一个迭代器,由生成器返回生成 print(next(f)) print(next(f)) print(next(f)) 结果为 :1,2,3
9字典更新、合并
dict.update(dict2) ---dict2添加到dict1中,但是重复的部分会是dict2。
10过滤函数:fileter
ls = filter(lambda n:n%2,[2,3,4,5,5,6,6,7,7,8]) print(list(ls)) 结果[3, 5, 5, 7, 7]