编程面试题

  • 如何将c ++类与ctypes一起使用?

    简短的故事是,对于C ,没有像C那样的标准二进制接口。由于名称修改和处理库函数调用之间的堆栈的方法不同,不同的编译器为相同的C 动态库输出不同的二进制文件。 所以,不幸的是,是不是真的有一个可移植的方式访问C ++库 一般 。但是,一次只需要一个编译器就没有问题。 a href="http:blog.vrplumber.comindex.php?

  • 如何在python中处理管道破损(SIGPIPE)?

    阅读try:语句。 try: # do something except socket.error, e: # A socket error except IOError, e: if e.errno == errno.EPIPE: # EPIPE error else: # Other error br

  • 在这种情况下,如何正确使用ndb KeyProperty?

    如果我没记错的话,aKeyProperty会返回a ndb.Key。获得密钥后,很容易获得模型实例(key.get)。因此,在您的示例中,您将: print post.user.get.name 至于在jinja模板中访问它-当然,它就像是这样: co

  • rreplace-如何替换字符串中表达式的最后一次出现?

    def rreplaces, old, new, occurrence: ... li = s.rsplitold, occurrence ... return new.joinli ... s '1232425' rreplaces, '2', ' ', 2 '123 4 5' rreplaces, '

  • 是否有无限迭代器的表达式?

    for x in iterint, 1: pass 二参数iter=零参数可调用+哨兵值 int 总是回来 0 因此,iterint, 1是一个无限的迭代器。显然,此特定主题有很多变体(尤其是一旦您添加

  • 从不可变类型继承[重复]

    您可以子类化int,但是由于它是 不可变的,因此 您需要提供一个.__new__构造函数挂钩: class MyIntint: def __new__cl

  • 在Matplotlib中,如何在同一图形上绘制多个函数?

    要在同一图形上绘制多个图形,您必须执行以下操作: from numpy import * import math import matplotlib.pyplot as plt t = linspace0, 2*math.pi, 400 a = sint b = cost c = a + b plt.plott, a, 'r' # plotting t, a separately plt.p

  • 处理Spark数据框中的非均匀JSON列

    我认为您的尝试和总体构想是朝着正确的方向发展的。这是基于aka get_json_object内置选项(from_json通过dataframe API)map以及基于pythonjson.dumps和json.loadsRDD API的转换的另外两种方法。

  • timeit与时序装饰器

    使用timeit。多次运行测试会给我带来更好的结果。 func_list=[locals[key] for key in locals.keys if callablelocals[key] and key.startswith'time'] alist=range1000000 times=[] for f in func_list: n = 10

  • 如何在SQLAlchemy中添加UniqueConstraint

    在某些数据库中,字符串列默认情况下不区分大小写(MySQL,SQL Server),因此您无需执行任何其他操作。 在其他情况下,您可以创建一个功能索引来强制不区分大小写的唯一约束: Index'myIndex', func.lowermytable.c.myColumn, unique=True 如果数据库支持,您还可以为该列指定不区分大小写的排序规

  • 从python调用MATLAB函数

    PyMat看起来已经被废弃了。 我假设您在Windows上,因此您始终可以采用最简单的方法并使用Matlab的COM界面: import win32com.client h = win32com.client.Dispatch'matlab.application' h.Execute "plot[0 18],

  • PyQt5 ComboBox-如何设置CurrentText的颜色而不影响下拉列表?

    您必须使用QComboBox:editable: import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * class ComboDemoQWidget: def __init__self: super.__init__

  • 在Python中使用“ continue”语句的示例?

    这是一个简单的例子: for letter in 'Django': if letter == 'D': continue print"Current Letter: " + letter 输出将是: Current Letter: j Current Letter: a Current Lette

  • python unittest howto

    单元测试提议者会告诉您单元测试应该是自包含的,也就是说,他们不应访问网络或文件系统(尤其是不在写入模式下)。网络和文件系统测试不在单元测试的范围内(尽管您可能需要对其进行集成测试)。 一般来说,在这种情况下,我提取urllib和文件编写代码以分离函数(不会进行单元测试),并在单元测试期间注入模拟函数。 即(为便于阅读,略有缩写): def get_web_contenturl

  • 在Python中是否有一个等于//运算符的上限?

    没有运算符与ceil分开。您需要import math使用math.ceil

  • 如何使用BeautifulSoup4删除XML声明

    您可以使用以下方法: import bs4 soup = bs4.BeautifulSouphtml, 'html.parser' for e in soup: if isinstancee, bs4.element.ProcessingInstruction: e.extract break printsoup

  • 在matplotlib中将x轴移动到图的顶部

    采用 ax.xaxis.tick_top 将刻度线放在图像的顶部。命令 ax.set_xlabel'X LABEL' ax.xaxis.set_label_position'top' 影响标签,而不影响刻度线。 import matplotlib.py

  • 如何最佳地将一个字符列表连接到一个字符串?

    theListOfChars = ['a', 'b', 'x', 'd', 's'] ''.jointheListOfChars 'abxds' 顺便说一句, _不要使用list或str作为变量名,_因为它们已经是内置函数的名称。 (此外,charcod

  • Python unicode相等比较失败

    您可以使用==运算符比较unicode对象是否相等。 s1 = u'Hello' s2 = unicode"Hello" types1, types2 type 'unicode', type 'unicode' s1==s2 True

  • Python-从列表中打印多个最短和最长的单词

    实际上,可以将您现有的代码修改为可以正常工作。不要在中保留一个字符串s,而应保留一个list字符串。如果找到与上一个最长的长度相同的长度,则为该长度append。如果您发现的更长,则扔掉list并开始新的。像这样: p=0 s=[] for item in lst: if lenitem

  • 搜索文件的最后X行的最有效方法?

    # Tail from __future__ import with_statement find_str = "FIREFOX" # String to find fname = "g:autoItActiveWin.log_2" # File to check with openfname, "r" as f: f.seek 0, 2 #

  • 在对熊猫数据框索引进行排序时,“ TypeError:'DataFrame'对象是可变的,因此无法进行散列”

    那是你要的吗? In [14]: h Out[14]: alpha1 alpha2 gamma1 gamma2 chi2min gender age filename F35_HC_532d.dat 0.0000 0.000 NaN 0.00 1.000000e+25 F 35 M48_HC_551d.dat 0.

  • 在Django REST框架中优化数据库查询

    Django REST Framework无法像Django本身一样为您自动优化查询。您可以在许多地方找到技巧,包括Django文档。它已

  • 熊猫按时间分组,指定的开始时间为非整数分钟

    base接受一个float参数。除了分钟,您还必须考虑秒。 base = ts.index[0].minute + ts.index[0].second60 ts.groupbypd.Grouperfreq=interval, base=base.size 2011-01-01 00:05:30 600 2011-01-01 00:15:30 600 2011

  • 如何检查字符串中的字符是否为字母?(蟒蛇)

    您可以使用str.isalpha。 例如: s = 'a123b' for char in s: printchar, char.isalpha 输出:

  • 从字符串中删除数字

    这适合您的情况吗? s = '12abcd405' result = ''.join[i for i in s if not i.isdigit] result 'abcd' 这利用了列表推导,这里发生的事情类似于此结构: no_digits = [] #

  • 为什么`{* l}`比`set(l)`更快-python集合(不仅是集合,而且是所有序列)

    出于同样的原因[]比快list; 解释器包括对使用特殊代码路径的基于语法的操作的专门支持,而构造函数调用涉及: 从内置范围加载构​​造函数(需要一对dict查找,一个在全局范围内,然后在失败时在内置范

  • 如何检查以下所有项目是否都在列表中?

    像=Python这样的运算符通常不会被覆盖以表示不同于“小于或等于”的东西。对于标准库来说,这样做是不寻常的-对我来说,它听起来像是旧版API。 使用等效的和更清晰命名的方法set.issubset。注意,您不需要将参数转换为集合;如有需要,它将为您完成。 set['a', 'b'].issubset['a', 'b', 'c']

  • PyQt4,从comboBox获取当前文本

    您需要使用信号和插槽。 只要在中选择了新项目comboBox,currentIndexChangedconst QString text就会发出信号(text是所选新项目的文

  • 如何设置PyCharm以在本地计算机上开发AWS Lambda功能?

    从re:Invent 2018主题演讲的公告开始, Jetbrains 现在提供了 AWS Toolkit ,该 工具包 允许本地和远程开发Lambda函数。 尽管存在一些挥之不去的问题,它仍然运行良好。 用户exan在a href="https:docs.aws.amazon.comtoolkit-for- jetbrainsla

  • Django中的SlugField和覆盖保存

    覆盖save方法的用途是每次保存模型实例时执行一些操作。 在您的示例中,每次保存模型实例时,该save方法都会使用函数将名称值转换为从属值,slugify并将其保存到从属字段中。 这是一种将名称值自动转换为段值,然后将其保存在段值字段中的方法。 def saveself, *args, **kwargs:

  • Django ModelForm覆盖__init__

    这就是我最终解决此问题的方式: 我错误地选择了字段的类型:正确的是ModelChoiceField: class ArchiveFormforms.ModelForm: class Meta: model = Archive fields = ['tags', 'version', 'sharegp'] localized_field

  • python解释器能否在重新声明的函数上失败?

    您可以创建一个装饰器,该装饰器可以比较函数的名称,也可以将其存储在字典中。如果键已经存在,则可以从装饰器抛出异常!在开发过程中使用此装饰器装饰您的所有功能。完成所有测试后,您就可以摆脱装饰! 就像是 #import sys if sys.argv[1] == "--def-strict": def duplicateFinderf: if globals.has

  • 在熊猫中,如何基于许多列的组合创建唯一的ID?

    我认为您可以使用factorize: df['combined_id'] = pd.factorizedf.B+df.C[0] print df B C

  • 如何在OS X Leopard上安装MySQL和Python MySQL软件包?或者我如何学习使用OS X成为Web开发人员?

    MySQL和MySQL- dev安装是否顺利?您可以运行MySQL,连接到MySQL等吗?是否usrlocalmysqlinclude包含很多头文件?(我在那里有46个头文件,以供参考)。 如果是这样,MySQL应该很好。但是,仍然需要一些手动步骤来编译MySQL-python。 这

  • 使用atof转换数字

    您的数字中不能有多个点(.)或逗号(,),因为这两个符号用于atof将数字的小数部分与整数部分分开。 由于Python不需要点即可正确表示您的数字,因此应删除它们并仅保留逗号: import locale from locale import atof locale.setloca

  • 在Ubuntu 15.10中无法终止使用python创建的sudo进程

    TL; DR :sudo不命令的处理组中由过程向前发送信号自2014 5月28日提交的释放sudo 1.8.11-蟒处理(须藤的父)和tcpdump的处理(孙子)是通过默认,因此相同的处理组中的sudocod

  • Paramiko获取排序的目录列表

    没有办法SFTPClient.listdir_attr返回已排序的列表。 排序很容易: files = sftp.listdir_attr files

  • Zope:无法在属性装饰器下访问REQUEST

    该property装饰只适用于 新的风格 类; 也就是说,继承自的类object。REQUEST另一方面,获取(通过属性访问使您可以访问全局对象)是非常“老套”的python,两者不能很好地协同工作,

  • Python 2中的格式化字符串文字

    您可以通过将内置函数和字符串上的方法结合 使用, 以尝试一种 黑手党 的做事方式:locals``format foo = "asd" bar = "ghi" print"{foo} and {bar}".format**locals