Это короткий или альтернативный вариант анонимной функции с самозапусканием :
(function(){
// code
})();
Можно записать:
!function(){
// code
}();
Вы можете также используйте +
вместо !
.
Если вы просто сделали:
function(){
// code
}();
Это создаст проблемы, поэтому вам нужно добавить !
перед этим, превращает объявление функции в выражение функции .
Цитирование документов, раздел 12.4:
ExpressionStatement не может начинаться с ключевого слова function, потому что это может сделать его неоднозначным с FunctionDeclaration.
blockquote>Чтобы лучше понять концепцию, вы должны проверить:
import getpass
print getpass.getuser()
См. документацию модуля getpass .
getpass.getuser ()
Возвращает «логин» пользователя. Доступность: Unix, Windows.
Эта функция проверяет переменные среды LOGNAME, USER, LNAME и USERNAME, по порядку, и возвращает значение первого который установлен в непустую строку. Если не заданы, имя входа из база паролей возвращается на системы, поддерживающие модуль pwd, в противном случае возникает исключение.
Это должно работать под Unix.
import os
print os.getuid() # numeric uid
import pwd
print pwd.getpwuid(os.getuid()) # full /etc/passwd info