国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2019-11-25 18:13:29
字體:
來源:轉載
供稿:網友

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

我的分法:一種是語言中的兩個元素(比如兩個字)和在一起,出來一個新的元素(比如新的字);另外一種是兩個元素和在一起,知識兩個元素并列。比如“好”和“人”,兩個元素和在一起是“好人”,而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>>> a5>>> print a5>>> b="hello,world">>> b'hello,world'>>> print bhello,world

還記得我們曾經用過一個type命令嗎?現在它還有用,就是檢驗一個變量,到底跟什么類型聯系著,是字符串還是數字?

>>> type(a)<type 'int'>>>> type(b)<type 'str'>

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

對字符串的簡單操作

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

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

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

>>> "py"-"thon"Traceback (most recent call last): File "<stdin>", line 1, in <module> 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罷了。
對字符串的簡單操作暫且到這里,下一篇文章繼續,還沒完,請明天再來。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吕梁市| 永定县| 班戈县| 河南省| 共和县| 晋中市| 炉霍县| 高邑县| 新津县| 嘉峪关市| 延边| 临洮县| 昆山市| 金溪县| 广安市| 徐闻县| 沈阳市| 宜丰县| 田阳县| 阿合奇县| 汉沽区| 星座| 常德市| 定兴县| 苏尼特左旗| 石门县| 西乡县| 百色市| 利津县| 东方市| 东港市| 庆云县| 东宁县| 宁夏| 揭阳市| 开原市| 浏阳市| 德兴市| 西吉县| 马公市| 盱眙县|