什麼是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
這是別人家來的!!

人類會一直進步嗎?科學可以一直擴張嗎?

## skin in the game v.s enlightment now今年二月,當我們還在過年的時候,最近有兩本書上市,引起很多想法。不過我目前也都還沒完全看完,很難說出個完整,不過也正想要留個紀錄,等完整看完後再來重新省思。等到中文版出來或許又是一年以後的事,而且...… Continue reading

Elm的學習資源

Published on December 18, 2017

elixir的plug入門教學

Published on September 06, 2017