當前位置:首頁 » 編程語言 » python高亮

python高亮

發布時間: 2024-08-21 02:40:42

⑴ 為什麼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才有的函數

⑵ 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了

熱點內容
安卓如何把抖音評論換成黑色 發布:2025-01-22 16:30:57 瀏覽:699
連接池Java 發布:2025-01-22 16:28:27 瀏覽:257
搶杠演算法 發布:2025-01-22 16:15:02 瀏覽:71
圖片伺服器ftp 發布:2025-01-22 15:52:33 瀏覽:506
sql打開bak文件 發布:2025-01-22 15:47:32 瀏覽:106
opengl伺服器源碼 發布:2025-01-22 15:40:02 瀏覽:908
python部署服務 發布:2025-01-22 15:38:46 瀏覽:282
壓縮機卡裝 發布:2025-01-22 15:37:04 瀏覽:446
每天跑步40分鍾可以緩解壓力嗎 發布:2025-01-22 15:33:24 瀏覽:448
線性表的鏈式存儲結構與順序存儲 發布:2025-01-22 15:32:45 瀏覽:295