Python02--數值運算及字串操作
Python02--數值運算及字串操作
Python 數值運算
- Pyhton的輸出,主要看最後一行程式碼
符號 | 作用 |
---|---|
* | 乘 |
/ | 除 |
% | 取餘 |
** | 平方 |
- 檢視變數的型別
tang=3
type(tang)#列印型別
輸出:int
tang=True
type(tang)
輸出:bool
- 型別轉換
tang=1.5
int(tang)
輸出:1
tang=1.5
tang2=int(tang)##1
type(int(tang))##int
type(tang2)##int
type(float(tang2))##float
-
計算先後的一個順序
- ()
- **
- */
- +-
-
基本數值操作
操作符號 | 說明 |
---|---|
en | 科學計數法10^n |
0xFF | 16進位制 |
abs() | 取絕對值 |
round() | 四捨五入取整 |
min(),max() 可以加陣列 | 最小最大值 |
>,<,== | 判斷,輸出型別 布林型別 |
- 幾種常用型別
- int
- float
- str
- bool
Python字串操作
- len可以列印字串的長度
Li='hello'+'python'
Li
len(Li)
輸出:11
- 字串中的+與*
Li='hello'+'python'
Li ##hellopython
Li_str='hello python' Li_str*3##'hello pythonhello pythonhello python'
字串操作
1 對字串進行切分操作——split
-
split(): 通過指定分隔符對字串進行切片,如果引數 num 有指定值,則分隔 num+1 個子字串
-
語法:
str.split(str="", num=string.count(str)).
- 引數:
(1)str -- 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表符(\t)等。
(2)num -- 分割次數。預設為 -1, 即分隔所有。
- 返回值:
返回分割後的字串列表。
- 例項:
(1)空格作為分隔符
li='1,2,3,4,5'
li.split()
輸出:['1,2,3,4,5']
(2)','作為分隔符
li='1,2,3,4,5'
li.split(',')
輸出:['1', '2', '3', '4', '5']
2 對字串進行合併的操作——join
- join(): 方法用於將序列中的元素以指定的字元連線生成一個新的字串。
- 語法:
str.join(sequence)
- 引數:
(1)sequence -- 要連線的元素序列。
- 返回值:
返回通過指定字元連線序列中元素後生成的新字串。
- 例項:
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字串序列
print (s1.join( seq ))
print (s2.join( seq ))
輸出:
r-u-n-o-o-b
runoob
3 實現字串中的替換功能——replace
-
replace():方法把字串中的 old(舊字串) 替換成 new(新字串),如果指定第三個引數max,則替換不超過 max 次。
-
語法:
str.replace(old, new[, max])
- 引數:
(1)old -- 將被替換的子字串。
(2)new -- 新字串,用於替換old子字串。
(3)max -- 可選字串, 替換不超過 max 次
- 返回值:
返回字串中的 old(舊字串) 替換成 new(新字串)後生成的新字串,如果指定第三個引數max,則替換不超過 max 次。
- 例項:
str = "this is string example....wow!!! this is really string";
print str.replace("is", "was");
print str.replace("is", "was", 3);
輸出:
thwas was string example....wow!!! thwas was really string
thwas was string example....wow!!! thwas is really string
4 大小寫轉換
-
upper():把字串轉成大寫
-
lower():把字串轉成小寫
-
wordCap():將字串每一個單詞的首字母大寫
-
語法:
upper(s)
- 引數說明:
s待轉成大寫的源串
- 例項
例1:upper("ABCdef")返回:"ABCDEF"
例2:upper("abcDEF")返回:"ABCDEF"
5 格式化函式——format
-
格式化字串的函式 str.format(),它增強了字串格式化的功能。
-
語法:通過
{}
和:
來代替以前的 % 。 -
例項:
"{} {}".format("hello", "world") # 不設定指定位置,按預設順序
'hello world'
"{0} {1}".format("hello", "world") # 設定指定位置
'hello world'
"{1} {0} {1}".format("hello", "world") # 設定指定位置
'world hello world'
- 設定引數:
print('網站名:{name},地址{url}'.format(name='努力學技術的小豪',url='www.cnblogs.com/studyhao1999/'))
##通過字典設定引數
site={'name':'努力學技術的小豪','url':'www.cnblogs.com/studyhao1999/'}
print('網站名:{name},地址:{url}'.format(**site))
##通過列表索引設定引數
mylist=['努力學技術的小豪','www.cnblogs.com/studyhao1999/']
print('網站名:{0[0]},地址{0[1]}'.format(mylist)) # "0" 是必須的
輸出:
網站名:努力學技術的小豪,地址www.cnblogs.com/studyhao1999/
網站名:努力學技術的小豪,地址www.cnblogs.com/studyhao1999/
網站名:努力學技術的小豪,地址www.cnblogs.com/studyhao1999/
也可以向str.format()傳入物件:
class AssignValue(object):
def __init__(self, value):#init前面是兩個_
self.value = value
my_value = AssignValue(6)
print('value 為: {0.value}'.format(my_value)) # "0" 是可選的
輸出:
value 為: 6
- 數字格式化
下表展示了 str.format() 格式化數字的多種方法:
print("{:.2f}".format(3.1415926))
##輸出:3.14
數字 | 格式 | 輸出 | 描述 |
---|---|---|---|
3.1415926 | {:.2f} | 3.14 | 保留小數點後兩位 |
3.1415926 | {:+.2f} | +3.14 | 帶符號保留小數點後兩位 |
-1 | {:+.2f} | -1.00 | 帶符號保留小數點後兩位 |
2.71828 | {:.0f} | 3 | 不帶小數 |
5 | {:0>2d} | 05 | 數字補零 (填充左邊, 寬度為2) |
5 | {:x<4d} | 5xxx | 數字補x (填充右邊, 寬度為4) |
10 | {:x<4d} | 10xx | 數字補x (填充右邊, 寬度為4) |
1000000 | {:,} | 1,000,000 | 以逗號分隔的數字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式 |
1000000000 | {:.2e} | 1.00e+09 | 指數記法 |
13 | {:>10d} | 13 | 右對齊 (預設, 寬度為10) |
13 | {:<10d} | 13 | 左對齊 (寬度為10) |
13 | {:^10d} | 13 | 中間對齊 (寬度為10) |
11 | '{:b}'.format(11) '{:d}'.format(11) '{:o}'.format(11) '{:x}'.format(11) '{:#x}'.format(11) '{:#X}'.format(11) |
1011 11 13 b 0xb 0XB |
進位制 |
^, <, > 分別是居中、左對齊、右對齊,後面頻寬度, : 號後面帶填充的字元,只能是一個字元,不指定則預設是用空格填充。
+ 表示在正數前顯示 +,負數前顯示 -; (空格)表示在正數前加空格
b、d、o、x 分別是二進位制、十進位制、八進位制、十六進位制。
此外我們可以使用大括號 {} 來轉義大括號,如下例項: