小编vt2*_*253的帖子

python:如何将if语句转换为枚举或使其成为pythonic

我不太清楚怎么说这个问题.所以这里.我有这个看起来很糟糕的代码. recommendation只需要5个案例.

if avg_recommendation=='BUY':
    recommendation=5
if avg_recommendation=='OVERWEIGHT':
    recommendation=4
if avg_recommendation=='HOLD':
    recommendation=3
if avg_recommendation=='UNDERWEIGHT':
    recommendation=2
if avg_recommendation=='SELL':
    recommendation=1
Run Code Online (Sandbox Code Playgroud)

我想把它变成pythonic.我该怎么做?我读过enum,看起来它可能是我的解决方案.但我愿意接受任何优雅的解决方案.我还在使用python2.7谢谢.

python enums python-2.7

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

pip install psycopg2 在 MacOS M1 和 python 3.10.5 上不起作用

psycopg2 不适用于 M1。有人安装成功吗?

  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/psycopg2/__init__.py", line 51, in <module>
    from psycopg2._psycopg import (                     # noqa
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/psycopg2/_psycopg.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_PQbackendPID'
Run Code Online (Sandbox Code Playgroud)

我尝试安装:

  1. 心理咨询师2
  2. psycopg2 和 psycopg2 二进制文件
  3. psycopg2-单独的二进制

似乎什么都不起作用。我正在使用 python3.10.5

非常感谢!

homebrew psycopg2 python-3.x psql

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

Django:从当前实际页面获取当前url路径

我有一种情况,希望你能帮助我.我已经阅读了一些关于获取SO current_urlurl TEMPLATE_CONTEXT_PROCESSORS(最相关)的当前url路径的帖子和答案.但它似乎不适合我想做的事情.我有一个观点:

def fish_search(request):
    args = {}
    #irrelevant code here
    args['fishes'] = fishes
    args['current_path'] = request.get_full_path()
    return render_to_response('ajax_search.html', args)
Run Code Online (Sandbox Code Playgroud)

在我的ajax_search.html中:

<a id="search-results" href="{{ current_path }}"></a>
Run Code Online (Sandbox Code Playgroud)

和base.html:

div id="search-results" ></div>
Run Code Online (Sandbox Code Playgroud)

Javascript会将搜索结果转储到base.html.并且base.html在fishMarket.html,fishDictionary.html,fishRumour.html等中进行了扩展.所以,遗憾的是,显示的路径都是"/ search /"

我希望路径是/ fishMarket /如果我从fishMarket.html搜索,/ fishDictionary /应该出现,如果我从fishDictionary.html搜索,同样,/ fishRumour /如果我从fishRumour.html搜索.有没有人遇到过这种情况?你是怎么解决这个问题的?我对django比较新,所以请愚蠢地解决这个问题.

我非常感谢你的帮助.非常感谢!

django django-templates django-urls django-views

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

如何限制数据类属性中的值?

我有以下数据类Gear,我想将 gear_level 的最大值限制为 0 到 5。但是正如您所看到的,当我增加 gear_level 时,它会高于 5,这不是我想要的。我尝试了方法以及postinit。我该如何解决这个问题?

from dataclasses import dataclass

@dataclass
class Gear:
    gear_level: int = 0
    direction: str = None
    # more codes ...

    def __postinit__(self):
        if self.gear_level <= 0:
            self.gear_level = 0
        elif 5 > self.gear_level > 0:
            self.gear_level = self.gear_level
        else:
            self.gear_level = 5

    def set_gear_level(self, level):
        if level <= 0:
            self.gear_level = 0
        elif 5 > level > 0:
            self.gear_level = level
        else:
            self.gear_level = 5


g = Gear() …
Run Code Online (Sandbox Code Playgroud)

python python-dataclasses

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