FAQ: Learn Python – Strings & Console Output – str()

This community-built FAQ covers the “str()” exercise in Codecademy’s lessons on Python.

FAQs for the Codecademy exercise str():

Join the Discussion. We Want to Hear From You!

Have a new question or can answer someone else’s? Reply (reply) to an existing thread!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources about Python in general? Go here!

Want to take the conversation in a totally different direction? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account, billing, Pro, or Pro Intensive? Reach out to our support team!

None of the above? Find out where to ask other questions here!

Other FAQs

The following are links to additional questions that our community has asked about this exercise:

  • This list will contain other frequently asked questions that aren’t quite as popular as the ones above.
  • Currently there have not been enough questions asked and answered about this exercise to populate this FAQ section.
  • This FAQ is built and maintained by you, the Codecademy community – help yourself and other learners like you by contributing!

Not seeing your question? It may still have been asked before – try searching for it by clicking the spyglass icon (search) in the top-right of this page. Still can’t find it? Ask it below by hitting the reply button below this post (reply).

Hi there. What’s the difference for the positioning of the string syntaxes?

e.g.

parrot = “Norwegian Blue”

print parrot.len()
print parrot.upper()
print str(parrot)

I noticed that for the other string syntax, they’re placed after the variable. While for some variables, they’re placed inside the string syntax.

I may be going too far ahead, but this surprised me a bit.

Why does this work

  pi = 3.14
    print pi
    print str(pi)

returning 3.14 for both print instructions (as expected),

but this

  pi = "3.14"
    print pi
    print int(pi)

returns the error “ValueError: invalid literal for int() with base 10: ‘3.14’”?

If the second print command is modified to

print(int(float(pi)) 

then it returns no error and prints 3.14 and 3 as expected.

Can’t Python produce an integer directly from a string that contains a float?

1 Like

I was wondering the same thing.

hi , can you explain to me please why when we wrote print str(pi) we didnt have quotes on 3.14 ?

1 Like

print (or print() in Python 3) sends text to the console without quotes (unless, of course, you purposely escape the quotes). That means that you cannot tell just by looking at the screen if a certain function returned a string or a number.

If you want to see the quotes, use repr()

pi = 3.14
print pi
print str(pi)
print repr(pi)
print repr(str(pi))

# Output:
3.14
3.14
3.14
'3.14'
1 Like

Hey there!
May i knw how do i knw when i should use “” in a variable. And when I don’t have to use?

even if I do the print pi instead of adding str. The output is still the same. May the know the difference?