Python入門基礎(chǔ)之變量及字符串
變量
當(dāng)把一個(gè)值賦給一個(gè)名字時(shí),它就會(huì)存儲(chǔ)在內(nèi)存中,我們把這塊內(nèi)存稱為變量(variable)。
在大多數(shù)語言中,都把這種行為稱為"給變量賦值"或"把值存儲(chǔ)在變量中"。不過,Python與大多數(shù)其他語言不同,它并不是把值存儲(chǔ)在變量中,而更像把名字貼在值上面。所以,有些人會(huì)說Python沒有變量,只有名字。變量就是一個(gè)名字,通過這個(gè)名字,我們可以找到想要的東西。
例如:

變量之所以稱之為變量,正是因?yàn)樗强勺兊摹?/p>

在上面的例子中,先創(chuàng)建了一個(gè)變量名叫x,給它初始化賦值為3,然后又給它賦值為5(此時(shí)3就被5替換);再創(chuàng)建另一個(gè)變量y,并初始化賦值為8;最后創(chuàng)建變量z,其值是變量x和y的和。
同樣,這樣的加法也可以運(yùn)用到字符串中:

這種字符串加字符串的語法,在Pythonn里稱為字符串的拼接。
關(guān)于變量
- 在使用變量之前,需要對其先賦值
- 變量名可以包括字母、數(shù)字、下劃線,但是變量名不能以數(shù)字開頭
- 字母可以是大寫或小寫,但大小寫是不同的,也就是說A和a對Python來說是完全不同的兩個(gè)名字
- 等號(hào)(=)是賦值的意思,左邊是名字,右邊是值,不能顛倒
變量名命名規(guī)則
- 變量名由數(shù)字、字母、下劃線組成。**但不能以數(shù)字開頭**
- 命名時(shí)應(yīng)當(dāng)避開關(guān)鍵字。
```python #查看python關(guān)鍵字 import keyword kw = keyword.kwlist print(kw) ``` ```python #運(yùn)行結(jié)果 ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] ```
字符串
我們所認(rèn)知的字符串就是引號(hào)內(nèi)的一切東西,我們也把字符串叫作文本,文本和數(shù)字是不一樣的。
如果直接讓兩個(gè)數(shù)字相加,那么得到的會(huì)是數(shù)字相加后的結(jié)果;但如果在數(shù)字兩邊加上了引號(hào),那就變成了字符串的拼接,這正是引號(hào)帶來的差別:

在Python中創(chuàng)建一個(gè)字符串,要在字符串兩邊加上引號(hào),可以是單引號(hào)或者雙引號(hào),但是必須成對,不能一邊用單引號(hào),一邊用雙引號(hào)。

那么如果字符串內(nèi)容中本身就有單引號(hào)或雙引號(hào)怎么辦?
一般有兩種解決方法:
<1> 使用轉(zhuǎn)義符號(hào)( \ )對字符串中的引號(hào)進(jìn)行轉(zhuǎn)義:

<2> 利用Python既可以用單引號(hào)也可以用雙引號(hào)表示字符串的特點(diǎn),用不同的引號(hào)表示字符串,就不會(huì)產(chǎn)生歧義了:

原始字符串
對于字符串中帶有 \ 的情況:例如打印C:\now

可以看到,打印結(jié)果并不是我們所預(yù)期的,這是由于反斜杠(\)和后邊的字符(n)恰好轉(zhuǎn)義之后構(gòu)成了換行符(\n)。
這時(shí),可能有的人會(huì)想到用反斜杠來轉(zhuǎn)義反斜杠不就可以了嗎?確實(shí)是這樣的,我們可以用反斜杠對自身進(jìn)行轉(zhuǎn)義:

這樣確實(shí)是可行的,但是,如果一個(gè)字符串中有多個(gè)反斜杠,那么這樣做不僅很麻煩,而且可能會(huì)使代碼變得混亂。
對于這個(gè)問題,在Python中有一個(gè)快捷的方法,就是使用原始字符串,原始字符串的使用非常簡單,只需要在字符串前面加一個(gè)英文字母r即可:

需要注意的是,無論是否是原始字符串,都不能以反斜杠作為結(jié)尾!
這是因?yàn)?strong>反斜杠放在字符串末尾表示該字符串還沒有結(jié)束,換行繼續(xù)的意思。

如果非要在字符串的結(jié)尾加個(gè)反斜杠,則可以利用反斜杠轉(zhuǎn)義:

長字符串
如果希望得到一個(gè)跨越多行的字符串,如:
從明天起,做一個(gè)幸福的人
喂馬,劈柴,周游世界
從明天起,關(guān)心糧食和蔬菜
我有一所房子,面朝大海,春暖花開
如果要把這段話打出來,利用學(xué)過的知識(shí),可以使用多個(gè)換行符(\n):

如果行數(shù)非常多的話,那么用換行符就太麻煩了,好在Python中提供了解決問題的辦法——只需要使用三重引號(hào)字符串(" " " 內(nèi)容 " " ")就可以了。

最后,要注意的是,在編程過程中要用英文的標(biāo)點(diǎn)符號(hào),初學(xué)者最容易犯的錯(cuò)誤就是誤用了中文的標(biāo)點(diǎn)符號(hào),導(dǎo)致了語法錯(cuò)誤。
總結(jié)
到此這篇關(guān)于Python入門基礎(chǔ)之變量及字符串的文章就介紹到這了,更多相關(guān)Python變量及字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)字符串匹配算法代碼示例
這篇文章主要介紹了Python實(shí)現(xiàn)字符串匹配算法代碼示例,涉及字符串匹配存在的問題,蠻力法字符串匹配,Horspool算法,具有一定參考價(jià)值,需要的朋友可以了解下。2017-12-12
JavaScript中的模擬事件和自定義事件實(shí)例分析
這篇文章主要介紹了JavaScript中的模擬事件和自定義事件,結(jié)合實(shí)例形式分析了JavaScript模擬事件和自定義事件相關(guān)操作步驟、實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-07-07
python改變?nèi)罩?logging)存放位置的示例
示例主要解決的問題是通過傳入日志文件參數(shù)的方式來改變?nèi)罩镜拇娣盼恢?需要的朋友可以參考下2014-03-03
python中導(dǎo)入 train_test_split提示錯(cuò)誤的解決
這篇文章主要介紹了python中導(dǎo)入 train_test_split提示錯(cuò)誤的解決,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python條件變量之生產(chǎn)者與消費(fèi)者操作實(shí)例分析
這篇文章主要介紹了python條件變量之生產(chǎn)者與消費(fèi)者操作,結(jié)合具體實(shí)例形式分析了Python條件變量的概念、原理、及線程操作的相關(guān)技巧,需要的朋友可以參考下2017-03-03
一篇文章帶你學(xué)習(xí)Python3的高級(jí)特性(1)
這篇文章主要為大家詳細(xì)介紹了Python3的高階函數(shù),主要介紹什么是高級(jí)特性,高級(jí)特性的用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

