[issue36628] Enhancement: i-Strings

2019-04-15 Thread Aditya Shankar


Change by Aditya Shankar :


--
resolution: postponed -> duplicate

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36628] Enhancement: i-Strings

2019-04-14 Thread Karthikeyan Singaravelan


Karthikeyan Singaravelan  added the comment:

Some discussions in the past and the common suggestion/idiom is to use 
textwrap.dedent. I agree with @SilentGhost that it should be first brought up 
in python-ideas and also addressing the concerns for similar proposal in the 
past if they are still valid.

Proposes d"" for indentation : 
https://mail.python.org/pipermail/python-ideas/2010-November/008589.html
https://mail.python.org/pipermail/python-dev/2005-July/054649.html

--
nosy: +xtreak

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36628] Enhancement: i-Strings

2019-04-14 Thread SilentGhost


SilentGhost  added the comment:

This type of enhancements should be in the first place discussed on 
python-ideas mailing list and a PEP would probably be needed at the second 
stage. Not that I think it's likely this suggestion has much chance.

What you're desiring can already be implemented using implicit string 
concatenation (with addition of some parentheses in some of your examples).

--
nosy: +SilentGhost
resolution:  -> postponed
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36628] Enhancement: i-Strings

2019-04-14 Thread Aditya Shankar


New submission from Aditya Shankar :

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 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com