スタイルに関しては、2 番目の例の方が見やすいと思います。
他のすべての点では、違いはありません。2 つの関数は、同一のバイトコードにコンパイルされます。
In [3]: dis.dis(size)
2 0 LOAD_FAST 0 (number)
3 LOAD_CONST 1 (100)
6 COMPARE_OP 0 (<)
9 POP_JUMP_IF_FALSE 19
3 12 LOAD_GLOBAL 0 (Small)
15 CALL_FUNCTION 0
18 RETURN_VALUE
5 >> 19 LOAD_FAST 0 (number)
22 LOAD_CONST 2 (1000)
25 COMPARE_OP 0 (<)
28 POP_JUMP_IF_FALSE 38
6 31 LOAD_GLOBAL 1 (Medium)
34 CALL_FUNCTION 0
37 RETURN_VALUE
8 >> 38 LOAD_GLOBAL 2 (Big)
41 CALL_FUNCTION 0
44 RETURN_VALUE
In [4]: dis.dis(size1)
11 0 LOAD_FAST 0 (number)
3 LOAD_CONST 1 (100)
6 COMPARE_OP 0 (<)
9 POP_JUMP_IF_FALSE 19
12 12 LOAD_GLOBAL 0 (Small)
15 CALL_FUNCTION 0
18 RETURN_VALUE
13 >> 19 LOAD_FAST 0 (number)
22 LOAD_CONST 2 (1000)
25 COMPARE_OP 0 (<)
28 POP_JUMP_IF_FALSE 38
14 31 LOAD_GLOBAL 1 (Medium)
34 CALL_FUNCTION 0
37 RETURN_VALUE
16 >> 38 LOAD_GLOBAL 2 (Big)
41 CALL_FUNCTION 0
44 RETURN_VALUE
45 LOAD_CONST 0 (None)
48 RETURN_VALUE
(100% 正確にするために、2 番目のバージョンには最後に暗黙的なreturn None
コードがあります。ただし、このコードは到達できないため、パフォーマンスには影響しません。)