代码之家  ›  专栏  ›  技术社区  ›  Garrett Gaddy

使用函数简化字符串对齐?

  •  0
  • Garrett Gaddy  · 技术社区  · 7 年前

    .format 看起来很乱,所以我打算用 .center(shutil.get_terminal_size().columns) 在一个 print 像这样:

    import shutil
    print("Hello world!".center(shutil.get_terminal_size().columns))
    

    应该在我的控制台中央返回,确实如此。

    但是,如果我想将其简化为单个函数:

    def align_center():
        center(shutil.get_terminal_size().columns)
    

    并将其添加到打印功能的末尾:

    print("Hello World!".align_center())
    

    (我也试过在没有括号的情况下使用它 .align_center

    它返回:

    AttributeError: 'str' object has no attribute 'align_center'
    

    我很确定之前它工作正常,但我改变了一些东西,它停止了, 我疯了吗?这种通过函数进行简化是不可能的?我用错了吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   David Jenkins    7 年前

    如果你只是把它附加到字符串中,我认为它永远不会工作。这将使其成为一个属性,str对象的属性不太可能与您创建的任意方法的名称匹配。

    def align_center(s):
        return s.center(shutil.get_terminal_size().columns)
    

    然后:

    print(align_center(s))