Question

In Python, how do you return a variable like:

function(x):
   return x

Without the 'x' (') being around the x?

Was it helpful?

Solution

In the Python interactive prompt, if you return a string, it will be displayed with quotes around it, mainly so that you know it's a string.

If you just print the string, it will not be shown with quotes (unless the string has quotes in it).

>>> 1 # just a number, so no quotes
1
>>> "hi" # just a string, displayed with quotes
'hi'
>>> print("hi") # being *printed* to the screen, so do not show quotes
hi
>>> "'hello'" # string with embedded single quotes
"'hello'"
>>> print("'hello'") # *printing* a string with embedded single quotes
'hello'

If you actually do need to remove leading/trailing quotation marks, use the .strip method of the string to remove single and/or double quotes:

>>> print("""'"hello"'""")
'"hello"'
>>> print("""'"hello"'""".strip('"\''))
hello

OTHER TIPS

Here's one way that will remove all the single quotes in a string.

def remove(x):
    return x.replace("'", "")

Here's another alternative that will remove the first and last character.

def remove2(x):
    return x[1:-1]
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top