什麼是if __name__ = "__main__" 啊??

Reading time ~1 minute

作者: 陳璿丞

if name == main

之前學Flask 常常會看到這一段的code, 但不知所以然。本著得過且過的心態。但這個問題一直困擾著我。其實google 一下就會有很多解答了喔。不過來看一下Python document 是怎麼說的:

The name attribute must be set to the fully-qualified name of the module. This name is used to uniquely identify the module in the import system.

那關於__mian__呢?

main’ is the name of the scope in which top-level code executes. A module’s name is set equal to ‘main’ when read from standard input, a script, or from an interactive prompt.

也就是說,所以有的module都有一個內建的__name__的屬性。

那什麼是main呢? 是用來檢查這段code是不是import而來的,如果是import來的,這裡的__name__ attribute就不會維持’main‘而是其他的了。

舉個例子來說好了:

# first.py
if __name__ == '__main__':
  print('這是來自本來的module~~')
else:
  print('這是別人家來的!!')
# second.py
import first
$python first.py
這是來自本來的module~~
$python second.py
這是別人家來的!!

Elm的學習資源

看過很多Elm 的學習資源,不過因為中文資料甚少(根本就沒有吧)Elm我本身也是初學者,只是想把這一陣子的學習記錄下來,如果有錯誤或不清楚的地方,再請大家指教和學習了 Continue reading

elixir的plug入門教學

Published on September 06, 2017

elixir的ecto入門教學

Published on September 04, 2017