New submission from Aditya Shankar <aditn...@gmail.com>:

Problem: multiline strings are a pain to represent (other than of-course in 
docstrings), representing a multiline string inside a function looks something 
like this -

def foo():
    # some code
    ...
    ...
    # some code
    text = """abc meta alpha chronos
dudes uptomes this text
is nonsense"""
    return somethingwith(text)

or

def foo():
    # some code
    ...
    ...
    # some code
    text = "\n".join(["abc meta alpha chronos",
                      "dudes uptomes this text",
                      "is nonsense"])
    return somethingwith(text)

an enhancement would be - 

def foo():
    # some code
    ...
    ...
    # some code
    text = i"""
            abc meta alpha chronos
            dudes uptomes this text
            is nonsense
            """
    return somethingwith(text)
i.e. all initial spaces are not considered as a part of the string in each ine

for example while throwing an exception -
def foo(bad_param):
    ...
    try:
        some_function_on(bad_param)
    except someException:
        throw(fi"""
                you cant do that because, and I'm gonna explain
                this in a paragraph of text with this {variable}
                because it explains things more clearly, also
                here is the {bad_param}
                """)
    ...
which is far neater than -

def foo(bad_param):
    ...
    try:
        some_function_on(bad_param)
    except someException:
        throw(f"""you cant do that because, and I'm gonna explain
this in a paragraph of text with this {variable}
because it explains things more clearly, also
here is the {bad_param}""")
    ...

pros:
    - represented code is closer to output text
    - implementation should not be too hard

----------
components: Interpreter Core
messages: 340208
nosy: Aditya Shankar
priority: normal
severity: normal
status: open
title: Enhancement: i-Strings
type: enhancement
versions: Python 3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue36628>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to