Python處理字串很方便,用了一段時間做一個小結:
------函數--------------------含義--------------------
abs(number) 返回數位絕對值
cmath.sqrt(number) 返回平方根,也可以應用於負數
float(object) 將字串和數字轉換為浮點數
help() 提供互動式協助
input(prompt) 擷取使用者輸入
int(object) 將字串和數字轉換為整數
long(object) 將字串和數字轉換為長整形數
math.ceil(number) 返回數的上入整數,傳回值的類型為浮點數
math.floor(number) 返回數的下舍整數,傳回值的類型為浮點數
math.sqrt(number) 返回平方根,不適用於負數
pow(x,y[, z]) 返回x的y次冪(返回結果對z模數)
raw_input(prompt) 擷取使用者輸入,返回的類型為字串
repr(object) 傳回值的字串表示形式
round(number[, ndigits]) 根據給定的精度對數字進行四捨五入
str(object) 將值轉換為字串
------------------------------------------------------
input():列印出字串後並以此為結果作為新的提示符
然後輸入6
>>>x=input("please input x:")please input x:6>>>print(x)6
raw_input():把所有輸入當做未經處理資料當道字串中
它與input()有個區別
linux下(windows上測試倒是沒有這個問題)
當我們輸入名字的時候,會出現如下的錯誤,而如果輸入的名字是字串的形式輸入的話就沒問題。
>>>name = input("what is your name?")
what is your name?"loulijun"
這樣是可以的,但是下面的方式就不行
>>>name=input("what is your name?")what is your name?loulijunTraceback (most recent class last): File "<stdin>", line 1, in <module> File "<string>",line 1, in <module>NameError:name 'loulijun' is not defined
原因是因為input會認為使用者輸入的是合法的運算式,但是實際上卻不是
而使用raw_input()方法就可以避免這種問題
>>>name = raw_input("what is your name?")what is your name?loulijun>>> print(name)loulijun
pow():計算乘方
效果與**一樣
>>> 2**38>>>pow(2, 3)8
使用擴充模組中的方法
可以通過import math或from math import sqrt兩種方式匯入模組
>>>import math>>>math.floor(32.9)32.0>>>from math import sqrt>>>sqrt(9)3.0
cmath模組
由於math模組只能處理浮點數,而類似於虛數等則會報錯,比如sqrt(-2),會提示使用者出錯
而如果匯入cmath後,就可以使用。這也算是對math的一種擴充吧
>>>import cmath>>>cmath.sqrt(-1)1j