How to write an inline-comment in Python

Is there a method of ending single line comments in Python?

Something like

/* This is my comment */ some more code here...

Solution 1:

No, there are no inline comments in Python.

From the documentation:

A comment starts with a hash character (#) that is not part of a string literal, and ends at the end of the physical line. A comment signifies the end of the logical line unless the implicit line joining rules are invoked. Comments are ignored by the syntax; they are not tokens.

Solution 2:

Whitespace in Python is too important to allow any other kind of comment besides the # comment that goes to the end of the line. Take this code:

x = 1
for i in range(10):
             x = x + 1
/* Print. */ print x

Because indentation determines scope, the parser has no good way of knowing the control flow. It can't reasonably eliminate the comment and then execute the code after it. (It also makes the code less readable for humans.) So no inline comments.

Solution 3:

No, there are no inline-block comments in Python. But you can place your comment (inline) on the right. That's allows you to use syntax and comments on the same line. Anyway, making comments to the left of your code turn reading difficult, so...

Ex:

x = 1 # My variable

Solution 4:

This is pretty hideous, but you can take any text convert it into a string and then take then length of that string then multiply by zero, or turn it into any kind of invalid code. example

history = model.fit_generator(train_generator,steps_per_epoch=8,epochs=15+0*len(", validation_data=validation_generator"), validation_steps=8,verbose=2)

Solution 5:

If you're doing something like a sed operation on code and really need to insert plain text without interfering with the rest of the line, you can try something like:

("This is my comment", some more code here...)[1]

Eg.,

my_variable = obsolete_thing + 100

could be transformed with sed -e 's/obsolete_thing/("replacement for &", 1345)[1]/' giving:

my_variable = ("replacement for obsolete_thing", 1234)[1] + 100