天天看點

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

更好的排版閱讀體驗,請移步 微信端

開篇

前面兩期詳細的介紹了字元串及其相關操作,在今後的程式設計中,你将經常和字元串打交道。一個比較常見的場景就是

輸入輸出

,是以本期将結合字元串,講述最基本同時也是最常用的輸入輸出文法(

input

print

),并且會在文章最後補充一些之前沒有講到的字元串的内容。

input()用于接收使用者的輸入

input()

用于接受使用者的輸入。

>>> input()

當你寫入以上代碼,并按下Enter鍵後,你會發現光标在閃動,這是在提示你要輸入一些東西。

當輸入完成後,再按一次回車,你所輸入的東西便會列印出來顯示在螢幕上,就像下面這樣:

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

圖中,黑色的字是我輸入的,藍色的字是列印輸出在螢幕上的。

那如果不想列印輸出在螢幕上,而是想将輸入的内容儲存起來,又應該怎麼做呢?

簡單!隻要用一個變量接收

input()

的輸入内容就搞定啦!

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

這樣,輸入的内容就被儲存在變量

x

中了。

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

細心的你或許已經發現了,藍色的字被一對

''

包裹着,這不正是之前學習的字元串類型嗎?

沒錯!事實上,

你輸入

input()

中的任何類型的資料,都會變成字元串類型

你可能不太信,因為上面的栗子中,我輸入的内容

我将在南極找尋你

本身就是個字元串類型的,是以輸出的自然也是字元串咯。為了證明我說的是對的,咱們可以試着輸入一個數字,看看出來的是不是還是數字類型。

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

看吧,輸入的數字

2333

也變成了字元串

str

類型。

以上就是

input()

的基本用法。

那你可能又會想:在提示輸入時隻有一個光标閃動會不會太不明顯了?能不能加一些提示資訊呢?

可以!

input()

中的

()

裡面可以添加提示資訊,看這個栗子:

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

藍色的字是列印的提示資訊,

22

是我的輸入,它被儲存在了變量

age

中。

學會使用print()

大家應該對

print()

不陌生了,之前的幾期内容中也提到過它,今天就對它的常見用法做一個總結。

最基本的,就是将目标内容輸出顯示到螢幕上:

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

看起來有些單調,是以可以添加一些描述性的語句,這些語句是字元串類型,是以需要包裹到一對引号内,看下面的栗子:

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

這樣看起來就清晰很多,不至于隻有一個數字

22

而無任何其他資訊。

但是對于稍稍有些強迫症的我來說,這還不夠完美,因為在輸出到螢幕上的内容中,

'我的年齡是'

22

之間有一個空格,我想要讓他們之間無縫對接,那應該怎麼做呢?

其實也不難。

print()

提供了一個

seq

的參數,可以使你自己設定被逗号分隔的兩段内容(這裡就是

'我的年齡'

age

)在輸出時用什麼符号連接配接,如果不設定,也就是什麼都不寫,那麼預設就是用空格連接配接起來。

是以,我們隻要将

seq

設定為

就可以了,就像下面這樣:

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

當然,你也可以設定為

:

*

+

以及其他你能想到的字元。

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

現在考慮這麼一個問題:

已知兩個人的年齡,要求你将兩個人的年齡輸出到螢幕上(不限格式)。

可以建立一個腳本檔案,内容如下:

age1=22

age2=23

print('第一個人的年齡是',age1)

print('第二個人的年齡是',age2)

你将在螢幕上看到以下輸出結果:

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

這時候,題目增加了一個要求:兩個

print()

語句輸出的内容必須顯示在同一行。

這應該如何實作呢?

其實,

print()

語句預設在運作結束後列印一個

換行符

,我們可以通過

end

參數來修改,比如

end='*'

表示在運作結束後列印一個

*

而不是

換行符

是以,問題解決了,在第一個

print()

語句中指明

end

為空格即可:

age1=22

age2=23

print('第一個人的年齡是',age1,end=' ')

print('第二個人的年齡是',age2)

輸出:

第一個人的年齡是 22 第二個人的年齡是 23

總結一下:

end

用于指明在執行完

print()

語句之後附帶着列印的符号,若不指明,則使用預設的換行符

sep

用于指名在同一個

print()

中,用逗号分隔的每個部分之間連接配接的符号,若不指明,則使用預設的空格 print()的格式化輸出 方法1.

類似

C

語言的方法

如果你沒有學習過

C

或者早已忘記了

C

也不影響閱讀,因為下面要講的跟

C

本身并無直接關系。

Python

print()

中,可以使用以

%

開頭的東西來占位置,是以形象的稱之為

占位符

。主要有3種,分别是

%d

%f

%s

,分别對應了

整數

浮點數

(小數)和

字元串

看下面這個栗子:

>>> age1=22

>>> age2=23

>>> print('第一個人的年齡是%d,第二個人的年齡是%d'%(age1,age2))

第一個人的年齡是22,第二個人的年齡是23

注意,後面的

%(age1,age2)

中變量的順序要與前面的占位符的順序一一對應

再上個栗子,自己跟着敲一下,基本就掌握了。

>>> name='小明'

>>> age=18

>>> favorate_number=3.1415926

>>> print('%s今年%d歲了,他最喜歡的數字是%.2f'%(name,age,favorate_number))#%.2f是指保留兩位小數

小明今年18歲了,他最喜歡的數字是3.14

方法2.

使用

format

,用

{}

作為占位符(ps:我自己經常使用的是這個)

如果占位符

{}

内什麼也不寫,那麼每一個

{}

就會按出現的順序與

format

中的變量名一一對應,舉個栗子就清楚啦:

>>> name='小明'

>>> age=18

>>> favorate_number=3.1415926

>>> print('{}今年{}歲了,他最喜歡的數字是{}'.format(name,age,favorate_number))

小明今年18歲了,他最喜歡的數字是3.1415926

如果占位符

{}

寫了下标,那麼

format

中變量名的位置下标必須與

format

中的下标從小到大一一對應,看這個栗子:

>>> name='小明'

>>> age=18

>>> favorate_number=3.1415926

>>> print('{1}今年{2}歲了,他最喜歡的數字是{0}'.format(favorate_number,name,age))

小明今年18歲了,他最喜歡的數字是3.1415926

結合下圖,或許你能更好的了解上面這個栗子

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

還有一種情況,就是

{}

傳入的不僅可以是下标,還可以是變量的名字,此時

format

中傳入的是

變量名=内容

,看栗子:

>>> name='小明'

>>> age=18

>>> favorate_number=3.1415926

>>> print('{name}今年{age}歲了,他最喜歡的數字是{favorate_number}'.format(favorate_number=favorate_number,name=name,age=age))

小明今年18歲了,他最喜歡的數字是3.1415926

字元串的補充内容

在上面關于

print()

的學習中,我們遇到了

換行符

,以

%

開頭的占位符等,這些東西又可以牽扯出字元串的幾個知識點,下面來看一下。

1.

轉義字元

Python

中使用

代表其後面的第一個字元是普通的字元串,而不是

Python

中具有某些功能的辨別。比如,我想要輸出

I'm ok

到螢幕上,直接寫

x='I'm ok'

print(x)

會報錯,因為

Python

認為

I

被一對單引号包裹,單獨成一部分,而後面的

m ok'

是另一部分。這樣,由于後面那部分隻有右側的單引号而沒有左側的單引号,是以産生了文法錯誤。

這時候,轉義字元

就派上用場了!

>>> x='I'm ok'

>>> print(x)

I'm ok

後面的

'

被認為是一個普通的字元,進而可以直接列印輸出了。

還有一種特殊情況,就是在上面的格式化輸出中,會用到

%s

,那萬一字元串中正好有一部分叫做

%s

呢?百字不如一栗,上栗子:

在這個栗子中,有個人的名字叫做"王%s"

>>> age=18

>>> favorate_color='black'

>>> print('王%%s的年齡是%d,王%%s最喜歡的顔色是%s'%(age,favorate_color))

王%s的年齡是18,王%s最喜歡的顔色是black

看,這裡的

%

也充當了轉義字元的作用,它使得

%s

中的

%

不作為具有某些功能的符号,而隻是一個普通字元。

2.

常用轉義字元

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

(本圖源自網絡)

3.

防止轉義

看這個栗子:

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

由于字元串中包含轉義字元

,是以會報錯。

是以這裡要考慮防止轉義。

解決方法也很簡單,那就是在轉義字元

前面再加一個

,這樣,

代表的意思就是一個普通的反斜杠了:

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

其實,

Python

還提供了另一種更簡單的方法,那就是在要防止轉義字元生效的字元串前面加一個

r

,這個過程正好與上面的轉義功能相反

看,在字元串前面加一個

r

就可以防止轉義了,這和加兩個

的作用一模一樣:

c++中整形輸入逗号_輸入輸出,字元串如影随形 | Python基礎連載(五)

有問題留言區見,加油!

繼續閱讀