小编ppp*_*ery的帖子

覆盖__init__.py中的len - python

我想__init__.py通过以下方式为我的包的文件中的另一个函数分配另一个函数:

llen = len
len = lambda x: llen(x) - 1
Run Code Online (Sandbox Code Playgroud)

它工作正常,但只在__init__.py文件中.如何让它影响我的包中的其他模块?

python monkeypatching built-in shadowing

8
推荐指数
1
解决办法
239
查看次数

如何不等功能完成python

我正在尝试编写一个带有异步部分的循环.我不想每次迭代都等待这个异步部分.有没有办法不等待循环内的这个功能完成?

在代码中(示例):

import time
def test():
    global a
    time.sleep(1)
    a += 1
    test()

global a
a = 10
test() 
while(1):
    print a
Run Code Online (Sandbox Code Playgroud)

提前致谢!

python

8
推荐指数
2
解决办法
5345
查看次数

Java 超级接口运行时差异 Java 8 与 Java 9

当使用 Java 8 和 Java 9 运行时,我注意到以下程序的输出有所不同。

import java.lang.reflect.Method;
public class OrderingTest {
    public static void main(String[] args) {
        ServiceImpl service = new ServiceImpl();
        for (Method method : service.getClass().getMethods()) {
            for (Class<?> anInterface : method.getDeclaringClass().getInterfaces()) {
                try {
                    Method intfMethod = anInterface.getMethod(method.getName(), method.getParameterTypes());
                    System.out.println("intfMethod = " + intfMethod);
                } catch (NoSuchMethodException e) { }
            }
        }
    }
}

class ServiceImpl implements ServiceX {
    @Override
    public Foo getType() { return null; }
}

interface ServiceX extends ServiceA<Foo>, ServiceB { }
abstract …
Run Code Online (Sandbox Code Playgroud)

java reflection overriding java-8 java-11

8
推荐指数
1
解决办法
135
查看次数

使用matplotlib的3D动画

我想用matplotlib制作3D动画,但我不知道怎么做.这是我的非工作代码.

from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import animation
from math import *

fig = plt.figure()
ax = fig.add_subplot(111) #, projection='3d'

#setting
ax.set_xlim(-5,5)
ax.set_ylim(-5,5)
#ax.set_zlim(-5,5)
ax.set_xlabel('x')
ax.set_ylabel('y')
#ax.set_zlabel('z')
ax.grid()

f1, = ax.plot([], [], "r-", lw=1) #plot1

def gen():
    for phi in np.linspace(0,2*pi,100):
        yield np.cos(phi), np.sin(phi), phi

def update(data):
    p1, q1, psi = data
    f1.set_data(p1,q1)
    #f1.set_3d_properties(psi)

ani = animation.FuncAnimation(fig, update, gen, blit=False, interval=100, repeat=True)
#ani.save('matplot003.gif', writer='imagemagick')
plt.show()
Run Code Online (Sandbox Code Playgroud)

python 3d animation matplotlib

7
推荐指数
2
解决办法
1万
查看次数

为什么我必须在更改提交消息后强制推送?

我读到有关如何修改提交消息的内容.接受的答案是:

如果您已经将提交推送到远程分支,那么您需要强制推送提交git push <remote> <branch> --force.

这是我的理解(也来自已接受的答案)git push --force将覆盖远程分支上的所有数据与本地数据.

为什么在更改提交消息后强制推送是必要的?如果我修改提交消息并试图在没有-f或者推送的情况下会发生什么--force

git push git-push

7
推荐指数
1
解决办法
4059
查看次数

导入错误:没有名为“board”的模块(AdaFruit)

从这个网站运行设置,让我的 arduino 使用 AdaFruit LED。并运行:

sudo pip3 install adafruit-circuitpython-neopixel
Run Code Online (Sandbox Code Playgroud)

然后我制作了这个python代码:

import board
import neopixel
pixels = neopixel.NeoPixel(board.D18, 12, brightness=0.2)
pixels[0] = (255, 0, 0)
Run Code Online (Sandbox Code Playgroud)

然后执行它python filename.py 并得到错误:

ImportError: No module named 'board'
Run Code Online (Sandbox Code Playgroud)

然后我想我可能需要使用 python3 (因为它到处都说)

所以我输入:

python3 light-test.py
Run Code Online (Sandbox Code Playgroud)

这次得到了更多的输出,但最后又出现了 ImportError:

 File "light-test.py", line 2, in <module>
 import neopixel
 File "/usr/local/lib/python3.5/dist-packages/neopixel.py", line 34, in           
 <module>
 from neopixel_write import neopixel_write
 File "/home/pi/.local/lib/python3.5/site-packages/neopixel_write.py", line 
 15, in <module>
 from adafruit_blinka.microcontroller.raspi_23 import neopixel as _neopixel
 File "/home/pi/.local/lib/python3.5/site- 
 packages/adafruit_blinka/microcontroller/raspi_23/neopixel.py", line 3, in 
 <module> …
Run Code Online (Sandbox Code Playgroud)

python raspberry-pi

7
推荐指数
2
解决办法
2万
查看次数

属性错误:“str”对象没有属性“shape”

我是 python 初学者。我尝试进行情感分析和RNN。但是,我AttributeError: \'str\' object has no attribute \'shape\'".查看了有关此问题的所有已发布解决方案,但无法解决此问题。我尝试在另一个数据文件中使用相同的代码,它可以工作。但不适用于我的原始数据文件。

\n\n

这是我的代码:

\n\n
import numpy as np\nimport pandas as pd\nfrom tensorflow.python.keras.models import Sequential`\nfrom tensorflow.python.keras.layers import Dense, GRU, Embedding, CuDNNGRU\nfrom tensorflow.python.keras.optimizers import Adam\nfrom tensorflow.python.keras.preprocessing.text import Tokenizer\nfrom tensorflow.python.keras.preprocessing.sequence import pad_sequences\n\n\ndataset = pd.read_csv(r\'C:\\Users\\Administrator\\Desktop\\t\xc3\xbcmveri8.csv\', encoding=\'latin1\')\n\ntarget = dataset[\'duygu\'].values.tolist()\ndata = dataset[\'yorum\'].values.tolist()\n\ncutoff = int(len(data) * 0.80)\nx_train, x_test = data[:cutoff], data[cutoff:]\ny_train, y_test = target[:cutoff], target[cutoff:]\n\nnum_words = 10000\ntokenizer = Tokenizer(num_words=num_words)\ntokenizer.fit_on_texts(data)\n\nx_train_tokens = tokenizer.texts_to_sequences(x_train)\n\nx_test_tokens = tokenizer.texts_to_sequences(x_test)\n\nnum_tokens = [len(tokens) for tokens in x_train_tokens + x_test_tokens]\nnum_tokens = np.array(num_tokens)\nmax_tokens = np.mean(num_tokens) + 2 …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow

7
推荐指数
1
解决办法
3万
查看次数

如何在Python中按日期时间对列表进行排序?

我正在编写一个 .py 文件来按时间对列表进行排序,其中包含以下信息

日期、时间、emp_id、action_performed

stackoverflow 上有一个关于此问题的问题,但我无法完全理解(我是 python 新手)

我还检查了排序函数和日期时间库,但无法让它工作。

list = 
[
('2017/09/10 13:19:38', 'employee_id', 'enrolled'),
('2017/09/10 12:15:21', 'employee_id', 'deleted'),
('2017/09/10 21:19:34', 'employee_id', 'enrolled'),
('2017/09/10 22:42:50', 'employee_id', 'deleted'),
('2017/09/10 16:53:03', 'employee_id', 'enrolled')
]
Run Code Online (Sandbox Code Playgroud)

我只想知道首先执行了哪个操作。有人可以帮我吗?

python sorting python-datetime

7
推荐指数
1
解决办法
2万
查看次数

响应标头中的网络X内容编码而不是内容编码

我正在尝试使用Nginx和NodeJS服务器的Gzip压缩来压缩用Next.js编写的代码。

当我用于curl -H "Content-Encoding: gzip"验证时,似乎配置正在工作。
但是来到真正的浏览器(Chrome,Firefox)时,我无法Content-Encoding: gzip在Response Headers中找到该属性。
而是X-Content-Encoding-Over-Network: gzip出现了。

我使用Google Lighthouse测试了该网站,但它责怪我对文本文件启用了压缩功能。

其实是什么X-Content-Encoding-Over-Network意思?
我该如何使用gzip?

Nginx设置:

gzip on;
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.0;

gzip_types
    text/css
    text/plain
    text/javascript
    application/javascript
    application/json
    application/x-javascript
    application/xml
    application/xml+rss
    application/xhtml+xml
    application/x-font-ttf
    application/x-font-opentype
    application/vnd.ms-fontobject
    image/svg+xml
    image/x-icon
    application/rss+xml
    application/atom_xml;
Run Code Online (Sandbox Code Playgroud)

Next.js设置

// next.config.js
module.exports = {
  compress: true
};
Run Code Online (Sandbox Code Playgroud)

gzip nginx node.js reactjs next.js

7
推荐指数
1
解决办法
395
查看次数

如何让 Mypy 与多个相互依赖的 mixins 一起工作?

目前,在 Electrum 中,我们使用Unionon 类型self来访问来自多个混合父类的方法。例如,QtPluginBase依靠混合到 的子类中来HW_PluginBase工作。例如,有效的用途是class TrezorPlugin(QtPluginBase, HW_PluginBase).

有 Qt gui、Kivy gui,还有 CLI。尽管 Kivy 尚未实现硬件钱包,但未来可能会实现。您已经可以在 CLI 上使用它们。

然而,也有多家硬件钱包制造商,都有自己的插件。

考虑 Trezor + Qt:

对于 Qt,我们有这样的类层次结构:

  • electrum.plugins.hw_wallet.qt.QtPluginBase被使用过
  • electrum.plugins.trezor.qt.QtPlugin(QtPluginBase)

对于 Trezor,我们有:

  • electrum.plugin.BasePlugin被使用过
  • electrum.plugins.hw_wallet.plugin.HW_PluginBase(BasePlugin)被使用过
  • electrum.plugins.trezor.trezor.TrezorPlugin(HW_PluginBase)

创建实际的 Qt Trezor 插件:

  • electrum.plugins.trezor.qt.Plugin(TrezorPlugin, QtPlugin)

关键是基本的 gui 中立插件将首先获得制造商特定的方法;然后它将获得 GUI 特定的方法。

Aaron(在评论中)建议QtPluginBase可以 subclass HW_PluginBase,但这意味着制造商特定的内容将出现在后面,这意味着生成的类不能被 CLI 或 Kivy 使用。

请注意,两者

electrum.plugins.trezor.trezor.TrezorPlugin(HW_PluginBase)

electrum.plugins.hw_wallet.qt.QtPluginBase

依靠HW_PluginBase。他们不能都将其子类化。

因此,如果我们避免混合,那么唯一的选择就是要么有QtPluginBase子类TrezorPlugin(但有很多制造商),要么TrezorPlugin可以子类化QtPluginBase,但同样,生成的类不能被 …

python multiple-inheritance generic-programming python-3.x mypy

7
推荐指数
1
解决办法
2093
查看次数