我试过谷歌但找不到答案.
如果我这样做
c = pickle.load(open(fileName, 'r'))
Run Code Online (Sandbox Code Playgroud)
此操作后文件会自动关闭吗?
我想知道,如果我打开自己的自定义c代码编译的dll库,就像这样:
import ctypes
my_lib = ctypes.cdll.LoadLibrary('./my_dll.dll')
my_func = my_lib.my_func
# Stuff I want to do with func()
Run Code Online (Sandbox Code Playgroud)
我需要在使用后关闭my_lib对象,就像文件对象一样吗?这样做会使代码更清晰,更高效,更"pythonic"吗?
谢谢!
我试图在numpy数值计算数组的二阶梯度.
a = np.sin(np.arange(0, 10, .01))
da = np.gradient(a)
dda = np.gradient(da)
Run Code Online (Sandbox Code Playgroud)
这就是我的想法.应该这样做吗?
我问这个,因为在numpy中没有选项说np.gradient(a,order = 2).我担心这种用法是否错误,这就是为什么numpy没有实现这一点.
PS1:我确实知道有np.diff(a,2).但这只是单边估计,所以我很好奇为什么np.gradient没有类似的关键字.
PS2:np.sin()是玩具数据 - 真实数据没有分析形式.
谢谢!
我在Windows 7 64位,匀称版本1.5.13使用Python 3.5 64位.
我有以下代码返回一个自相交的多边形:
import numpy as np
from shapely.geometry import Polygon, MultiPolygon
import matplotlib.pyplot as plt
x = np.array([ 0.38517325, 0.40859912, 0.43296919, 0.4583215 , 0.4583215 ,
0.43296919, 0.40859912, 0.38517325, 0.36265506, 0.34100929])
y = np.array([ 62.5 , 56.17977528, 39.39698492, 0. ,
0. , 17.34605377, 39.13341671, 60.4180932 ,
76.02574417, 85.47008547])
polygon = Polygon(np.c_[x, y])
plt.plot(*polygon.exterior.xy)
Run Code Online (Sandbox Code Playgroud)
这是对的.然后我尝试使用以下方法获取两个单独的多边形buffer(0):
split_polygon = polygon.buffer(0)
plt.plot(*polygon.exterior.xy)
print(type(split_polygon))
plt.fill(*split_polygon.exterior.xy)
Run Code Online (Sandbox Code Playgroud)
不幸的是,它只返回了两个多边形:
有人可以帮忙吗?谢谢!
我有以下代码不起作用:
import matplotlib.pyplot as plt
# Make the plot
fig, axs = plt.subplots(3, 1, figsize=(3.27, 6))
axs[0].plot(range(5), range(5), label='label 1')
axs[0].plot(range(5), range(4, -1, -1), label='label 2')
axs[0].legend(bbox_to_anchor=(0, 1.1, 1., 0.1), mode='expand', ncol=2, frameon=True, borderaxespad=0.)
# Adjust subplots to make room
fig.subplots_adjust(top=.5)
fig.savefig('test.png', format='png', dpi=300)
Run Code Online (Sandbox Code Playgroud)
可以看出 fig.subplots_adjust 根本不起作用。
我使用的是 WinPython 3.3.2.3 64 位,matplotlib 版本 1.3.0 和 CPython 3.3。这发生在 IPython Notebook 中。后端是内联的。笔记本的输出是完整的,但是输出文件裁剪不当。在 notebook 和保存的文件中, subplots_adjust 命令无效。
我是jQuery和网页设计的新手,请原谅我提出这个天真的问题.
在最新的jQuery移动网站上,他们举例如下:
<div role="main" class="ui-content">
<p>Page content goes here.</p>
</div><!-- /content -->
Run Code Online (Sandbox Code Playgroud)
而对一些旧的,他们有:
<div data-role="content">
<p>Page content goes here.</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我的问题是:1)这只是一个版本问题,对于新版本,第一种情况比第二种情况更受欢迎吗?
我个人觉得有点不舒服,因为我有data-role="page",或者"header",或者"footer",但是对于中间人来说是不一致的.
2)我试图在他们的API文档中找到这个部分,但找不到它 - role="main"和class="ui-content"?的单独角色是什么?我认为数据角色只是让jQuery在pagecreate中应用类,在这种情况下,是role="main"做同样的事情吗?如果是,为什么他们同时使用两者?
我知道第二个问题是一个非常大的问题,只要有人能指出我可以解释的文档链接,我就会非常感激.
谢谢!
我一直在使用pylab的代码,它工作正常:
import pylab as pl
colors = pl.cm.Spectral(np.linspace(0, 1, 10))
Run Code Online (Sandbox Code Playgroud)
但是,我想摆脱pylab,因为在文档中它说"通信首选接口通常是非交互式绘图的首选".所以我试着用matplotlib.cm但却找不到相同的东西.任何人都可以帮我这个吗?
谢谢!
我目前正处于需要完成大量3D打印设计的项目中.它们都是参数化的,所以我想写一个python代码来为我生成那些设计文件(.STL格式).我想知道,是否有一个python包可以做到这一点?因为目前我正在使用SolidWorks手工完成这些工作.
谢谢!
作为Fortran 90自由格式的新手,我真的很想知道为什么下面的代码片段不起作用:
program test2
implicit none
!!! A program to practice f90 writing.
! Define double precision data
integer, parameter :: dp = kind(1.d0)
real(dp) :: a(3), b(3)
integer :: i
a = (/(i, i=1, 3)/)
b = (/(i, i=1, 3)/)
write (*, *) m31tensorprod(a, b)
contains
function m31tensorprod(a, b)
real(dp), dimension(3), intent(in) :: a, b
real(dp), intent(out) :: m31tensorprod(3, 3)
integer :: k1, k2
forall(k1=1:3, k2=1:3)
m31tensorprod(k1, k2) = a(k1) * b(k2)
end forall
return
end function m31tensorprod
end …Run Code Online (Sandbox Code Playgroud) 似乎 MathML 可以通过简单的复制和粘贴字符串来处理我的单词,例如
<math xmlns="http://www.w3.org/1998/Math/MathML"><mfrac><mn>1</mn><mn>2</mn></mfrac></math>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用sympy的 mathml 打印机时:
from sympy import S
from sympy.printing.mathml import mathml
my_eqn = S(1) / 2
print(mathml(my_eqn))
Run Code Online (Sandbox Code Playgroud)
输出是:
<apply><divide/><cn>1</cn><cn>2</cn></apply>
Run Code Online (Sandbox Code Playgroud)
而且我无法将其复制并粘贴到 Word 中以使其成为 Word 方程式。
有人可以帮忙吗?