相关疑难解决方法(0)

如何在Python中进行换行(换行)?

我有一长串代码,我希望在多行之间分解.我使用什么,语法是什么?

例如,添加一串字符串,

e = 'a' + 'b' + 'c' + 'd'
Run Code Online (Sandbox Code Playgroud)

并将它分成两行:

e = 'a' + 'b' +
    'c' + 'd'
Run Code Online (Sandbox Code Playgroud)

python syntax line-breaks long-lines

979
推荐指数
9
解决办法
144万
查看次数

链式方法在Python中调用缩进样式

从阅读PEP-8开始,我得知你应该将右括号放在与函数调用中最后一个参数相同的行上:

ShortName.objects.distinct().filter(
    product__photo__stockitem__isnull=False)
Run Code Online (Sandbox Code Playgroud)

也许,长表达最好避免.但是,如果这是不受欢迎的,你将如何进行多个链式方法调用?闭幕式是否应该换新线?

ShortName.objects.distinct().filter(
    product__photo__stockitem__isnull=False
).values_list('value', flat=True)
Run Code Online (Sandbox Code Playgroud)

那些无参数方法呢?如何在不引用中间返回值的情况下在多行上编写它们?

ShortName.objects.distinct(
    ).filter().values() # looks ugly
Run Code Online (Sandbox Code Playgroud)

更新:如何在Python中打破一系列链式方法有一个重复的问题.该接受的答案建议开始以点每个新线的熟悉从jQuery的风格.作者没有提供任何理由或权威参考,所以我想得到关于这种风格或替代方案的确认.

python django coding-style pep8

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

基本方法链接

我发现这个方法在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万
查看次数

格式化SQLAlchemy代码

我们正在尝试遵循PEP8指南来格式化我们的Python代码并保持每行不超过80个字符.

我们的SQLAlchemy行特别麻烦,拥有大量链接方法和大量复杂参数,逻辑和嵌套函数.

是否有任何特定的最佳实践来格式化Python SQLAlchemy与PEP8的约束?

我找到的最接近的答案就在这里,但我正在处理的代码远比这复杂得多.

python formatting sqlalchemy pep8

18
推荐指数
2
解决办法
4422
查看次数