python 定义字符串变量_python 字符串(1)
字符串
操練一下字符串吧。
>>> print "good good study, day day up"
good good study, day day up
在python中,通常用一對雙引號、或者單引號來包裹一個字符串。或者說,要定義一個字符串,就用雙引號或者單引號。
轉義字符例子:
>>> print "小明說:\"你好啊\""
小明說"我沒有少圓明園"
這個例子中,為了打印出那句含有雙引號的字符串,也就是雙引號是字符串的一部分了,使用了一個符號:\,在python中,將這個符號叫做轉義符。本來雙引號表示包括字符串,它不是字符串一部分,但是如果前面有轉義符,那么它就失去了原來的含義,轉化為字符串的一部分,相當于一個特殊字符了。
轉義符在打印第二句話:
>>> print 'what\'s your name?'
what's your name?
另外,雙引號和單引號還可以嵌套,比如下面的句子中,單引號在雙引號里面,雖然沒有在單引號前面加轉義符,但是它被認為是字符串一部分,而不是包裹字符串的符號
>>> print "what's your name?" #雙引號包裹單引號,單引號是字符
what's your name?
>>> print 'what "is your" name' #單引號包裹雙引號,雙引號是字符
what "is your" name
變量連接到字符串
變量不僅可以跟數字連接,還能夠跟字符串連接。
>>> a=5
>>> a
5
>>> print a
5
>>> b="hello,world"
>>> b
'hello,world'
>>> print b
hello,world
還記得我們曾經用過一個type命令嗎?現在它還有用,就是檢驗一個變量,到底跟什么類型聯系著,是字符串還是數字?
>>> type(a)
>>> type(b)
連接字符串(1)
>>> a = "我們"
>>> b= "學python"
>>> c = a+b
>>> print c
我們學python
用+號實現連接,的確比較簡單,不過,有時候你會遇到這樣的問題:
>>> a = 1989
>>> b = "free"
>>> print b+a
Traceback (most recent call last):
File "", line 1, in
TypeError: cannot concatenate 'str' and 'int' objects
抱錯了,其錯誤原因已經打印出來了(一定要注意看打印出來的信息):cannot concatenate 'str' and 'int' objects。原來a對應的對象是一個int類型的,不能將它和str對象連接起來。怎么辦?
可以用下面三種方法中的任何一種:
>>> print b + `a` #注意,` `是反引號,不是單引號,就是鍵盤中通常在數字1左邊的那個,在英文半角狀態下輸入的符號
free1989
>>> print b + str(a) #str(a)實現將整數對象轉換為字符串對象
free1989
>>> print b + repr(a) #repr(a)與上面的類似
free1989
首先明確,repr()和``是一致的,就不用區別了。接下來需要區別的就是repr()和str,一個最簡單的區別,repr是函數,str是跟int一樣,一種對象類型。
連接字符串(2)
先說明一下什么是占位符,此前在講解變量(參數)的時候,提到了占位符,這里對占位符做一個比較嚴格的定義:
來自百度百科的定義:
顧名思義,占位符就是先占住一個固定的位置,等著你再往里面添加內容的符號。
根據這個定義,在python里面規定了一些占位符,通過這些占位符來說明那個位置應該填寫什么類型的東西,這里暫且了解兩個占位符:%d——表示那個位置是整數,%s——表示那個位置應該是字符串。下面看一個具體實例:
>>> print "one is %d"%1
one is 1
要求打印(print)的內容中,有一個%d占位符,就是說那個位置應該放一個整數。在第二個%后面,跟著的就是那個位置應該放的東西。這里是一個整數1。
我們做下面的操作,就可以更清楚了解了:
>>> a=1
>>> type(a)
#a是整數
>>> b="1"
>>> type(b)
#b是字符串
>>> print "one is %d"%a
one is 1
>>> print "one is %d"%b #報錯了,這個占位符的位置應該放整數,不應該放字符串。
Traceback (most recent call last):
File "", line 1, in
TypeError: %d format: a number is required, not str
同樣道理,%s對應的位置應該放字符串,但是,如果放了整數,也可以。只不過是已經轉為字符串對待了。但是不贊成這么做。
>>> print "one is %s"%b
one is 1
>>> print "one is %s"%a #字符串是包容的
one is 1
下面我們就用占位符來連接字符串:
>>> a = "py"
>>> b = "thon"
>>> print "%s%s"%(a,b) #注
python
注:仔細觀察,如果兩個占位符,要向這兩個位置放東西,代表的東西要寫在一個圓括號內,并且中間用逗號(半角)隔開。
Python轉義字符
在字符串中,有時需要輸入一些特殊的符號,但是,某些符號不能直接輸出,就需要用轉義符。所謂轉義,就是不采用符號現在之前的含義,而采用另外一含義了。下面表格中列出常用的轉義符:
轉義字符
描述
\
(在行尾時) 續行符
\ \
反斜杠符號
'
單引號
"
雙引號
\a
響鈴
\b
退格(Backspace)
\e
轉義
\000
空
\n
換行
\v
縱向制表符
\t
橫向制表符
\r
回車
\f
換頁
\oyy
八進制數,yy代表的字符,例如:\o12代表換行
\xyy
十六進制數,yy代表的字符,例如:\x0a代表換行
\other
其它的字符以普通格式輸出
以上所有轉義符,都可以通過交互模式下print來測試一下,感受實際上是什么樣子的。例如:
>>> print "hello.I am hiekay.\ #這里換行,下一行接續
... My website is 'http://hiekay.github.io'."
hello.I am hiekay.My website is 'http://hiekay.github.io'.
>>> print "you can connect me by qq\\weibo\\gmail" #\\是為了要后面那個\
you can connect me by qq\weibo\gmail
總結
以上是生活随笔為你收集整理的python 定义字符串变量_python 字符串(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言三个数从小到大排序/输出_我的c语
- 下一篇: python如果选择不在列表里_Pyth