Python小課筆記--Python基礎(chǔ):數(shù)據(jù)和函數(shù)(二)

截圖來自Python小課

文|仟櫻雪
在Python小課-1-2節(jié)中,已經(jīng)學(xué)習(xí)了基礎(chǔ)模塊--數(shù)據(jù)--數(shù)據(jù)類型(整數(shù)、字符串),以及基礎(chǔ)模塊--變量,基礎(chǔ)模塊--函數(shù)(input函數(shù)、print函數(shù))。

本節(jié)繼續(xù)學(xué)習(xí)基礎(chǔ)篇--數(shù)據(jù)與函數(shù)
截圖來自Python小課

1、基礎(chǔ)知識(shí)--數(shù)據(jù)篇--數(shù)據(jù)類型
數(shù)據(jù):主要分為數(shù)據(jù)類型、變量、編碼、類與對(duì)象;

函數(shù):
計(jì)算機(jī)其實(shí)就是一個(gè)做數(shù)學(xué)運(yùn)算的機(jī)器,所以計(jì)算機(jī)程序的主要任務(wù)就是處理各種數(shù)值、文本、音頻、視頻、圖像等各種類型的數(shù)據(jù);

本節(jié)主要內(nèi)容如下

一、Python的幾種簡單數(shù)據(jù)類型:字符串、整數(shù)、浮點(diǎn)數(shù);
二、相關(guān)的函數(shù):str(),int(),float(),type(),len();
三、數(shù)據(jù)類型的轉(zhuǎn)換

1、數(shù)據(jù)類型--字符串
(1)字符串:用單引號(hào)或者雙引號(hào)括起來的任意文本。
例如:'櫻雪';英文是string,計(jì)算機(jī)中一般簡寫為str,
字符串的呈現(xiàn)方式一般是用單引號(hào)或者雙引號(hào)括起來的文本,比如 '櫻雪':

print('櫻雪')
print('櫻雪')
print('櫻雪')
print('櫻雪')

結(jié)果顯示

櫻雪
櫻雪
櫻雪
櫻雪

說明:
1、第一行被打印出來的字符串櫻雪,和第二行被打印出來的字符串櫻雪,沒有任何的不一樣。所以單引號(hào)和雙引號(hào)的效果是一樣的。
2、單引號(hào)和雙引號(hào)只是一種表達(dá)方式,不是字符串的一部分。例如字符串 'ABC', 就是A 、B、C這三個(gè)字符而已。
(2)字符串的應(yīng)用

應(yīng)用一、包含單引號(hào)、雙引號(hào)的字符串應(yīng)用
如果字符串內(nèi)部包含了單引號(hào)【''】和雙引號(hào)【""】的處理:利用【轉(zhuǎn)義字符\】來標(biāo)識(shí)。
例如:如果打?。篖et's go 這個(gè)字符串,根據(jù)已經(jīng)學(xué)過的知識(shí),我們會(huì)寫:

a = 'Let's go'
print (a)

說明:
i、Python會(huì)報(bào)錯(cuò): SyntaxError: invalid syntax,意思是“語法錯(cuò)誤”,因?yàn)樗话亚皟蓚€(gè)單引號(hào)中的Let當(dāng)成了字符串

ii、Python是從左往右匹配單(雙)引號(hào)的——當(dāng)它讀到一個(gè)引號(hào)時(shí),會(huì)記住這是字符串,當(dāng)它再讀到下一個(gè)引號(hào)時(shí),默認(rèn)計(jì)算結(jié)束,所以在計(jì)算機(jī)眼里,上面的'Let'是字符串,后續(xù)的內(nèi)容,它并不能讀取,于是產(chǎn)生一個(gè)報(bào)錯(cuò)。
截圖來自Python小課
解決方案1:
需要使用轉(zhuǎn)義字符【\】,把字符串中的單引號(hào)轉(zhuǎn)義一下,此時(shí)【' Let's go '】就變成了【' Let's go '】
b = 'Let\'s go'#增加轉(zhuǎn)義字符\
print (b)

運(yùn)行結(jié)果:
截圖來自Python小課

解決方案2:用雙引號(hào)來標(biāo)識(shí)字符串

c = "Let's go"
print (c)

說明:因?yàn)橛昧穗p引號(hào)作為標(biāo)識(shí)符,而內(nèi)部使用的是單引號(hào),Python就能區(qū)分開來,正常運(yùn)行了
可以反過來使用,比如說外部用單引號(hào),然后內(nèi)部的文本含有雙引號(hào),也可以的:

a = input('孔子曾說過哪句名言?')
print('子曰:"'+a+'。"')

說明:
在這行代碼里,我們能看到最后打印的字符串由三部分組成。
第0部分是【子曰:"】,
第1部分是變量【a】,
第2部分是【。"】,
這三部分用加號(hào)【+】連接起來了。
在運(yùn)行之后,然后輸入一段孔子講過的話,點(diǎn)擊Enter繼續(xù)。
說明:這段代碼也是可以正常顯示的,這是字符串中,單引號(hào)和雙引號(hào)的交替使用

應(yīng)用二、包含換行設(shè)置的字符串應(yīng)用
換行轉(zhuǎn)義字符的使用,轉(zhuǎn)義字符【\n】,它的作用是換行,例如:

words = '今年的南方冷的透骨,人間不值得啊,我要回火星!'

這是一首只有三行的短詩,如果你要把每一句換行呈現(xiàn)的話??梢栽诿恳痪浜竺婕印綷n】:

words= '今年的南方冷的透骨,\n人間不值得啊,\n我要回火星!'
print(words)

運(yùn)行結(jié)果如下:
截圖來自Python小課

說明:詩句開始換行了

應(yīng)用三、字符串結(jié)合type()函數(shù)、len()函數(shù)的使用
type函數(shù):它主要用于獲取數(shù)據(jù)的數(shù)據(jù)類型,例如:

a = '吳承恩'
b = type(a)
print(b)

第1行:定義了變量a,并為其賦值。
第2行:用type() 函數(shù)獲取到了 a 的數(shù)據(jù)類型,并放在變量 b 里面。
第3行:為了顯示在屏幕上,使用print() 函數(shù)讓我們看到。
簡潔做法:

a = '吳承恩'
print(type(a))

終端顯示了<class 'str'>,class代表類,而str代表字符串,所以這是一個(gè)字符串的類
截圖來自Python小課

應(yīng)用說明:當(dāng)我們通過某種方法,獲得了一個(gè)變量,里面放了數(shù)據(jù),我們期望里面放的就是字符串類型的數(shù)據(jù),這時(shí),type() 函數(shù)就能確認(rèn)了。

len()函數(shù):它能幫我們獲取到數(shù)據(jù)的長度。

a = '吳承恩'
b = len(a)
print(b)

第1行:定義了變量a,并為其賦值。
第2行:用len() 函數(shù)獲取到了 a 的長度,并放在變量 b 里面。
第3行:為了顯示在屏幕上,使用print() 函數(shù)讓我們看到。
簡潔做法:

a = '吳承恩'
print(len(a))

運(yùn)行結(jié)果:終端顯示了3,代表這個(gè)字符串的長度為3。

(3)字符串小結(jié):

截圖來自Python小課

2、數(shù)據(jù)類型--整數(shù)
(1)整數(shù):英文是integer,簡寫為int,跟普通的數(shù)字沒啥區(qū)別。
Python可以處理任意大小的整數(shù),也包括負(fù)整數(shù),在程序中的表示方法和數(shù)學(xué)上的寫法一模一樣:

+:加法
-:減法
*:乘法
/:除法
%:取模,返回除法的余數(shù),5%2返回1
**:冪,返回x的y次冪,2**3等價(jià)于2的3次方
//:取整除,返回商的整數(shù)部分,11//2返回5

(2)整數(shù)和type()、len()函數(shù)的應(yīng)用
type函數(shù)的應(yīng)用,例如:

print(type(5))
print(type('5'))

返回結(jié)果:

<class 'int'>
<class 'str'>

說明:5 和 '5' 是不一樣的,一個(gè)是整數(shù),一個(gè)是字符串。
len函數(shù)的應(yīng)用,例如:

print(len(5))

注意:去運(yùn)行這行代碼,會(huì)看到終端給我們報(bào)錯(cuò)

Traceback (most recent call last):
  File "D:/Python_charm/hello.py", line 1, in <module>
    print(len(5))
TypeError: object of type 'int' has no len()

說明:
請(qǐng)看圖中的報(bào)錯(cuò)部分,line1表示第一行代碼出了錯(cuò),然后其中最后一行寫著:TypeError: object of type 'int' has no len() 。
意思是類型錯(cuò)誤:整數(shù)這個(gè)類型沒有l(wèi)en() 函數(shù);可見,整數(shù)是不能使用len() 的。

3、數(shù)據(jù)類型--浮點(diǎn)數(shù)
(1)浮點(diǎn)數(shù):很簡單,就是帶小數(shù)的數(shù)字。
之所以稱為浮點(diǎn)數(shù),是因?yàn)榘凑湛茖W(xué)記數(shù)法表示時(shí),一個(gè)浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置是可變的.
凡是帶有小數(shù)點(diǎn)的數(shù)字,就都是浮點(diǎn)數(shù)。浮點(diǎn)數(shù)的英文是float,沒有簡寫:

1.0
3.14159
-0.33

整數(shù)和浮點(diǎn)數(shù),它們?cè)谟?jì)算機(jī)內(nèi)部的存儲(chǔ)方式是不一樣的,整數(shù)運(yùn)算永遠(yuǎn)是精確的,而浮點(diǎn)數(shù)運(yùn)算則可能會(huì)有四舍五入的誤差
(2)浮點(diǎn)數(shù)和type()、len()函數(shù)的應(yīng)用
type函數(shù),例如

print(type(1.0))
print(type(3.14159))
print(type(-0.33))

運(yùn)行結(jié)果是:

<class 'float'>
<class 'float'>
<class 'float'>

len函數(shù),例如

print(len(1.0))
print(len(3.14159))
print(len(-0.33))

運(yùn)行結(jié)果是:

Traceback (most recent call last):
  File "D:/Python_charm/hello.py", line 1, in <module>
    print(len(1.0))
TypeError: object of type 'float' has no len()

說明:出現(xiàn)報(bào)錯(cuò),倒數(shù)第三行,寫了問題出在 line1,所以第一行代碼就執(zhí)行不下去,最后一行,終端顯示TypeError: object of type 'float' has no len()。意思是類型錯(cuò)誤:浮點(diǎn)數(shù)這個(gè)類型沒有長度。
翻譯過來:計(jì)算機(jī)是在說:浮點(diǎn)數(shù)沒有l(wèi)en()函數(shù),所以,整數(shù)和浮點(diǎn)數(shù)都不能使用len() 函數(shù)。

4、數(shù)據(jù)類型的轉(zhuǎn)換
(1)數(shù)據(jù)類型轉(zhuǎn)換介紹
需要連接一個(gè)整數(shù)和字符串,再讓print()函數(shù)打印出來的話,是不可以使用加號(hào)直接實(shí)現(xiàn),需要轉(zhuǎn)換數(shù)據(jù)類型,有3個(gè)函數(shù)可以實(shí)現(xiàn)這個(gè)功能,即str()、int()和float()函數(shù)。
str()函數(shù):可以讓其他數(shù)據(jù)類型轉(zhuǎn)換成字符串;
int()函數(shù):可以讓其他數(shù)據(jù)類型轉(zhuǎn)換成整數(shù);
float()函數(shù):可以讓其他數(shù)據(jù)類型轉(zhuǎn)換成浮點(diǎn)數(shù);
例如

t = 3
print('我談過'+t+'次戀愛。')

輸出結(jié)果:

Traceback (most recent call last):
  File "D:/Python_charm/hello.py", line 2, in <module>
    print('我談過'+t+'次戀愛。')
TypeError: can only concatenate str (not "int") to str

說明 :
看倒數(shù)第三行,是line2有問題;再看最后一行寫著TypeError: must be str, not int 意思是——類型錯(cuò)誤:必須是字符串,而不是整數(shù),也就是說,整數(shù)和字符串,用加號(hào)是拼接不起來的
例如:

a = input('隨便輸入一個(gè)數(shù)字')
b = 1
print(a+b)

輸出結(jié)果:

隨便輸入一個(gè)數(shù)字54
Traceback (most recent call last):
  File "D:/Python_charm/hello.py", line 3, in <module>
    print(a+b)
TypeError: can only concatenate str (not "int") to str

說明:在隨便輸入數(shù)據(jù)54后,報(bào)錯(cuò)了,問題出在line3,再看圖片中的最后一行,還是同樣的TypeError(類型錯(cuò)誤),因?yàn)閕nput() 函數(shù)接受的內(nèi)容都是字符串的數(shù)據(jù)類型,雖然輸入了一個(gè)數(shù)字,但放在變量a里面的,是字符串'3',整數(shù)和字符串無法相加,所以終端又會(huì)報(bào)錯(cuò),這兩段代碼,終端都報(bào)錯(cuò)了。而它們倆的錯(cuò)誤原因都是一樣的——不同的數(shù)據(jù)類型,沒辦法拼接在一起。

(2)數(shù)據(jù)類型轉(zhuǎn)換應(yīng)用
str()函數(shù)應(yīng)用:

t = 3
print('我談過'+str(t)+'次戀愛。')

運(yùn)行結(jié)果:

我談過3次戀愛。

說明:
通過使用str()函數(shù),t變?yōu)樽址?,就可以連接字符串了

str()函數(shù)應(yīng)用:

a = input('隨便輸入一個(gè)數(shù)字')
b = 1
print(int(a)+b)

運(yùn)行結(jié)果:

隨便輸入一個(gè)數(shù)字54
55

說明:變量a的數(shù)據(jù)類型轉(zhuǎn)換為整數(shù),并成功打印出(a+b)

5、課后練習(xí)
練習(xí)1:請(qǐng)讓這首詩實(shí)現(xiàn)換行的功能:
print('《紅豆》王維 紅豆生南國, 春來發(fā)幾枝。 愿君多采擷, 此物最相思。')
操作:

print('《紅豆》王維 \n紅豆生南國,春來發(fā)幾枝。\n愿君多采擷,此物最相思。')

運(yùn)行結(jié)果:

《紅豆》王維 
紅豆生南國,春來發(fā)幾枝。
愿君多采擷,此物最相思。

練習(xí)2:請(qǐng)寫出這樣一個(gè)程序:請(qǐng)用戶輸入每天花在手機(jī)上的娛樂時(shí)間 a,再把時(shí)間 a 乘以7,再打印--“您一周花在手機(jī)上的娛樂時(shí)間總共是××小時(shí)“。
操作:

a=input('請(qǐng)問您每天花在手機(jī)上的娛樂時(shí)間是幾小時(shí)呢?')
b=int(a)*7
print('您一周花在手機(jī)上的娛樂時(shí)間總共是'+str(b)+'小時(shí)')

運(yùn)行結(jié)果:

請(qǐng)問您每天花在手機(jī)上的娛樂時(shí)間是幾小時(shí)呢?1
您一周花在手機(jī)上的娛樂時(shí)間總共是7小時(shí)

小結(jié):
1、不同數(shù)據(jù)類型的數(shù)據(jù),不能用加號(hào)直接連接;
2、input函數(shù)默認(rèn)將輸入的數(shù)據(jù)存儲(chǔ)為字符串;
3、整數(shù)和浮點(diǎn)數(shù)的存儲(chǔ)方式不同,因此1和1.0是不同的數(shù)據(jù)類型,整數(shù)和浮點(diǎn)數(shù)都不能使用len() 函數(shù);

(注:2018.10.12,Python編程,撿破爛兒的笨小孩學(xué)習(xí)小記,有用就給個(gè)小心心喲,后續(xù)持續(xù)更新ing)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 數(shù)據(jù)類型 計(jì)算機(jī)其實(shí)就是一個(gè)做數(shù)學(xué)運(yùn)算的機(jī)器,所以計(jì)算機(jī)程序的主要任務(wù)就是處理各種數(shù)值。但是計(jì)算機(jī)要處理的數(shù)值,可...
    幸福并感激著閱讀 21,820評(píng)論 7 62
  • 一、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 6,046評(píng)論 2 16
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,613評(píng)論 0 13
  • 我有很多話想給你說,可是長大后的人們變得很奇怪,他們可以嬉笑怒罵油腔滑調(diào)吊兒郎當(dāng)或故作正經(jīng),卻將真實(shí)自我情感...
    又下閱讀 288評(píng)論 2 0
  • 夏天快到了,又到了白木耳即銀耳的食用季節(jié)。但現(xiàn)在市面上的銀耳多是熏銀耳,銀耳被此般處理一般就兩個(gè)目的:一是利用二氧...
    肖成燕閱讀 4,204評(píng)論 0 0

友情鏈接更多精彩內(nèi)容