随笔分类 -  python 面试题

摘要:-(.*)是贪婪匹配,会把满足正则的尽可能多的往后匹配 -(.*?)是非贪婪匹配,会把满足正则的尽可能少匹配 阅读全文
posted @ 2019-07-15 17:54 anobscureretreat 阅读(2250) 评论(0) 推荐(0)
摘要:try..except..else没有捕获到异常,执行else语句 try..except..finally不管是否捕获到异常,都执行finally语句 阅读全文
posted @ 2019-07-15 17:53 anobscureretreat 阅读(127) 评论(0) 推荐(0)
摘要:让关键代码依赖于外部包:你可以为紧急的任务使用C、C++或机器语言编写的外部包,这样可以提高应用程序的性能 使用生成器,因为可以节约大量内存 多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率 使用较新的Python版本 在排序时使用键(key) 阅读全文
posted @ 2019-07-15 17:52 anobscureretreat 阅读(1429) 评论(0) 推荐(0)
摘要:issue中查询是否有相似bug assert / try-except / IDE单步调式 框架可以查询源码或者查询官方文档 阅读全文
posted @ 2019-07-15 17:51 anobscureretreat 阅读(514) 评论(0) 推荐(0)
摘要:例子 输出 例子 输出 阅读全文
posted @ 2019-07-15 17:09 anobscureretreat 阅读(167) 评论(0) 推荐(0)
摘要:@staticmethod:不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样。 @classmethod也不需要self参数,但第一个参数需要是表示自身类的cls参数。 阅读全文
posted @ 2019-07-15 17:01 anobscureretreat 阅读(123) 评论(0) 推荐(0)
摘要:传址 不可变类型(数值型、字符串、元组): 因变量不能修改,所以运算不会影响到变量自身 可变类型(列表字典):函数体运算可能会更改传入的参数变量。 阅读全文
posted @ 2019-07-15 16:59 anobscureretreat 阅读(624) 评论(0) 推荐(0)
摘要:(1,)– tuple; (“1”) – str; (1) – int; >>> (2,)(2,)>>> (2)2>>> ("6")'6'>>> 阅读全文
posted @ 2019-07-15 16:53 anobscureretreat 阅读(1156) 评论(0) 推荐(0)
摘要:lambda 函数是一种快速定义单行的最小函数,省去了定义函数,只是一个表达式, 它将创建一个匿名函数。 格式: 例子 阅读全文
posted @ 2019-07-15 16:49 anobscureretreat 阅读(151) 评论(0) 推荐(0)
摘要:答案:是,从列表变为生成器 阅读全文
posted @ 2019-07-15 16:44 anobscureretreat 阅读(186) 评论(0) 推荐(0)
摘要:可迭代对象:任何你可以用for ... in ... 的对象都是可迭代对象, list,strings, files, sockets…。 当你创建一个list的时候,你一个个的获取list里面的值,这就是可迭代对象 迭代器:它是一个带状态的对象,他能在你调用next()方法的时候返回容器中的下一个 阅读全文
posted @ 2019-07-15 16:42 anobscureretreat 阅读(122) 评论(0) 推荐(0)
摘要:为什么不能用 dct1 = dct2 赋值?因为指向的是同一个内存地址 针对复合型对象而言,深浅拷贝会有如下区别: - 浅拷贝:创建一个新复合型对象, 然后将所有原对象包含的其他对象的内存引用插入到新对象里面 - 深拷贝:创建一个新复合型对象, 将所有的原对象的的拷贝值插入到新对象中 阅读全文
posted @ 2019-07-15 16:26 anobscureretreat 阅读(124) 评论(0) 推荐(0)
摘要:不管在处理文件过程中是否发生异常,都能保证 with 语句执行完毕后已经关闭了打开的文件句柄。如果使用传统的 try/finally 范式,则要使用类似如下代码: 格式: context_expression 要返回一个上下文管理器对象,该对象并不赋值给 as 子句中的 target(s) ,如果指 阅读全文
posted @ 2019-07-15 16:18 anobscureretreat 阅读(186) 评论(0) 推荐(0)
摘要:__new__ 控制类实例创建过程时使用, 会在__init__ 调用之前调用, 调用这个方法之后,会返回一个实例 == __init__中的 self __init__ 控制初始化一个类实例, 不会返回任何东西,它只负责初始化一个类实例 阅读全文
posted @ 2019-07-15 14:53 anobscureretreat 阅读(113) 评论(0) 推荐(0)
摘要:为了能让一个函数接受任意数量的位置参数:* 为了接受任意数量的关键字参数:** *参数只能出现在函数定义中最后一个位置参数后面,而**参数只能出现在最后一个参数 解决的问题:构造一个可接受任意数量参数的函数 阅读全文
posted @ 2019-07-15 14:51 anobscureretreat 阅读(127) 评论(0) 推荐(0)
摘要:>>> int("1.6") Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '1.6' >>> float("1.6") 1.6 >>> 阅读全文
posted @ 2019-07-15 14:41 anobscureretreat 阅读(448) 评论(0) 推荐(0)
摘要:可变类型(mutable):变量进行append、+=等这种操作后 == 改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。 阅读全文
posted @ 2019-07-15 14:30 anobscureretreat 阅读(3601) 评论(0) 推荐(0)
摘要:删除字典某个键 – del 合并两个字典 – update() 对一个巨大的字典进行遍历 py2使用iteritems() ;py3使用items() 阅读全文
posted @ 2019-07-15 13:59 anobscureretreat 阅读(146) 评论(0) 推荐(0)
摘要:is是对比地址;==是对比值 阅读全文
posted @ 2019-07-15 13:41 anobscureretreat 阅读(158) 评论(0) 推荐(0)
摘要:字符编码: py3中默认字符编码是unicode;py2中默认字符编码是 ASCII,如果文件中出现了中文,需要在顶部加入coding声明#coding:utf8 让用户输入:py3中直接使用input(); py2中需要使用raw_input() range和xrange:py3中的range = 阅读全文
posted @ 2019-07-15 13:38 anobscureretreat 阅读(197) 评论(0) 推荐(0)