1. 程式人生 > >python自學筆記二

python自學筆記二

浮點數 提示符 var 誤差 科學計數 內存 空字符串 內容 幫助

1.整數類型及運算

python的數據類型有:整形、浮點型和字符串

1.1整數型

整數是不帶小數部分的數:如:25,-86,0等

python支持的運算有:+、-、*、/、//(整除)、&(求余)、**(乘方)等

1.2運算符的優先級

** & // / * - +

1.3運算精度

python與其他大多數編程語言不同,它對數據類型的長度沒有限制,可以執行數十位甚至數百數千位的整數運算。

2浮點數類型及運算

2.1浮點數類型

浮點數類型就是帶小數點的數字,如:-3.1,-2.89,-60,5.(5.0), .6(0.6)

所有用於整數運算的算術運算符都可以用於浮點運算,包括:+ - * / // % **等

對於非常大或非常小的浮點數,通常用科學計數法表示,例如8.8**-5.4的計算結果為:
7.939507629591553e-06,e-06表示10的-6次方,結果實際就是前面的數乘以10的-6次方。

2.2與整數不同,浮點數存在上限與下限,超出上限或者下限將導致數據溢出並提示錯誤。溢出錯誤意味計算結果太大或太小,python無法將其表示為浮點數。有時碰到溢出錯誤的時候,python也會繼續運算而得到錯誤的結果,我們要避免溢出錯誤,盡量不用太大的數進行計算。
例子:>>>500.0**1000
運行結果提示:OverflowError: (34, ‘Result too large‘),表示溢出錯誤。

2.3數據精度
浮點數的精度是一個無法解決的難題,由於浮點數計算有時候會得到一個無限值得結果,特別是做除法或者開方根計算的時候,這時候很難得到一個精確的值,例如:2/3,實際結果應該是小數點後面有無窮個6,但python計算的結果是0.6666666666666666
這個例子結果後面精確到16位,一般來說,這種細微的誤差通常不是問題。然而,執行大量計算的時候,小誤差會累積出大誤差。比如,在科學工程計算領域,計算橋梁所受壓力的時候,細微的誤差會引起嚴重的問題。

2.4復數
python提供了復數的支持,數學上,復數的單位是-1的平方根,用1j表示-1的平方根。科學計算領域會用到復數,我們不詳細講復數。

3.字符串

字符串是一系列字符,字符包括字母、數字、標點符號以及數百個其它的特殊符號和不打印的轉義字符。
(1). 字符串的表示,有3種方式
a. 單引號,比如:‘http‘、 ‘cat‘
b. 雙引號,比如:”hello, world”、”open house”
c. 三引號,用來引用多行字符串,比如:
“””
hello, how are you?
what is your name?
“””
一般有多行的長字符串時,用三引號括起來,三引號括起來的內容可以包含雙引號字符”和單引號字符‘ 。
(2). 字符串的長度,用內置函數len(s)可以得到字符串包含幾個字符,即字符串的長度,s是字符串參數。
例子:len(”pear”),得到的結果是4,len(“”)是得到空字符串的長度,值為0
(3). 字符串連接
可以把字符串進行相加得到新的字符串,比如:>>>‘hot‘+‘dog‘
這種運算被稱為字符串連接,要將同一個字符串連接多次,可以用相乘的方法。比如:>>>10*‘ha‘
字符串連接的結果成為另一個字符串,可在任何需要字符串的地方使用字符串連接。
例子:>>>len(12*‘pizza‘)
>>>len(‘house‘+‘car‘)
4獲取幫助
python是一種自動文檔化語言,大多數函數和模塊都包含簡短的解釋。
(1). 列出模塊中的函數
用import導出模塊後,可使用函數dir(m)列出模塊的所有函數,import是導出模塊的命令,m是模塊名。後面函數章節會詳細講解。
例子:>>>import math
>>>dir(math)
這個例子列出math模塊的一些函數,以雙下劃線( __ )開頭的名稱用於較復雜的python編程。
要查看完整的python內置函數清單,可在提示符後輸入 >>>dir(__builtins__)
可以用函數help(f)來查看某個函數的文檔幫助信息。
例子:>>>help(sum)
可以直接在提示符下輸入help(),然後輸入某個模塊或函數名得到詳細的幫助信息。
(2). 打印文檔字符串,例子:>>>print(math.acos.__doc__)
5. 類型轉換
(1). 自動轉換
在表達式中同時包含整數與浮點數時,python會自動將整數轉換為浮點數。
例子:>>>25*8.5
結果為:212.5
(2). 將整數或字符串轉換為浮點數
可以使用函數float(x)將整數或字符串轉換成浮點數。
例子:>>>float(3)
>>>float(‘3.5‘)
(3). 將整數或浮點數轉換為字符串,函數str(n)可以將指定的數字轉換成相應的字符串。
例子:>>>str(85)
>>>str(-9.78)

(4). 將浮點數轉換為整數
這點有點麻煩,需要決定如何處理小數部分。函數int(x)將小數部分刪除。而函數round(x)采用四舍五入法。註:python的浮點數如果小數部分是0.5的時候,四舍五入會向偶數靠攏,比如round(8.5)的結果為8
例子:>>>int(8.64)
結果為:8
>>>round(8.64)
結果為:9
>>>round(8.5)
結果為:8
(5). 將字符串轉換為數值
可以使用函數int()把字符串轉換成整數,float(x)將字符串轉換成浮點數。
例子:>>>int(‘3‘)
>>>float(‘3.5‘)
6. 變量和賦值
(1). 變量的定義
變量與函數、模塊和類一樣,有具體的名稱,這些名稱統稱為標識符。變量在內存中指向保存一個值的地址,需要用賦值運算符來定義變量。
例子:>>>fruit=‘apple‘
>>>fruit
‘apple‘
fruit是變量名,它指向字符串‘apple‘,代碼行fruit=‘apple‘稱為賦值語句;=是賦值運算符,讓變量指向一個值。
(2). 變量的命名規則
a. 變量名的長度不受限制,但其中的字符必須是字母、數字或下劃線。
b. 變量名的第一字符不能是數字,必須是字母或下劃線。
c. 區分大小寫,TAX、Tax和tax是不同的變量名。
d. 不能將關鍵字做變量名,比如,if、else、while、def、or、and、not、in等關鍵字。
(3). 賦值語句
賦值語句包含3個主要部分:左值、賦值運算符和右值。比如:var=value,var是左值,=是賦值運算符,value是右值。賦值語句有兩個用途:定義新的變量;讓已定義的變量指向特定的值。
例子:>>>x=5
>>>x+=8
第一條賦值語句x=5完成兩項功能,一個是創建變量,另一個是賦值為5。第二條語句是重新計算x的值,計算完後x的值為13,這條語句之前需要用賦值語句定義變量x,否則將報錯。定義的時候可以將任意的值賦給變量,包括其它變量。
例子:>>>x=3
>>>y=x
先定義x,再定義y,它們的值都是3
(4). 多重賦值
python中,有一種便利的方法,可以同時給多個變量賦值,比如:>>>x,y,z=1,‘two‘,3.0
賦值運算符左邊有3個變量,右邊有3個值,每個變量之間用逗號分開,值之間也用逗號分開。

(5). 交換變量的值
多重賦值的一個很實用的用途是交換兩個變量的值,比如:
>>>a,b=5,9
>>>a,b
(5,9)
>>>a,b=b,a
>>>a,b
(9,5)
語句a,b=b,a的含義是:同時給變量a和b賦值。

python自學筆記二