日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

跟老齊學Python之玩轉字符串(1)

系統 2012 0

如果對自然語言分類,有很多中分法,比如英語、法語、漢語等,這種分法是最常見的。在語言學里面,也有對語言的分類方法,比如什么什么語系之類的。我這里提出一種分法,這種分法尚未得到廣大人民群眾和研究者的廣泛認同,但是,我相信那句“真理是掌握在少數人的手里”,至少在這里可以用來給自己壯壯膽。

我的分法:一種是語言中的兩個元素(比如兩個字)和在一起,出來一個新的元素(比如新的字);另外一種是兩個元素和在一起,知識兩個元素并列。比如“好”和“人”,兩個元素和在一起是“好人”,而3和5和在一起是8,如果你認為是35,那就屬于第二類和法了。

把我的這種分法抽象一下:

一種是:△ +□ = ○
另外一種是:△ +□ = △ □
我們的語言中,離不開以上兩類,不是第一類就是第二類。

太天才了。請鼓掌。

字符串

在我洋洋自得的時候,我google了一下,才發現,自己沒那么高明,看維基百科的字符串詞條是這么說的:

字符串(String),是由零個或多個字符組成的有限串行。一般記為s=a[1]a[2]...a[n]。
看到維基百科的偉大了吧,它已經把我所設想的一種情況取了一個形象的名稱,叫做字符串

根據這個定義,在前面兩次讓一個程序員感到偉大的"Hello,World",就是一個字符串。或者說不管用英文還是中文還是別的某種問,寫出來的文字都可以做為字符串對待,當然,里面的特殊符號,也是可以做為字符串的,比如空格等。

操練一下字符串吧。

            
>>> print "good good study, day day up"
good good study, day day up
>>> print "----good---study---day----up"
----good---study---day----up

          

在print后面,打印的都是字符串。注意,是雙引號里面的,引號不是字符串的組成部分。它是在告訴計算機,它里面包裹著的是一個字符串。也就是在python中,通常用一對雙引號、或者單引號來包裹一個字符串。或者說,要定義一個字符串,就用雙引號或者單引號。

愛思考的看官肯定發現上面這句話有問題了。如果我要把下面這句話看做一個字符串,應該怎么做?

小明說"我沒有燒圓明園"

或者這句

What's your name?

問題非常好,有道理。在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)

              
              
            
          

程序員們經常用一種簡單的說法,把a稱之為數字型變量,意思就是它能夠或者已經跟數字連著呢;把b叫做字符(串)型變量,意思就是它能夠或者已經跟字符串連著呢。

對字符串的簡單操作

對數字,有一些簡單操作,比如四則運算就是,如果3+5,就計算出為8。那么對字符串都能進行什么樣的操作呢?試試吧:

            
>>> "py"+"thon"
'python'

          

跟我那個不為大多數人認可的發現是一樣的,你還不認可嗎?兩個字符串相加,就相當于把兩個字符串連接起來。(別的運算就別嘗試了,沒什么意義,肯定報錯,不信就試試)

            
>>> "py"-"thon"
Traceback (most recent call last):
 File "
            
              ", line 1, in 
              
                
 TypeError: unsupported operand type(s) for -: 'str' and 'str'

              
            
          

以上就是對字符串的第一種操作。

連接字符串

方法1:
在IDLE中按照下面方法操作

            
>>> a = "老齊"
>>> b= "教python"
>>> c = a+b
>>> print c
老齊教python
>>> c
'\xe8\x80\x81\xe9\xbd\x90\xe6\x95\x99python'

          

這是一種最簡單連接兩個字符串的方法。注意上面例子的最后一行,怎么出現亂碼了?那不是亂碼,是字符編碼的問題。這個你權當沒看見好了。不過的確是看見了。請看官google字符編碼就知道了。這里推薦一篇非常好的文章:字符集和字符編碼

老齊提示:看官做為學習者,一定要對所學的對象有一種好奇心,比如上面例子中,如果你滿足于print c,發現結果跟自己所預料一樣,這還遠遠不夠。如果你向下走了一行,就發現一個怪怪的結果了,這就讓你在編程路上又前進一大步。所以,要有對世界好奇的心,不斷探索、思考和嘗試。反正在計算機上嘗試,也沒有多大成本。最壞的結果是關掉IDLE罷了。
對字符串的簡單操作暫且到這里,下一篇文章繼續,還沒完,請明天再來。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 隆回县| 湄潭县| 莆田市| 七台河市| 布尔津县| 嘉善县| 扎兰屯市| 邹平县| 逊克县| 延长县| 贺州市| 德清县| 从化市| 阿瓦提县| 信宜市| 峨边| 门头沟区| 山东省| 六枝特区| 刚察县| 汉阴县| 桐梓县| 永康市| 新丰县| 望江县| 西昌市| 巴彦淖尔市| 余江县| 静宁县| 翼城县| 汉中市| 东丽区| 恩施市| 寿光市| 静乐县| 兰坪| 城步| 花垣县| 周口市| 布尔津县| 乾安县|