In the context of this exercise which introduces strings, when should single or double quotes be used for a string?
Typically, either single or double quotes can be used interchangeably for creating a string. However, in certain situations, the type of quotes can matter, depending on the content of the string itself. If the string contains single quotes, it can be more convenient to wrap the entire string in double quotes. And if the string contains double quotes, you might use single quotes to wrap the string instead.
The reason for this is that each string starts and ends when a pair of quotes is encountered. If there is another matching quote within the string, that may end the string prematurely, causing errors.
# Examples of valid strings
print('The computer printed the string "Hello!"')
# Example of invalid string
print("A common phrase in programming is "Hello world"")
There is no difference unless you have words like (It’s, they’re, etc…)
but you can always use '.
# the following two lines print Hello World! to the screen
# the following two lines prints It's a sunny day
print('It\'s a sunny day')
print("It's a sunny day")
One thing to consider is if moving into other languages, there is a distinction between " and '. I’m still new myself, but also wanted to develop good habits with my choice on this. I know I want to get into C# later on, and so I’m going to default to using " instead of '. Just something to think about for building a habit.
That would not be an escape, see the earlier response for using escape in strings-
You can use the \ backslash escape character to use escape sequences e.g. "\n" for a newline or to escape special characters such as quotes so that they are printed instead of being interpreted, e.g.
print('Here\'s an example')
For the given example we don’t have to use \ and we can instead use different quotes to create our string literal (as per the original example) but when you’re mixing the two using escape may be easier.
Practically you’d be looking to make it as readable as possible and ideally to be consistent in style with the rest of the project.
advantage to using double quotes when you are creating a print call with words or sentences is that it would eliminate some of the issues if you had an apostrophe in your printed quotes python will think you are ending your quote there not using it as an apostrophe
It’s not a special character itself, it’s just interpreted to mean something different, in this example yes instead of closing the string literal it’s interpreted as a ". More generally this is known as an escape sequence which is replaced by one or more actual characters inside the actual string. You might already be familiar with one or two like \n creating newlines or \t inserting tab characters.
So it’s a character replacement that’s separate to the actual printing (exactly how the characters are represented when printed is platform dependent).
What are some common mistakes or pitfalls that new coders should watch out for when using quotes or defining strings in their code? Are there any best practices or tips that you would recommend for avoiding these mistakes?