The way I generally do them is double-quotes for user-text strings (i.e., plain English that the user will see in a print statement, exception, etc.), and single-quotes for machine-text strings (strings used as keys, etc., or really anything that needs to be spelled exactly because it will be compared directly to other strings). But that's just my convention.