小编Pez*_*zze的帖子

基本方法链接

我发现这个方法在python中链接,但即使有了它我也无法理解Python中的方法链接.

这里的目标是两个:解决编码问题并理解方法链(考虑到我仍然没有100%对callables有信心).

直到问题定义.

我想要一个有两个方法的类:一个设置object ='line'的参数,另一个设置覆盖'bar'.

这是我到目前为止所得到的:

class foo():
    def __init__(self, kind=None):
        self.kind = kind

    def __call__(self, kind=None):
        return foo(kind=kind)

    def my_print(self):
        print (self.kind)

    def line(self):
        return self(kind='line')
    def bar(self):
        return self(kind='bar')
Run Code Online (Sandbox Code Playgroud)

可悲的是,通过这段代码,我可以实现我的目标

a = foo()
a.bar().line().bar().bar().line().my_print()
Run Code Online (Sandbox Code Playgroud)

但是我希望通过编写这段代码来获得相同的结果

a = foo()
a.bar.line.bar.bar.line.my_print()
Run Code Online (Sandbox Code Playgroud)

我该如何实现这一目标?我想我定义__call__方法的方法有点不对劲.在此先感谢您的帮助.

python callable method-chaining

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

将多个项目ID连接到Google Play开发者控制台

当我尝试执行Google开发人员API的请求时.购买().产品(5).get()我收到403错误:projectNotLinked.

该消息告诉我"用于调用Google Play Developer API的项目ID尚未在Google Play开发者控制台中链接."

此时,我可以转到控制台,取消链接以前的项目,并链接这个,运行代码,代码工作.

但是,我不能永久地取消上一个项目的链接:我需要将它们保持联系.我该如何解决这个问题?

我环顾四周,无法找到解决方案.试图打电话给谷歌,他们告诉我他们不支持这种请求.

提前致谢.

google-api google-play-services

6
推荐指数
2
解决办法
2135
查看次数

Python Sqlalchemy - 表名作为变量

我在 Python 中使用 SQLAlchemy 并声明我的类继承自声明性基础,如下所示:

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class SomeClass(Base):
    __tablename__ = 'some_table'
    id = Column(Integer, primary_key=True)
    name =  Column(String(50))
Run Code Online (Sandbox Code Playgroud)

作为用户,我想将 定义__tablename__为参数,而不是硬编码的 value ,如下所示:

class SomeClass(Base):
    __tablename__ = f'{environment}_some_table'
    id = Column(Integer, primary_key=True)
    name =  Column(String(50))
Run Code Online (Sandbox Code Playgroud)

我的理解是,f'{environment}_some_table'当我导入这个包时将对其进行评估,因此我将无法在稍后阶段(即在交互式笔记本中)修改它。我有一段损坏的代码试图通过嵌套类和封装来解决这个问题,但我没有设法引用外部类的实例变量。

class Outer:
    def __init__(self, env):
        self.environment = env

    class SomeClass(Base):
        __tablename__ = f'{self.environment}_some_table'
        id = Column(Integer, primary_key=True)
        name =  Column(String(50))
Run Code Online (Sandbox Code Playgroud)

我读过几个 SO 问题,最好不要使用嵌套类,因为这些类之间没有建立特殊关系。那么我应该使用什么样的设计来解决这个问题呢?

提前致谢!

python nested sqlalchemy runtime class-variables

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