最近學的 Python 新寫法
前言
由於 Python 並非我擅長的語言,但因為工作環境時常會需要一些簡短的 Python 程式碼,如 Blender 的 Script ,所以寫法一直沒有進步,容易寫出冗長的程式碼,最近抽空學習了 Python 的新寫法,在此做個紀錄。
內容
瀏覽 List :
ar = [ 'one', 'two', 'three'] #Old style loop for ele in range( len( ar ) ): print(ar[ ele ]) #New style loop1 for ele in ar: print(ele) #New style loop2 for i, ele in enumerate( ar ): print( 'i:', i, ' ele:', ele)
舊的寫法很冗長,不但要 range() 還要 len() 搭配才能瀏覽陣列的內容,新的寫法簡單的多,如果有需要 index 變數可以搭配 enumerate() 來瀏覽。
瀏覽 Dictionary :
my_map = { 'a' : 1, 'b' : 2, 'c' : 3 } #Old style for key in my_map: print( 'key:', key , ' value:', my_map[ key ] ) #New style1 for key, value in my_map.items(): print( 'key:', key, ' value:', value) #New style2 for value in my_map.values(): print( value )
舊的寫法可以視為只取 key 值,然後再從 key 取得 value ,取得 value 時會較冗長,新的寫法透過 Dictionary 的 items() ,如果很確定只需要取 value 的話可以透 Dictionary 的 values() 來取得。
字串:
a = 'string' b = 1234 #Old style print( 'a:', a, "b:", b) #New style print( f'a:{a} b:{b}' )
舊的寫法會需要很多的',',新的寫法在字串的前方加'f',在字串裡可以透過"{}"來取得變數,整體看起來非常直覺與簡短。
沒有留言:
張貼留言