『壹』 為什麼python中的format有時候高亮有時候不高亮
format是python2.6新增的一個格式化字元串的方法,相對於老版的%格式方法,它有很多優點。
1.不需要理會數據類型的問題,在%方法中%s只能替代字元串類型
2.單個參數可以多次輸出,參數順序可以不相同
3.填充方式十分靈活,對齊方式十分強大
4.官方推薦用的方式,%方式將會在後面的版本被淘汰
format的一個例子
print 'hello {0}'.format('world')
會輸出hello world
format的格式
replacement_field ::= 「{」 [field_name] [「!」 conversion] [「:」 format_spec] 「}」
field_name ::= arg_name (「.」 attribute_name | 「[」 element_index 「]」)*
arg_name ::= [identifier | integer]
attribute_name ::= identifier
element_index ::= integer | index_string
index_string ::= <any source character except 「]」> +
conversion ::= 「r」 | 「s」 | 「a」
format_spec ::= <described in the next section>
format_spec 的格式
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]
fill ::= <any character>
align ::= 」<」 | 「>」 | 「=」 | 「^」
sign ::= 」+」 | 「-」 | 」 「
width ::= integer
precision ::= integer
type ::= 」b」 | 「c」 | 「d」 | 「e」 | 「E」 | 「f」 | 「F」 | 「g」 | 「G」 | 「n」 | 「o」 | 「s」 | 「x」 | 「X」 | 「%」
應用:
一 填充
1.通過位置來填充字元串
print'hello {0} i am {1}'.format('Kevin','Tom') #
hello Kevin i am Tom
print'hello {} i am {}'.format('Kevin','Tom') #
hello Kevin i am Tom
print'hello {0} i am {1} . my
name is {0}'.format('Kevin','Tom')# hello Kevin i am Tom .
my name is Kevin
foramt會把參數按位置順序來填充到字元串中,第一個參數是0,然後1 ……
也可以不輸入數字,這樣也會按順序來填充
同一個參數可以填充多次,這個是format比%先進的地方
2.通過key來填充
print 'hello {name1} i am {name2}'.format(name1='Kevin',name2='Tom') # hello Kevin i am Tom
3.通過下標填充
names=['Kevin','Tom']
print'hello {names[0]} i am
{names[1]}'.format(names=names) #
hello Kevin i am Tom
print'hello {0[0]} i am {0[1]}'.format(names) #
hello Kevin i am Tom
4.通過字典的key
names={'name':'Kevin','name2':'Tom'}
print 'hello {names[name]} i am {names[name2]}'.format(names=names) # hello Kevin i am Tom
注意訪問字典的key,不用引號的
5.通過對象的屬性
classNames():
name1='Kevin'
name2='Tom'
print'hello {names.name1} i
am {names.name2}'.format(names=Names) #
hello Kevin i am Tom
6.使用魔法參數
args=['lu']
kwargs = {'name1': 'Kevin', 'name2': 'Tom'}
print 'hello {name1} {} i am {name2}'.format(*args, **kwargs) # hello Kevin i am Tom
二 格式轉換
b、d、o、x分別是二進制、十進制、八進制、十六進制。
數字 格式 輸出 描述
3.1415926 {:.2f} 3.14 保留小數點後兩位
3.1415926 {:+.2f} 3.14 帶符號保留小數點後兩位
-1 {:+.2f} -1 帶符號保留小數點後兩位
2.71828 {:.0f} 3 不帶小數
1000000 {:,} 1,000,000 以逗號分隔的數字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00E+09 指數記法
25 {0:b} 11001 轉換成二進制
25 {0:d} 25 轉換成十進制
25 {0:o} 31 轉換成八進制
25 {0:x} 19 轉換成十六進制
三 對齊與填充
數字 格式 輸出 描述
5 {:0>2} 05 數字補零 (填充左邊, 寬度為2)
5 {:x<4} 5xxx 數字補x (填充右邊, 寬度為4)
10 {:x^4} x10x 數字補x (填充右邊, 寬度為4)
13 {:10} 13 右對齊 (默認, 寬度為10)
13 {:<10} 13 左對齊 (寬度為10)
13 {:^10} 13 中間對齊 (寬度為10)
四 其他
1.轉義{和}符號
print'{{ hello {0} }}'.format('Kevin')
跟%中%%轉義%一樣,formate中用兩個大括弧來轉義
2.format作為函數
f = 'hello {0} i am {1}'.format
print f('Kevin','Tom')
3.格式化datetime
now=datetime.now()
print'{:%Y-%m-%d %X}'.format(now)
4.{}內嵌{}
print 'hello {0:>{1}} '.format('Kevin',50)
5.嘆號的用法
!後面可以加s r a 分別對應str() repr() ascii()
作用是在填充前先用對應的函數來處理參數
print"{!s}".format('2') #
2
print"{!r}".format('2') # '2'
差別就是repr帶有引號,str()是面向用戶的,目的是可讀性,repr()是面向python解析器的,返回值表示在python內部的含義
ascii()一直報錯,可能這個是3.0才有的函數
在linux命令行顯示綠色是可執行文件,操作方法如下:
1、首先在電腦開始菜單中打開「運行」,在運行欄中輸入「cmd」。
『叄』 linux 如何高亮顯示命令行.例如,在某一行輸入了ls,高亮顯示這一句.
自己網路下linux
ls
加上h可以看文件大小
如ls
-lh
另:linux看不了文件的創建日期,只能看訪問時間、修改時間、狀態改變時間,如果文件創建後狀態沒修改過,它的修改時間就是它的創建日期...這個用stat查看,你再自己網路下linux
stat吧
『肆』 寫Python,如何設置點擊相同變數,全部高亮
在 工具 裡面下了個 word highlight settings 擴展就可以了
『伍』 如何設置python內置函數 的語法高亮
你可以安裝一個Python專用的集成編譯環境,裡面默認會有語法高亮。
我推薦winPython,安裝非常簡單,下載一個安裝包直接安裝即可。winPython裡面還帶了很多常用的Python包,你就不需要額外安裝了。
『陸』 vim 如何設置 python 標准庫的高亮和補全
可以代碼添加到vim語法高亮:
將下面代碼添加符合到的後面就可以了:
syn keyword pythonStatement False, None, True
syn keyword pythonStatement as assert break continue del exec global syn
keyword pythonStatement lambda nonlocal pass print return with yield syn keyword
pythonStatement class def nextgroup=pythonFunction skipwhite
syn keyword pythonConditional elif else if
syn keyword pythonRepeat for while
syn keyword pythonOperator and in is not or
syn keyword pythonException except finally raise try
syn keyword pythonInclude from import
可以代碼添加到vim中vim語法補全:
1、修改_vimrc
2、在_vimrc文件中加入如下這幾行:
let g:pydiction_location='C:/program
files/vim/vimfiles/ftplugin/pydiction/complete-dict'
filetype plugin on
set autoindent
syntax enable
set softtabstop=4
set shiftwidth=4
set number
使用:
如果是開新的python檔案,尚未儲存為 .py,VIM不知道目前編輯的是python,所以要在vim的命令列裡面下這個指令 set
FileType=python ,之後,按tab就會列出method和attribute了
『柒』 Python 程序在終端中是如何輸出彩色字元的
實現過程:
終端的字元顏色是用轉義序列控制的,是文本模式下的系統顯示功能,和具體的語言無關。
轉義序列是以ESC開頭,即用 33來完成(ESC的ASCII碼用十進製表示是27,用八進製表示就是033)。
書寫格式:
開頭部分: 33[顯示方式;前景色;背景色m +結尾部分: 33[0m
注意:開頭部分的三個參數:顯示方式,前景色,背景色是可選參數,可以只寫其中的某一個;另外由於表示三個參數不同含義的數值都是唯一的沒有重復的,所以三個參數的書寫先後順序沒有固定要求,系統都能識別;但是,建議按照默認的格式規范書寫。
對於結尾部分,其實也可以省略,但是為了書寫規范,建議 33[***開頭, 33[0m結尾。
數值表示的參數含義:
顯示方式: 0(默認值)、1(高亮)、22(非粗體)、4(下劃線)、24(非下劃線)、 5(閃爍)、25(非閃爍)、7(反顯)、27(非反顯)
前景色: 30(黑色)、31(紅色)、32(綠色)、 33(黃色)、34(藍色)、35(洋 紅)、36(青色)、37(白色)
背景色: 40(黑色)、41(紅色)、42(綠色)、 43(黃色)、44(藍色)、45(洋 紅)、46(青色)、47(白色)
常見開頭格式: