字串擷取字元補充:
# 0、a,b為引數。從字串指標為a的地方開始擷取字元,到b的前乙個位置(因為不包含b)var1
="hello world"
(var1[a
:b]);# 1、如果a,b均不填寫,預設取全部字元。即,下面這兩個列印結果是一樣的
(var1
[:]);
# hello world
(var1
);# hello world
# 2、如果a填寫,b不填寫(或填寫的值大於指標下標),預設從a開始擷取,至字串最後乙個位置
(var1[3
:]);
# lo world
# 3、如果a不填寫, b填寫,預設從0位置開始擷取,至b的前乙個位置
(var1[:8
]);# hello wo
# 4、如果a為負數,預設從尾部某一位置,開始向後擷取
(var1[-2
:]);
# ld
# 5、如果a>=b, 預設輸出為空。
(var1[3
:3]);print
(var1[3
:2]);
python字串格式化符號 %f 可指定小數點後的精度。
>>>num=
18.7254
>>>
("the price is %.2f"
%num
)the price
is18.73
>>>
python字串格式化符號:
%g 是 %f 和 %e 的簡寫是什麼意思?到底是 %f 還是 %e?
對此我用**測試了一下:
>>>a=可以發現,%g 是自動選擇輸出格式的,在六位數的情況下就會以科學計數法方式輸出,文章中說 %g 是 %f 和 %e 的簡寫,但是我發現上述不是科學計數法方式輸出的時候輸出的是乙個整數,於是又進行了如下測試:100000
>>>
("%g"%(a
))100000
>>>a=
10000000
>>>
("%g"%(a
))1e+07
>>>a=
1000000
>>>
("%g"%(a
))1e+06
>>>a=發現 %g 在不是用 %e 輸出的情況下和%f還是有區別的100000.0
>>>
("%g"%(a
))100000
>>>
("%f"%(a
))100000.000000
>>>
對此我又做了如下測試:
>>>a=發現在 a=100000.1 的時候輸出的數並沒有小數點後面的 1,對此我對比了 c 語言 %g 的格式輸出,猜想 python 中應該如同 c 語言一樣,%g 用於列印資料時,會去掉多餘的零,至多保留六位有效數字。100000.1
>>>
("%g"%(a
))100000
>>>a=
1.0>>>
("%g"%(a
))1>>>a=
1.1>>>
("%g"%(a
))1.1
使用格式化符號進行進製轉換
>>>上面使用格式化符號進行進製轉換中,多加入了乙個#號,目的是在轉換結果頭部顯示當前進製型別,如不需要,可將#號去除,如下num=
10>>>
('十六進製制:%#x'
%num
)#使用%x將十進位制num格式化為十六進製制
十六進製制:
0xa>>>
('二進位制:'
,bin
(num
))#使用bin將十進位制num格式化為二進位制
二進位制:
0b1010
>>>
('八進位制:%#o'
%num
)#使用%o將十進位制num格式化為八進位制
八進位制:
0o12
>>>('八進位制:%o'
%num
)八進位制:
12>>>
('十六進製制:%x'
%num
)十六進製制:
a
字串應用
define crt secure no warnings include include sprintf的作用 生成乙個指令,把他對映到字串裡,對他初始化 void main1 int num char op 30 scanf d s num,op sprintf str,for l i in 1...
字串應用
var str abcdef alert str 0 aalert str.charat 1 b var str 我是乙個字串 alert str.charcodeat 0 utf 8編碼 字串的indexof var str abac?def alert str.indexof 找第一次出現的位置...
JS計算字串實際長度
大家都知道,在js中字串的長度不分中英文本元,每乙個字元都算乙個長度,這跟php裡的strlen 函式就不太一樣。php裡的strlen 函式根據字符集把gbk的中文每個2累加,把utf 8的中文字元每個按3累加。有些童鞋可能要問了,為什麼要計算實際長度?主要是為了匹配資料庫的長度範圍內,比如gbk...