如果對自然語言分類,有很多中分法,比如英語、法語、漢語等,這種分法是最常見的。在語言學里面,也有對語言的分類方法,比如什么什么語系之類的。我這里提出一種分法,這種分法尚未得到廣大人民群眾和研究者的廣泛認同,但是,我相信那句“真理是掌握在少數人的手里”,至少在這里可以用來給自己壯壯膽。
我的分法:一種是語言中的兩個元素(比如兩個字)和在一起,出來一個新的元素(比如新的字);另外一種是兩個元素和在一起,知識兩個元素并列。比如“好”和“人”,兩個元素和在一起是“好人”,而3和5和在一起是8,如果你認為是35,那就屬于第二類和法了。
把我的這種分法抽象一下:
一種是:△ +□ = ○
另外一種是:△ +□ = △ □
我們的語言中,離不開以上兩類,不是第一類就是第二類。
太天才了。請鼓掌。
字符串
在我洋洋自得的時候,我google了一下,才發(fā)現,自己沒那么高明,看維基百科的字符串詞條是這么說的:
字符串(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中,通常用一對雙引號、或者單引號來包裹一個字符串。或者說,要定義一個字符串,就用雙引號或者單引號。
愛思考的看官肯定發(fā)現上面這句話有問題了。如果我要把下面這句話看做一個字符串,應該怎么做?
小明說"我沒有燒圓明園"
或者這句
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'
跟我那個不為大多數人認可的發(fā)現是一樣的,你還不認可嗎?兩個字符串相加,就相當于把兩個字符串連接起來。(別的運算就別嘗試了,沒什么意義,肯定報錯,不信就試試)
>>> "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,發(fā)現結果跟自己所預料一樣,這還遠遠不夠。如果你向下走了一行,就發(fā)現一個怪怪的結果了,這就讓你在編程路上又前進一大步。所以,要有對世界好奇的心,不斷探索、思考和嘗試。反正在計算機上嘗試,也沒有多大成本。最壞的結果是關掉IDLE罷了。
對字符串的簡單操作暫且到這里,下一篇文章繼續(xù),還沒完,請明天再來。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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