python与数据思维基础笔记_Python小课笔记--Python基础:数据和函数(二)
截圖來自Python小課
文|仟櫻雪
在Python小課-1-2節中,已經學習了基礎模塊--數據--數據類型(整數、字符串),以及基礎模塊--變量,基礎模塊--函數(input函數、print函數)。
本節繼續學習基礎篇--數據與函數
截圖來自Python小課
1、基礎知識--數據篇--數據類型
數據:主要分為數據類型、變量、編碼、類與對象;
函數:
計算機其實就是一個做數學運算的機器,所以計算機程序的主要任務就是處理各種數值、文本、音頻、視頻、圖像等各種類型的數據;
本節主要內容如下
一、Python的幾種簡單數據類型:字符串、整數、浮點數;
二、相關的函數:str(),int(),float(),type(),len();
三、數據類型的轉換
1、數據類型--字符串
(1)字符串:用單引號或者雙引號括起來的任意文本。
例如:'櫻雪';英文是string,計算機中一般簡寫為str,
字符串的呈現方式一般是用單引號或者雙引號括起來的文本,比如 '櫻雪':
print('櫻雪')
print('櫻雪')
print('櫻雪')
print('櫻雪')
結果顯示
櫻雪
櫻雪
櫻雪
櫻雪
說明:
1、第一行被打印出來的字符串櫻雪,和第二行被打印出來的字符串櫻雪,沒有任何的不一樣。所以單引號和雙引號的效果是一樣的。
2、單引號和雙引號只是一種表達方式,不是字符串的一部分。例如字符串 'ABC', 就是A 、B、C這三個字符而已。
(2)字符串的應用
應用一、包含單引號、雙引號的字符串應用
如果字符串內部包含了單引號【''】和雙引號【""】的處理:利用【轉義字符\】來標識。
例如:如果打印:Let's go 這個字符串,根據已經學過的知識,我們會寫:
a = 'Let's go'
print (a)
說明:
i、Python會報錯: SyntaxError: invalid syntax,意思是“語法錯誤”,因為它只把前兩個單引號中的Let當成了字符串
ii、Python是從左往右匹配單(雙)引號的——當它讀到一個引號時,會記住這是字符串,當它再讀到下一個引號時,默認計算結束,所以在計算機眼里,上面的'Let'是字符串,后續的內容,它并不能讀取,于是產生一個報錯。
截圖來自Python小課解決方案1:
需要使用轉義字符【\】,把字符串中的單引號轉義一下,此時【' Let's go '】就變成了【' Let's go '】
b = 'Let\'s go'#增加轉義字符\
print (b)
運行結果:
截圖來自Python小課
解決方案2:用雙引號來標識字符串
c = "Let's go"
print (c)
說明:因為用了雙引號作為標識符,而內部使用的是單引號,Python就能區分開來,正常運行了
可以反過來使用,比如說外部用單引號,然后內部的文本含有雙引號,也可以的:
a = input('孔子曾說過哪句名言?')
print('子曰:"'+a+'。"')
說明:
在這行代碼里,我們能看到最后打印的字符串由三部分組成。
第0部分是【子曰:"】,
第1部分是變量【a】,
第2部分是【。"】,
這三部分用加號【+】連接起來了。
在運行之后,然后輸入一段孔子講過的話,點擊Enter繼續。
說明:這段代碼也是可以正常顯示的,這是字符串中,單引號和雙引號的交替使用
應用二、包含換行設置的字符串應用
換行轉義字符的使用,轉義字符【\n】,它的作用是換行,例如:
words = '今年的南方冷的透骨,人間不值得啊,我要回火星!'
這是一首只有三行的短詩,如果你要把每一句換行呈現的話。可以在每一句后面加【\n】:
words= '今年的南方冷的透骨,\n人間不值得啊,\n我要回火星!'
print(words)
運行結果如下:
截圖來自Python小課
說明:詩句開始換行了
應用三、字符串結合type()函數、len()函數的使用
type函數:它主要用于獲取數據的數據類型,例如:
a = '吳承恩'
b = type(a)
print(b)
第1行:定義了變量a,并為其賦值。
第2行:用type() 函數獲取到了 a 的數據類型,并放在變量 b 里面。
第3行:為了顯示在屏幕上,使用print() 函數讓我們看到。
簡潔做法:
a = '吳承恩'
print(type(a))
終端顯示了,class代表類,而str代表字符串,所以這是一個字符串的類
截圖來自Python小課
應用說明:當我們通過某種方法,獲得了一個變量,里面放了數據,我們期望里面放的就是字符串類型的數據,這時,type() 函數就能確認了。
len()函數:它能幫我們獲取到數據的長度。
a = '吳承恩'
b = len(a)
print(b)
第1行:定義了變量a,并為其賦值。
第2行:用len() 函數獲取到了 a 的長度,并放在變量 b 里面。
第3行:為了顯示在屏幕上,使用print() 函數讓我們看到。
簡潔做法:
a = '吳承恩'
print(len(a))
運行結果:終端顯示了3,代表這個字符串的長度為3。
(3)字符串小結:
截圖來自Python小課
2、數據類型--整數
(1)整數:英文是integer,簡寫為int,跟普通的數字沒啥區別。
Python可以處理任意大小的整數,也包括負整數,在程序中的表示方法和數學上的寫法一模一樣:
+:加法
-:減法
*:乘法
/:除法
%:取模,返回除法的余數,5%2返回1
**:冪,返回x的y次冪,2**3等價于2的3次方
//:取整除,返回商的整數部分,11//2返回5
(2)整數和type()、len()函數的應用
type函數的應用,例如:
print(type(5))
print(type('5'))
返回結果:
說明:5 和 '5' 是不一樣的,一個是整數,一個是字符串。
len函數的應用,例如:
print(len(5))
注意:去運行這行代碼,會看到終端給我們報錯
Traceback (most recent call last):
File "D:/Python_charm/hello.py", line 1, in
print(len(5))
TypeError: object of type 'int' has no len()
說明:
請看圖中的報錯部分,line1表示第一行代碼出了錯,然后其中最后一行寫著:TypeError: object of type 'int' has no len() 。
意思是類型錯誤:整數這個類型沒有len() 函數;可見,整數是不能使用len() 的。
3、數據類型--浮點數
(1)浮點數:很簡單,就是帶小數的數字。
之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的.
凡是帶有小數點的數字,就都是浮點數。浮點數的英文是float,沒有簡寫:
1.0
3.14159
-0.33
整數和浮點數,它們在計算機內部的存儲方式是不一樣的,整數運算永遠是精確的,而浮點數運算則可能會有四舍五入的誤差
(2)浮點數和type()、len()函數的應用
type函數,例如
print(type(1.0))
print(type(3.14159))
print(type(-0.33))
運行結果是:
len函數,例如
print(len(1.0))
print(len(3.14159))
print(len(-0.33))
運行結果是:
Traceback (most recent call last):
File "D:/Python_charm/hello.py", line 1, in
print(len(1.0))
TypeError: object of type 'float' has no len()
說明:出現報錯,倒數第三行,寫了問題出在 line1,所以第一行代碼就執行不下去,最后一行,終端顯示TypeError: object of type 'float' has no len()。意思是類型錯誤:浮點數這個類型沒有長度。
翻譯過來:計算機是在說:浮點數沒有len()函數,所以,整數和浮點數都不能使用len() 函數。
4、數據類型的轉換
(1)數據類型轉換介紹
需要連接一個整數和字符串,再讓print()函數打印出來的話,是不可以使用加號直接實現,需要轉換數據類型,有3個函數可以實現這個功能,即str()、int()和float()函數。
str()函數:可以讓其他數據類型轉換成字符串;
int()函數:可以讓其他數據類型轉換成整數;
float()函數:可以讓其他數據類型轉換成浮點數;
例如
t = 3
print('我談過'+t+'次戀愛。')
輸出結果:
Traceback (most recent call last):
File "D:/Python_charm/hello.py", line 2, in
print('我談過'+t+'次戀愛。')
TypeError: can only concatenate str (not "int") to str
說明 :
看倒數第三行,是line2有問題;再看最后一行寫著TypeError: must be str, not int 意思是——類型錯誤:必須是字符串,而不是整數,也就是說,整數和字符串,用加號是拼接不起來的
例如:
a = input('隨便輸入一個數字')
b = 1
print(a+b)
輸出結果:
隨便輸入一個數字54
Traceback (most recent call last):
File "D:/Python_charm/hello.py", line 3, in
print(a+b)
TypeError: can only concatenate str (not "int") to str
說明:在隨便輸入數據54后,報錯了,問題出在line3,再看圖片中的最后一行,還是同樣的TypeError(類型錯誤),因為input() 函數接受的內容都是字符串的數據類型,雖然輸入了一個數字,但放在變量a里面的,是字符串'3',整數和字符串無法相加,所以終端又會報錯,這兩段代碼,終端都報錯了。而它們倆的錯誤原因都是一樣的——不同的數據類型,沒辦法拼接在一起。
(2)數據類型轉換應用
str()函數應用:
t = 3
print('我談過'+str(t)+'次戀愛。')
運行結果:
我談過3次戀愛。
說明:
通過使用str()函數,t變為字符串,就可以連接字符串了
str()函數應用:
a = input('隨便輸入一個數字')
b = 1
print(int(a)+b)
運行結果:
隨便輸入一個數字54
55
說明:變量a的數據類型轉換為整數,并成功打印出(a+b)
5、課后練習
練習1:請讓這首詩實現換行的功能:
print('《紅豆》王維 紅豆生南國, 春來發幾枝。 愿君多采擷, 此物最相思。')
操作:
print('《紅豆》王維 \n紅豆生南國,春來發幾枝。\n愿君多采擷,此物最相思。')
運行結果:
《紅豆》王維
紅豆生南國,春來發幾枝。
愿君多采擷,此物最相思。
練習2:請寫出這樣一個程序:請用戶輸入每天花在手機上的娛樂時間 a,再把時間 a 乘以7,再打印--“您一周花在手機上的娛樂時間總共是××小時“。
操作:
a=input('請問您每天花在手機上的娛樂時間是幾小時呢?')
b=int(a)*7
print('您一周花在手機上的娛樂時間總共是'+str(b)+'小時')
運行結果:
請問您每天花在手機上的娛樂時間是幾小時呢?1
您一周花在手機上的娛樂時間總共是7小時
小結:
1、不同數據類型的數據,不能用加號直接連接;
2、input函數默認將輸入的數據存儲為字符串;
3、整數和浮點數的存儲方式不同,因此1和1.0是不同的數據類型,整數和浮點數都不能使用len() 函數;
(注:2018.10.12,Python編程,撿破爛兒的笨小孩學習小記,有用就給個小心心喲,后續持續更新ing)
總結
以上是生活随笔為你收集整理的python与数据思维基础笔记_Python小课笔记--Python基础:数据和函数(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫开发环境_python爬
- 下一篇: python自带intertool模块找