書接上回html
看到工程師李雷能用一行命令,更新flutter工程下全部圖標,python
韓梅梅深入的體會到,這(zhe)門(ge)語(nan)言(ren)如此優秀,必定不能錯過。bash
因而找到李雷:markdown
韓梅梅:「李雷,上次見到你用python更新圖標,感受好棒啊」
李雷:「Python確實是很好用的」
韓梅梅:「我能學會嗎」
李雷:「有我在,怎麼可能學不會呢?咱們先從最簡單的Hello world開始吧」
......
複製代碼
通過一通折騰,韓梅梅望着屏幕有些不滿oop
第1次 Hello world
第2次 Hello world
...
第8次 Hello world
第9次 Hello world
第10次 Hello world
第11次 Hello world
第12次 Hello world
韓梅梅:「怎麼不齊呢,好心塞」
李雷:「別擔憂,剛纔咱們用的f-string,它提供了固定寬度的格式化方法,只要在須要固定寬度的變量後面加上冒號和表明寬度數字就能夠了。」
複製代碼
def without_fix(base_index): i = 0 while i < ROW_COUNT: print(f'第{base_index+i}次 Hello world') i += 1 複製代碼
def with_fix2(base_index): i = 0 while i < ROW_COUNT: print(f'第{base_index+i:2}次 Hello world with_fix2({base_index})') i += 1 複製代碼
...
第 8次 Hello world with_fix2(8)
第 9次 Hello world with_fix2(8)
第10次 Hello world with_fix2(8)
第11次 Hello world with_fix2(8)
第12次 Hello world with_fix2(8)
第13次 Hello world with_fix2(8)
...
韓梅梅:「這個 ‘第 8次’裏面8前面空了個位置,8又不能居中,好心塞」
複製代碼
韓大設計師的心,真的是,很容易塞啊。post
不過,這難不倒李雷,通過一番努力終於知足了韓梅梅。學習
第08次 Hello world with_fix02(8)
第09次 Hello world with_fix02(8)
第10次 Hello world with_fix02(8)
第11次 Hello world with_fix02(8)
第12次 Hello world with_fix02(8)
第13次 Hello world with_fix02(8)
韓梅梅:「舒服,雷哥好棒,你是怎麼作到的」
李雷:「你看看我改的地方就明白了,第{base_index+i:02}次裏面的0表明用0填充空位。」
複製代碼
print(f'第{base_index+i:02}次 Hello world with_fix02({base_index})') 複製代碼
其實咱們還能夠作的更好。讓python本身判斷最大寬度是多大。網站
def with_auto_fix(base_index): MAX_NUM = base_index+ROW_COUNT MAX_WIDTH = len(f"{MAX_NUM}") i = 0 while i < ROW_COUNT: print(f'第{base_index+i:0{MAX_WIDTH}}次 Hello world with_auto_fix({base_index})') i += 1 複製代碼
沒錯,f-string 裏的寬度能夠用變量替代 多虧平時學的紮實,憑藉對以前看過的f-string官方文檔的記憶,spa
李雷又爲韓梅梅展現了f-string 固定寬度的進階用法設計
def fix_float(): percent = .01987654321 print(f"{percent:010.3%}\t-浮點數-保留3位小數位百分比,固定寬度10") print(f"{percent:010.3f}\t-浮點數-固定寬度10,保留3位小數") print(f"{percent:010.5f}\t-浮點數-固定寬度10,保留5位小數") print(f"{1.1:010.5f}\t-浮點數-固定寬度10,保留5位小數") 複製代碼
看到各類輸出都能變得乾淨整齊,韓梅梅終於心情舒暢了。
00001.988% -浮點數-保留3位小數位百分比,固定寬度10
000000.020 -浮點數-固定寬度10,保留3位小數
0000.01988 -浮點數-固定寬度10,保留5位小數
0001.10000 -浮點數-固定寬度10,保留5位小數
韓梅梅:「雷哥,我想平時在家也能練習python,但是我家裏的電腦沒有安裝python」
李雷:「要不我週末去幫你裝一下?」
...
複製代碼
且不提李雷和韓梅梅下面作了什麼,咱們回顧一下完整代碼:
#!/usr/bin/env python3 ROW_COUNT = 6 def without_fix(base_index): # 寬度不固定 i = 0 while i < ROW_COUNT: print(f'第{base_index+i}次 Hello world') i += 1 def with_fix2(base_index): # 固定寬度2 i = 0 while i < ROW_COUNT: print(f'第{base_index+i:2}次 Hello world with_fix2({base_index})') i += 1 def with_fix02(base_index): # 固定寬度2,前面不足的話補0 i = 0 while i < ROW_COUNT: print(f'第{base_index+i:02}次 Hello world with_fix02({base_index})') i += 1 def with_auto_fix(base_index): # 自動判斷寬度 max_num = base_index+ROW_COUNT max_width = len(f"{max_num}") i = 0 while i < ROW_COUNT: print( f'第{base_index+i:0{max_width}}次 Hello world with_auto_fix({base_index})' ) i += 1 def fix_fmts(): # 彙總 number = 123 print(f"{number:10}\t-整數,固定寬度10") print(f"{number:010}\t-整數,固定寬度10,前面不足補0") percent = .01987654321 print(f"{percent:10.3%}\t-浮點數-保留3位小數位百分比,固定寬度10") print(f"{percent:010.3%}\t-浮點數-保留3位小數位百分比,固定寬度10,前面不足補0") print(f"{percent:10.3f}\t-浮點數-固定寬度10,保留3位小數") print(f"{percent:010.3f}\t-浮點數-固定寬度10,保留3位小數,前面不足補0") print(f"{percent:10.5f}\t-浮點數-固定寬度10,保留5位小數") print(f"{percent:010.5f}\t-浮點數-固定寬度10,保留5位小數,前面不足補0") print(f"{1.1:10.5f}\t-浮點數-固定寬度10,保留5位小數") width = 10 print(f"{1.1:0{width}.5f}\t-浮點數-經過變量指定寬度10,保留5位小數,前面不足補0") if __name__ == "__main__": print('====================') print('-- without_fix(8) --') without_fix(8) print('-- without_fix(98) --') without_fix(98) print('-- with_fix2(8) --') with_fix2(8) print('-- with_fix2(98) --') with_fix2(98) print('-- with_fix02(8) --') with_fix02(8) print('-- with_fix02(98) --') with_fix02(98) print('-- with_auto_fix(8) --') with_auto_fix(8) print('-- with_auto_fix(98) --') with_auto_fix(98) print('-- fix_fmts() --') fix_fmts() print('===============') 複製代碼
李雷通過一個月的奮戰,終於完成了一個flutter應用的開發。
打算上線了才發現,圖標仍是flutter自帶的圖標呢,趕忙向設計師韓梅梅求救。
設計師韓梅梅拿出準備已久的Logo丟給李雷,李雷傻眼了。
李雷:「怎麼只有一個?」
韓梅梅:「難道安卓和iOS要用不一樣的圖標?」
李雷:「不是啊。一樣的圖標不一樣的尺寸。
安卓圖標五六個 ,iOS圖標十幾個吧。
我給你列個列表吧,尺寸都告訴你。你幫忙resize一下吧。」
韓梅梅:」寶寶內心苦...「
李雷:「嗯,我想一想辦法吧...」
複製代碼
書接上回
看到工程師李雷能用一行命令,更新flutter工程下全部圖標,
韓梅梅深入的體會到,這(zhe)門(ge)語(nan)言(ren)如此優秀,必定不能錯過。
因而找到李雷:
韓梅梅:「李雷,上次見到你用python更新圖標,感受好棒啊」
李雷:「Python確實是很好用的」
韓梅梅:「我能學會嗎」
李雷:「有我在,怎麼可能學不會呢?咱們先從最簡單的Hello world開始吧」
......
複製代碼
學完python3中f-string 格式化固定寬度的數字,
李雷如約上門安裝安裝python,折騰了很大一通李雷和韓梅梅都感受很累。
因而李雷提議到公園玩耍,他提早作足了功課,
學習了不少拍照到知識,終於用上了,尤爲是構圖比例,一概黃金分割。 ...
複製代碼
通過上次的授課經歷,李雷發覺,韓梅梅對圖形繪製這塊很感興趣。
因而絞盡腦汁,谷歌百度,尋找各類素材。通過反覆實驗終於完成了備課工做。
因而乎掰着手指頭,從週一盼到了週六。
「梅梅,咱們先看一個神奇的公式,以及如何用python實現它」
複製代碼
複製代碼
2020年4月4日,一大早,老闆急衝衝的打電話給韓梅梅。
李老闆:「全國網站都灰了,爲啥咱們本身的網站還這麼鮮豔。」
韓梅梅:「好多圖改不過來。」
李老闆:「原本你應該提早準備的。結果搞成如今這麼被動。 咱們是創業公司,每一個員工都應該是創業者。 做爲一個合格的創業者,要有遠見,有自驅, 不要什麼都不考慮,不要什麼都等安排。
若是你以爲本身不想當創業者,那就去找份大廠的工做。 若是你是個創業者,就拿出創業者的勁頭加個班搞定吧。」
還沒等韓梅梅回答,電話就被掛斷了。
複製代碼