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

讀capitalism without capital-- 理解未來的經濟趨勢

# capitalism## Gates note我是在大約一周前在gatesnote上看到這本書的[介紹](https://www.gatesnotes.com/Books/Capitalism-Without-Capital),雖然介紹文提到有很多經濟學的名詞,可能不是...… Continue reading

28小時的2018 ruby&elixir conf TW

Published on April 28, 2018