一、注釋
為了讓別人能夠更容易理解程序,使用注釋是非常有效的,即使是自己回頭再看舊代碼也是一樣。
# 打印圓的周長: print(2* pi* r)
在python 中用井號(#)表示注釋。井號(#)右邊的內容都會忽略。
二、字符串
1、單引號字符串和轉義引號
>>> "Hello,world!" 'Hello,world!' >>> 'Hello,world!' 'Hello,world!'
雙引號和單引號的輸出是一樣的,沒什么區別。
在特殊情況下,只能用單引號或只能用雙引號,如:
>>> '"Hello,world!" she said' '"Hello,world!" she said' >>> "Let's go!" "Let's go!"
可以使用反斜(\)對字符串進行轉義
>>> "\"Hello,world!\" she said" '"Hello,world!" she said' >>> "Let\'s go!" "Let's go!"
2、拼接字符串
加號(+)拼接字符串
>>> "Hello, "+"world!" 'Hello, world!' >>> x="Hello, " >>> y="world!" >>> x+y 'Hello, world!'
3、字符串表示,str和repr
前面的例子讀者可能注意到,所有通過python打印的字符串還是被引號括起來的。這是因為python打印值的時候會保持該值在python代碼中的狀態,而不是你希望 用戶所看到的狀態。如果用print語句,結果就不一樣了:
>>> "Hello,world!" 'Hello,world!' >>> print("Hello,world!") Hello,world!
我們在這里討論的實際上是值被轉為字符的兩種機制。可以通過以下兩個函數來使用這兩種機制:
>>> print(str("Hello,world!")) Hello,world! >>> print(repr("Hello,world!")) 'Hello,world!'
str()函數 ,它會把值轉換為合理形式的字符串,以便用戶可以理解;
repr()函數,它會創建一個字符串,它以合法的python表達式的形式來表示值。
4、長字符串
如果需要寫一個非常非常長的字符串,它需要跨多行,那么,可以使用三個引號代替普通引號。
print('''This is a very long string. It continues here. And it's not over yet. "Hello,world!" Still here.''') This is a very long string. It continues here. And it's not over yet. "Hello,world!" Still here.
普通字符串也可以跨行。如果一行之中最后一個字符是反斜線,那么,換行符本身就“轉義”了,也就是被忽略了。
>>> print("Hello, \ world!") Hello, world!
這種方法也適用於表達式和語句
>>> 1+2+\ 4+5 12 >>> print \ ("Hello,world!") Hello,world!
5、原始字符串
我們來輸出DOS路徑:
>>> path="C:\nowhere >>> print(path) C: owhere
這並不是我想要的結果,我想輸入的是一個路徑,卻被換行了。
>>> print('C:\\abc') C:\abc >>> print('C:\\Program Files\\fnord\\foo\\bar\\baz\\frozz\\bozz') C:\Program Files\fnord\foo\bar\baz\frozz\bozz
通反斜線(\)轉義解決了路徑問題,但如果路徑太長就需要很多反斜線,很麻煩。
>>> print(r'C:\Program Files\fnord\fobarbaz\frozz\bozz') C:\Program Files\fnord\fobarbaz\frozz\bozz >>> print(r'Let\'s go!') Let\'s go!
原始字符串以r開頭,原始字符串不會把反斜線當作特殊字符。但是最后一個字符不能是反斜線
>>> print(r'C:\Program Files\fnord\fobarbaz\frozz\bozz\') SyntaxError: EOL while scanning string literal
需要用反斜線進行轉義
>>> print(r'C:\Program Files\fnord\fobarbaz\frozz\bozz\\') C:\Program Files\fnord\fobarbaz\frozz\bozz\\ >>> print(r'C:\Program Files\fnord\fobarbaz\frozz\bozz'+'\\') C:\Program Files\fnord\fobarbaz\frozz\bozz\