Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

7
NumPy数组初始化(使用相同的值填充)
我需要创建一个长度为NumPy的数组n,其中每个元素为v。 还有什么比: a = empty(n) for i in range(n): a[i] = v 我知道zeros并且ones可以在v = 0,1下使用。我可以使用v * ones(n),但是在vis 上将不起作用None,而且速度会慢很多。
237 python  arrays  numpy 

18
Python在git bash的命令行中不起作用
Python无法在git bash(Windows)中运行。当我在命令行中键入python时,它带我进入空白行,而无需说它像在Powershell中一样已经输入了python 2.7.10。它不会给我错误消息,但是python不会运行。 我已经确定PATH中的环境变量包括在内c:\python27。我还能检查什么? 发生此问题的会话如下所示: user@hostname MINGW64 ~ $ type python python is /c/Python27/python user@hostname MINGW64 ~ $ python ...坐在那里而不返回提示。

9
如何检查变量是否为类?
我想知道如何检查变量是否是类(不是实例!)。 我试图使用该函数isinstance(object, class_or_type_or_tuple)来执行此操作,但我不知道类将具有哪种类型。 例如,在以下代码中 class Foo: pass isinstance(Foo, **???**) # i want to make this return True. 我试图class用???代替“ ” ,但我意识到这class是python中的关键字。
236 python  reflection 

4
Matplotlib不同大小的子图
我需要在图中添加两个子图。一个子图的宽度大约是第二个子图的三倍(相同的高度)。我使用GridSpec和colspan参数完成了此操作,但是我想使用来完成此操作,figure因此可以保存为PDF。我可以使用figsize构造函数中的参数调整第一个图形,但是如何更改第二个图形的大小?


9
如何比较Python中的版本号?
我正在走一个包含鸡蛋的目录,将这些鸡蛋添加到sys.path。如果目录中有相同.egg的两个版本,我只想添加最新的一个。 我有一个正则表达式r"^(?P<eggName>\w+)-(?P<eggVersion>[\d\.]+)-.+\.egg$可以从文件名中提取名称和版本。问题是比较版本号,它是一个类似的字符串2.3.1。 由于我正在比较字符串,所以2在10之上排序,但这对于版本来说是不正确的。 >>> "2.3.1" > "10.1.1" True 我可以进行一些拆分,解析,转换为int等操作,最终得到解决方法。但这是Python,而不是Java。有没有比较版本字符串的优雅方法?

15
如何获取方法参数名称?
鉴于Python函数: def a_method(arg1, arg2): pass 如何提取参数的数量和名称。即,鉴于我有提及func,因此我希望func.[something]返回("arg1", "arg2")。 这样做的使用场景是我有一个装饰器,并且我希望以与实际函数作为键一样的顺序使用方法参数。即,"a,b"我致电时装饰工的外观如何a_method("a", "b")?

10
Matplotlib 2个子图,1个颜色条
我花了太多的时间研究如何在Matplotlib中使用两个颜色共享的单个颜色条来使两个子图共享相同的y轴。 发生的是,当我colorbar()在subplot1或中调用函数时subplot2,它将自动缩放绘图,以使颜色栏和绘图可以放入“子图”边界框内,从而导致两个并排的绘图有两个不同大小。 为了解决这个问题,我尝试创建了第三个子图,然后黑客入侵了它,仅用一个颜色条就不渲染任何图。唯一的问题是,现在两个图的高度和宽度是不均匀的,我不知道如何使它看起来还不错。 这是我的代码: from __future__ import division import matplotlib.pyplot as plt import numpy as np from matplotlib import patches from matplotlib.ticker import NullFormatter # SIS Functions TE = 1 # Einstein radius g1 = lambda x,y: (TE/2) * (y**2-x**2)/((x**2+y**2)**(3/2)) g2 = lambda x,y: -1*TE*x*y / ((x**2+y**2)**(3/2)) kappa = lambda …

9
为什么PEP-8指定的最大行长为79个字符?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 为什么在这个千年中,Python PEP-8应该指定最大行长度为79个字符? 在阳光下几乎每个代码编辑器都可以处理更长的行。包装应该是内容消费者的选择,而不是内容创建者的责任。 在这个年龄段,是否有(合理的)充分理由坚持使用79个字符?
235 python  pep8 



3
在Python中使用类型提示添加默认参数值
如果我有这样的功能: def foo(name, opts={}): pass 我想在参数中添加类型提示,该怎么办?我假设的方式给了我一个语法错误: def foo(name: str, opts={}: dict) -> str: pass 以下内容不会引发语法错误,但似乎不是处理这种情况的直观方法: def foo(name: str, opts: dict={}) -> str: pass 我在typing文档或Google搜索中找不到任何内容。 编辑:我不知道默认参数如何在Python中工作,但出于这个问题,我将保留上面的示例。通常,最好执行以下操作: def foo(name: str, opts: dict=None) -> str: if not opts: opts={} pass

9
逐行读取子流程标准输出
我的python脚本使用子进程来调用非常嘈杂的linux实用程序。我想将所有输出存储到日志文件中,并向用户显示其中的一些内容。我以为下面的方法可以工作,但是直到实用程序产生大量输出后,输出才出现在我的应用程序中。 #fake_utility.py, just generates lots of output over time import time i = 0 while True: print hex(i)*512 i += 1 time.sleep(0.5) #filters output import subprocess proc = subprocess.Popen(['python','fake_utility.py'],stdout=subprocess.PIPE) for line in proc.stdout: #the real code does filtering here print "test:", line.rstrip() 我真正想要的行为是过滤器脚本打印从子流程接收到的每一行。Sorta像是做什么tee,但带有python代码。 我想念什么?这有可能吗? 更新: 如果将a sys.stdout.flush()添加到fake_utility.py中,则代码在python 3.1中具有所需的行为。我正在使用python 2.6。您可能会认为使用proc.stdout.xreadlines()与py3k相同,但事实并非如此。 更新2: …
235 python  subprocess 

23
无法在Mac OS X 10.9上安装Lxml
我想安装Lxml,以便随后可以安装Scrapy。 今天更新Mac时,不允许我重新安装lxml,但出现以下错误: In file included from src/lxml/lxml.etree.c:314: /private/tmp/pip_build_root/lxml/src/lxml/includes/etree_defs.h:9:10: fatal error: 'libxml/xmlversion.h' file not found #include "libxml/xmlversion.h" ^ 1 error generated. error: command 'cc' failed with exit status 1 我尝试使用brew安装libxml2和libxslt,两者都安装良好,但仍然无法安装lxml。 上次安装时,我需要在Xcode上启用开发人员工具,但是由于将其更新为Xcode 5,因此不再提供该选项。 有人知道我需要做什么吗?
234 python  xcode  macos  scrapy  lxml 

11
Python是强类型的吗?
我遇到过一些链接,说Python是一种强类型语言。 但是,我认为在强类型语言中您不能这样做: bob = 1 bob = "bob" 我认为强类型语言在运行时不接受类型更改。也许我对强类型/弱类型的定义有误(或过于简单)。 那么,Python是强类型语言还是弱类型语言?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.