Spread a statement over various lines

Manfred Lotz ml_news at posteo.de
Tue Sep 17 22:39:27 EDT 2019


On Tue, 17 Sep 2019 16:51:04 -0400
Dan Sommers <2QdxY4RzWzUUiLuE at potatochowder.com> wrote:

> On 9/17/19 2:59 PM, Manfred Lotz wrote:
> 
>  > def regex_from_filepat(fpat):
>  >      rfpat = fpat.replace('.', '\\.') \
>  >                        .replace('%', '.')  \
>  >                        .replace('*', '.*')
>  >
>  >      return '^' + rfpat + '$'
>  >
>  > As I don't want to have the replace() functions in one line my
>  > question is if it is ok to spread the statement over various lines
>  > as shown above, or if there is a better way?  
> 
> Is that way okay?  Sure.  Are there other ways?  Sure.
> 
> To isolate each replace() function on its own line, and to eliminate
> the clutter of the backslashes, consider this:
> 
>      rfpat = (fpat
>                .replace('.', '\\.')
>                .replace('%', '.')
>                .replace('*', '.*')
>              )
> 
> "Better" is going to depend on your initial reason for not wanting all
> those function calls on one line.  What is that reason?

Well, I don't want those functions on a single line because having them
multiline the code looks clearer.  

I asked here because I don't like the backslashes. Wrapping them in ()
looks like a good solution.









More information about the Python-list mailing list