编程面试题

  • 在__del__中关闭/处理对象真的可以吗?

    简短答案:否。 长答案:使用起来__del__很棘手,主要是因为不能保证调用它。这意味着您不能在那里做绝对必须做的事情。反过来,这意味着__del__基本上只能用于无论如何迟早都会进行的清理,例如清理在进程退出时将被清理的资源,因此,是否__del__被调用无关紧要。当然,这些通常也与Python为您所做的相同。这样有点__del__c

  • 同一包中的绝对导入模块

    from mypkg import a是正确的形式。不要在Python软件包目录中运行脚本,它会使用多个名称使同一模块可用,这可能会导致错误。python -m mypkg.b从包含的目录中运行mypkg。 为了能够从任何目录运行,mypkg应该位于pythonpath中。

  • 在python中的字符串中交换字母

    您可以将其缩短为 def rotatestrg,n: return strg[n:] + strg[:n] 并简单地使用负索引来“向右”旋转: rotate"hello", 2 'llohe' rotate"hello", -1 'ohell'

  • 计算时间复杂度为O(nlogn)的列表中的出现

    您可以使用Counter这样的 from collections import Counter alist=[1,1,1,2,2,3,4,2,2,3,2,2,1] print Counteralist 如果您想使用自己的解决方案,可以像这样改善它 def icountalist: adic = {}

  • 在数据框中查找每一行的前N列

    如果您只想配对: from operator import itemgetter as it from itertools import repeat n = 3 # sort_values = order pandas 0.17 new_d = ziprepeatrow["index"], mapit0,row[1:].sort_valuesascending=0[:n].it

  • Python:ImportError:没有名为os的模块

    我找到了针对该问题的解决方案(在redhat系统中),这是与Django框架相关的解决方案。 我已经安装了Python 2.6(所以我不再使用默认安装的python),并使用新版本的Python和一些其他所需的模块重新安装了Django,例如:( easy_isntall , MySQL_python-1.2.3-py2.6 -linux-x86_64

  • (py)Spark中分组数据的模式

    由zero323建议的解决方案。 原始解决方案:https : stackoverflow.coma

  • matplotlib表面图隐藏了散点,这些散点应该在前面

    好的,按照T先生的评论,似乎没有 直接的 方法可以解决这个问题。但是,对于我要执行的操作,有一种解决方法(突出显示表面上的特定点)。使用matplotlib.patches和mpl_toolkits.mplot3d.art3d模块,可以在

  • 模型预测的置信区间

    我们一直想让它更容易实现。您应该可以使用 from statsmodels.sandbox.regression.predstd import wls_prediction_std prstd, iv_l, iv_u = wls_prediction_stdresults 如果您有任何问题,请在github上提交问题。

  • ModSecurity:输出过滤器:无法读取存储桶(rc 104):对等重置连接

    输出过滤是管理员检查通过Apache的所有文本以获取特定字符串集的一种方法,然后阻止这些请求。 您有两种选择: 查看您的apache配置中的mod_security过滤器规则。

  • 将pandas csv保存到子目录

    基本上,您可以构建一个包含子目录的路径,并将其作为路径arg传递给to_csv: root = 'MonthlyDataSplit' for gp in g: filename = gp[0] + '.csv' printfilename gp[1].to_csvroot + '' + filename 您需要添加斜

  • 在Python 3中使用urllib进行套接字资源警告

    我不知道这是否 是 答案,但这是答案的一部分。 如果我将标头“ connection:close”添加到Web服务的响应中,则HTTPResponse对象似乎可以正确清除自身,而不会发出警告。 实际上,HTTP规范(a href="http:www.w

  • 使用CLI通过HTTPS运行Flask开发服务器

    当Flask 1.0发布时,该功能将可用。 flask run --cert dev.crt --key dev.key 在此之前,app.run如果确实需要,请使用。请记住,开发服务器不是用于生产的,通常不应公开访问,因此SSL不应成为

  • Python-从文本文件中查找行号

    with open'test.txt' as f: content = f.readlines index = [x for x in rangelencontent if 'pizza' in content[x].lower] 代码的第(1)部分将每一行作为变量“ content”中的单独列表读取。 第(2)部分仅在该行中存在“披萨”的情况下

  • 如何让Python知道用户连接了哪些Wifi?

    import subprocess if "SchoolWifiName" in subprocess.check_output"netsh wlan show interfaces": print "I am on school wifi!"

  • 使用python 3.3生成并保存.eml文件

    您应该将打开的文件(以写入模式)传递给Generator。当前,您仅向它传递一个字符串,这就是为什么它在尝试调用.write该字符串时失败的原因。 所以做这样的事情:

  • python类设计(staticmethod与方法)

    方法类型的选择取决于其他因素。 你有两种情况。第一种情况是该方法必须是类接口的一部分- 例如它必须由用户调用,或者必须在子类中可重写,或者它使用自身的信息,或者可能在将来的版本中您可能需要其中的任何软件。 在第一种情况下,您通常会使用普通方法(即方法与实例相关而不与类相关)或classmethod(当方法与类相关时(例如,它是替代构造函数),发现方法类功能等)。在这两种

  • 如何修复ValueError:读取关闭的文件异常?

    您的URL返回403代码错误,显然urllib.request.urlretrieve不善于检测所有HTTP错误,因为它正在使用,a href="http:docs.python.orgdevlibraryurllib.request.html#

  • 使用python cv2.createTrackbar

    希望您现在已经解决了您的问题,但是如果您还没有解决的话,我会尽力向您解释。您可以使用命名窗口功能创建一个窗口,然后将轨迹栏与该窗口关联。 cv2.namedWindow'test' cv2.createTrackbar'thrs1', 'test', 300, 800, callback # Do whatever you want with contours cv2.imshow'test', fra

  • 如何将列表元素作为参数传递

    使用该*参数拆包操作: seq = [1, 2, 3] foo*seq 因此,在该input功能你可以使用 p

  • python-ldap OS X 10.6和Python 2.6

    问题和解决方案在此处记录。 简介:10.7。{0,1}系统工具和头文件都来自OpenLDAP 2.4.x,而库来自OpenLDAP 2.2.0。解决方案是构建OpenLDAP库以匹配系统标头,并将python-ldap与这些标头链接。 所有的功劳归功于a

  • 在Sphinx文档中保留包装/装饰的Python函数的默认参数

    我想出了一个猴子补丁functools.wraps。因此,我只是将其添加到了conf.py项目文档的sphinxsource文件夹中的脚本中: # Monkey-patch functools.wraps import functools def no_op_wrapsfunc: """Replaces functools

  • 在numpy中,如何有效列出所有固定大小的子矩阵?

    您需要一个窗口视图: from numpy.lib.stride_tricks import as_strided arr = np.arange1, 25.reshape4, 6 % 10 sub_shape = 3, 3 view_shape = tuplenp.subtractarr.shape, sub_shape + 1 + sub_shape arr_view = as_stri

  • 对于鼻子测试类,使用__init __(self)而不是setup(self)是否有缺点?

    虽然__init__可以代替setUp,但您应该坚持使用setUp它,因为它是编写测试的风格化协议的一部分。它也有一个对口tearDown,这__init__不,还有讲座和模块级的同行,其__init__没有。 编写测试类与编写普通类不同,因此,您应遵循编写测试类的风格。

  • 有没有一种方法可以运行来自bash的zip文件中的python脚本?

    我终于找到了一种方法。如果创建一个zip文件,则必须__main__.py在zip的根目录下创建。因此,可以在main内部启动脚本并使用以下命令从bash调用: python myArchive.zip 此命令将运行__main__.py文件!: 然后,我可以创建.command文件以使用

  • 如何使每个类方法在执行之前调用指定的方法?

    您可以使用元类和 getattribute 动态地修饰所有方法(如果您使用的是Python 2,请确保从object!a href="http:docs.python.orgrefere

  • Windows下pwd.getpwnam(username).pw_dir的等效项是什么?

    阅读2.6文档显示os.path.expanduser在Windows上已损坏: 在Windows上,如果已设置,则将使用HOME和USERPROFILE,否则将使用HOMEPATH和HO

  • 重新组装Python字节码为原始代码?

    http:sourceforge.netprojectsdecompyle

  • Numpy / Pandas干净的方法来检查特定值是否为NaN

    您可以使用NaN!=的inate属性。NaN 所以a == a将返回False如果a是NaN 这甚至适用于字符串 例: In[52]: s = pd.Series[1, np.NaN, '', 1.0]

  • 熊猫,与数据框行条目的args一起应用

    我认为您需要: import pandas as pd df = pd.DataFrame{'A':[1,2,3], 'B':[4,5,6]} print df A B 0 1 4 1 2 5 2 3 6 def myfunctionB, A: #some staff result = B + A # do s

  • SQLAlchemy按计算列排序

    首先,您需要定义一列,其中将包含实现为sql函数的公式 比您使用定义的列构建查询: col = tclass.end_time + case[tclass.end_timetclass.start_time, 86400000], else_=0 q = session.querycol.order_bycol print q 还有

  • 未在上传时检测到烧瓶文件

    request.form仅包含表单输入数据。 request.files包含文件上传数据。您需要将两者的组合传递给表单。由于您的表单是继承自Flask- WTF的表单Form(现在称为FlaskForm),因此如果您不向表单传递任何内容,它将自动处理。 form = BrandF

  • 如何填写清单

    考虑以下用途extend: l = [] l.extend(range(1,6)) 打印l [1、2、3、4、5] l.extend(range(1,6)) 打印l [1、2、3、4、5、1、2、3、4、5] 如果要创建函数(

  • 如何对字母数字大熊猫索引的降序进行排序。

    一个简单的解决方案是: 分割索引以提取临时键列中的数字 按此列降序排列 删除临时键列 df = DataFrame{'id':['a132','a132','b5789','b5789','c1112','c1112'], 'value':[0,0,0,0,0,0,]} df = df.gro

  • Django上的脆皮表单VariableDoesNotExist

    crispy模板标记的第一个参数是Crispy Forms需要Form实例的上下文变量的名称。因此,您需要以某种方式Form在模板上下文中获取实例。如果您在视图中使用此表单,则可以执行以下操作 def yourviewrequest: return TemplateResponserequest, "you

  • python中的SpeechRecogniton模块太慢

    现在不建议使用duration参数。参考StackOverflow问题。 而是使用phrase_time_limit或timeout。 这是

  • 如何在python字典中的键具有多个值?

    使用相同的键,字典中不能有多个项目。您应该做的是使值a list。像这样 - d = dict d["flow"] = ["flow"] d["flow"].append"wolf" 如果那是您想要做的,那么您可能要使用a href="https:docs.python.orgdevlibrarycollections.html#

  • 运行Python 3.5解释器需要哪些标准库模块?

    这些是在解释器启动过程中使用的软件包模块(例如,@Charles Duffy在注释中通过查看指出sys.modules)。 结果取决于您是否site启用了(您的Py_NoSiteFlag = 1;意思不是这样,但是无论如何,我将同时给两个选项:-)。 site当您像_sitebuiltins

  • pygame中面具之间的碰撞

    的掩码Terrain从未设置。装上适当的Terrain口罩: class Terrainobject: def __init__self, x, y: self.x = x self.y = y maskSurf = pg.Surfacedisplay_width, display_heigh

  • CountVectorizer删除仅出现一次的功能

    因此,在没有实际看到的源代码的情况下很难说setup_data,但是我对这里发生的事情有相当不错的猜测。sklearn遵循fit_transform格式,表示有两个阶段,特别fit是和transform。 在的例子CountVectorizer的fitcode