小编ruo*_*ola的帖子

使用Alt + Enter神奇地导入Pycharm时,如何在不同的行上获取每个python导入?

目前,如果我在另一个模块中未导入的功能上执行Alt + Enter,则只是将其添加到现有的导入行中。

说我有:

from my_package.my_module import do_something

my_module.do_something()
Run Code Online (Sandbox Code Playgroud)

然后我输入:

from my_package.my_module import do_something

do_something()
do_something_else()  # My new line
Run Code Online (Sandbox Code Playgroud)

我喜欢我可以简单地按Alt + Enter do_something_else并将其导入。但是会发生什么:

from my_package.my_module import do_something, do_something_else

do_something()
do_something_else()
Run Code Online (Sandbox Code Playgroud)

虽然我想发生的是:

from my_package.my_module import do_something
from my_package.my_module import do_something_else

do_something()
do_something_else()
Run Code Online (Sandbox Code Playgroud)

我查看了设置,但没有一个看起来是正确的。

这些是我目前所关注的:

编辑器>代码样式> Python

编辑器>常规>代码折叠

编辑器>常规>自动导入

我还能去哪里?似乎应该可以。也许上面的选项之一是我正在寻找的选项,但只是不明白是正确的选择?

python ide pycharm

5
推荐指数
1
解决办法
376
查看次数

如何获得更纤薄的iOS Safari智能应用横幅?

我们需要提供较小的横幅。

我可以看到,在安装应用程序后,亚马逊等某些网站的智能横幅比百思买等其他网站的智能横幅要小。亚马逊正在采取哪些具体措施来获得较小的横幅。以下是两者的元标记

亚马逊

<meta name="apple-itunes-app" content="app-id=297606951, app-argument=com.amazon.mobile.shopping://amazon.com?chgexp=MSHOP&amp;dl_sid=135-6432352-2690956, affiliate-data=ct=iPhone%20Gateway%20Page%20Nav%20Placement%20Banner&amp;pt=17789">
Run Code Online (Sandbox Code Playgroud)

截屏 亚马逊的较小横幅

百思买

<meta name="apple-itunes-app" content="app-id=314855255">
Run Code Online (Sandbox Code Playgroud)

截屏 百思买的更大横幅

我也添加了应用程序参数和 iTunes 附属属性,但这似乎没有帮助。

iphone safari mobile-safari ios smartbanner

5
推荐指数
0
解决办法
1121
查看次数

在 IdeaVim 中映射以用动作注释掉多行?

我正在尝试在 IdeaVim 中重新创建一些https://github.com/tpope/vim-commentary函数。

我在我的 中尝试了各种映射.ideavimrc,例如:

nnoremap gcc :action CommentByLineComment<CR>
Run Code Online (Sandbox Code Playgroud)

效果很好,但我无法2gcc注释掉两行。或ngcc注释掉n行。

我也尝试过像这样映射它们:

nnoremap 2gcc Vj:action CommentByLineComment<CR><Esc>
nnoremap 3gcc V2j:action CommentByLineComment<CR><Esc>
" etc...
Run Code Online (Sandbox Code Playgroud)

像这样:

nnoremap gc2j V2j:action CommentByLineComment<CR><Esc>
nnoremap gc3c V3j:action CommentByLineComment<CR><Esc>
" etc...
Run Code Online (Sandbox Code Playgroud)

但它们不起作用。

关于如何实现这一点有任何帮助吗?

ideavim

5
推荐指数
1
解决办法
5376
查看次数

Python SyntaxError:(unicode 错误)'unicodeescape' 编解码器无法解码位置 2-3 中的字节:截断 \UXXXXXXXX 转义符

有谁知道为什么我收到此 unicode 错误。我正在尝试从 csv 文件中删除重复项。

import pandas as pd
df = pd.read_csv('new.csv', usecols=['minzoom', 'maxzoom']).drop_duplicates(keep='first').reset_index()
file_name = "C:\Users\kziaj\Desktop\Python Test\newno.csv"
df.to_csv("newno.csv", index=False) # you don't need to set sep in this because to_csv makes it comma delimited.
Run Code Online (Sandbox Code Playgroud)

python

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

如何正确键入提示类装饰器?

假设我们有一些func将类的实例映射A到类的实例的函数B,即它具有签名Callable[[A], B]

我想autofunc为子类编写一个类装饰器,在创建实例时A自动应用于实例。func例如,考虑基于全局环境变量的自动 jit 编译。这可以通过以下方式完成

from functools import wraps

def autofunc(basecls):
    @wraps(basecls, updated=())

    class WrappedClass(basecls):
        def __new__(cls, *args, **kwargs):
            instance = basecls(*args, **kwargs)
            return func(instance)
    return WrappedClass
Run Code Online (Sandbox Code Playgroud)

那么下面两条大致等价:

class C(A):
...

instance = func(C())

@autofunc
class C(A):
...

instance = C()

出于我的天真,我尝试过

def autofunc(basecls: type[A]) -> type[B]:

    @wraps(basecls, updated=())
    class WrappedClass(basecls):

        def __new__(cls, *args, **kwargs):
            instance = basecls(*args, **kwargs)
            return func(instance)

    return WrappedClass
Run Code Online (Sandbox Code Playgroud)

mypy真的不喜欢,引发错误: …

type-hinting mypy python-typing python-3.9 python-3.10

5
推荐指数
1
解决办法
1405
查看次数

在 C++ 中解构时如何隐藏现有变量?

有没有办法在解构 a 时隐藏现有变量std::pair?例如,如果我定义了以下函数:

#include <iostream>
#include <utility>

std::pair<int, int> returns_pair(int a, int b)
{
    return std::make_pair(a * a, b * b);
}

void prints_two_variables(int a, int b)
{
    std::cout << a << "\n" << b << "\n";
}
Run Code Online (Sandbox Code Playgroud)

然后这个main函数工作正常,因为我从返回的中创建了新变量std::pair

int main()
{
    int a = 2;
    int b = 3;
    auto [x, y] = returns_pair(a, b);
    prints_two_variables(x, y);
    return 0;
}

Run Code Online (Sandbox Code Playgroud)

输出:

4
9
Run Code Online (Sandbox Code Playgroud)

但是我不能使用相同的变量名并隐藏现有变量,因为这会尝试再次实际声明它们:

int main()
{
    int a = 2;
    int b …
Run Code Online (Sandbox Code Playgroud)

c++ destructuring std-pair c++17 structured-bindings

4
推荐指数
2
解决办法
241
查看次数

为什么`\`会影响printf的返回值?

参考此处给出的答案,您必须从以下代码中得到什么输出:

#include<stdio.h>

int main()
{
    int a=65;
    printf("%d\n",printf("%d\
    \n",a));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它给出了输出:

65
4
Run Code Online (Sandbox Code Playgroud)

但对我来说,它似乎应该给出这个:

65
3
Run Code Online (Sandbox Code Playgroud)

为什么是输出65 4

c printf

4
推荐指数
2
解决办法
281
查看次数

如何将数学符号(例如 R^n)放入 Java 字符串中?

我想在 javafx 标签中显示 R^n 数学符号。我怎么能这样做?我找到了实数的 unicode 编号 - U+211x ( https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode#Letterlike_Symbols_block ),但是将 \u+211x 插入如下所示的标签字符串会给出“无效的 unicode”错误

Label dim_label = new Label("n ( \u+212x ^n):");
Run Code Online (Sandbox Code Playgroud)

java math unicode javafx

4
推荐指数
1
解决办法
214
查看次数

如何在 numpy 中将一个数组除以另一个数组元素?

我有两个数组,我希望第一个数组的所有元素除以第二个数组。例如,

In [24]: a = np.array([1,2,3])                                                      

In [25]: b = np.array([1,2,3])                                                      

In [26]: a/b                                                                        
Out[26]: array([1., 1., 1.])

In [27]: 1/b                                                                        
Out[27]: array([1.        , 0.5       , 0.33333333])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这不是我想要的答案,我想要的输出是这样的(我们可以看到 a 的所有元素都除以 b)

In [28]: c = []                                                                     

In [29]: for i in a: 
    ...:     c.append(i/b) 
    ...:                                                                            

In [30]: c                                                                          
Out[30]: 
[array([1.        , 0.5       , 0.33333333]),
 array([2.        , 1.        , 0.66666667]),
In [34]: np.array(c)                                                                
Out[34]: 
array([[1.        , 0.5       , 0.33333333],
       [2.        , 1.        , 0.66666667],
       [3.        , 1.5       , 1.        ]])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但我不喜欢 …

python arrays division

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

如果文件大小太小,为什么 python-magic 返回错误的 mime 类型?

如果文件大小低于 5000 字节 (InMemoryUploadedFile)。这段代码不起作用

mime_type = magic.from_buffer(file.read(), mime=True)
Run Code Online (Sandbox Code Playgroud)

它返回错误的 mime_type。例如,我有一个大小为 4074 字节的文件 cv.docx。它返回一个 mime_type:

'application/x-empty'
Run Code Online (Sandbox Code Playgroud)

代替

'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
Run Code Online (Sandbox Code Playgroud)

您能给我一些解决此案的建议吗?

python mime-types python-magic

4
推荐指数
1
解决办法
1652
查看次数