當前位置:首頁 » 編程語言 » 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了

熱點內容
資料庫日誌文件查看 發布:2024-11-25 12:17:28 瀏覽:47
騰訊視頻明明緩存了看不了 發布:2024-11-25 12:08:01 瀏覽:181
存儲區域網路分布 發布:2024-11-25 12:07:12 瀏覽:388
安卓怎麼用湯不熱 發布:2024-11-25 11:49:06 瀏覽:843
java線程調用 發布:2024-11-25 11:42:45 瀏覽:844
識地圖演算法 發布:2024-11-25 11:31:10 瀏覽:20
楊輝三角c語言程序一維數組 發布:2024-11-25 11:30:30 瀏覽:214
腳本一般用在什麼地方 發布:2024-11-25 11:13:28 瀏覽:824
php上傳xls 發布:2024-11-25 11:01:46 瀏覽:679
formphp 發布:2024-11-25 11:01:45 瀏覽:554