snippet     #!
abbr        #!/usr/bin/env python3
alias       shebang
options     head
	#!/usr/bin/env python3
	${0}

snippet     class
abbr        class Class(...): ...
options     head
	class ${1:#:name}(${2:object}):
		def __init__(self, ${3}):
			${0:pass}

snippet     classd
abbr        class Class(...): "..."
options     head
	class ${1:#:name}(${2:object}):
		"""${3:#:class documentation}"""
		def __init__(self, ${4}):
			"""${5:#:__init__ documentation}"""
			${0:pass}

snippet     def
abbr        def function(...): ...
options     head
	def ${1:#:name}(${2}):
		${0:pass}

snippet     defd
abbr        def function(...): """..."""
options     head
	def ${1:#:name}(${2}):
		"""${3:#:function documentation}"""
		${0:pass}

snippet     defm
abbr        def method(self, ...): ...
options     head
	def ${1:#:name}(self, ${2}):
		${0:pass}

snippet     defmd
abbr        def method(self, ...): "..."
options     head
	def ${1:#:name}(self, ${2}):
		"""${3:#:method documentation}"""
		${0:pass}

snippet     elif
abbr        elif ...: ...
options     head
	elif ${1:#:condition}:
		${0:pass}

snippet     else
abbr        else: ...
options     head
	else:
		${0:pass}

snippet     with_open
alias       fileidiom
options     head
	with open(${1:#:file}, '${2:r}') as ${3:f}:
		${0:pass}

snippet     for
abbr        for ... in ...: ...
options     head
	for ${1:#:value} in ${2:#:list}:
		${0:pass}

snippet     if
abbr        if ...: ...
options     head
	if ${1:#:condition}:
		${0:pass}

snippet     ifmain
abbr        if __name__ == '__main__': ...
alias       main
options     head
	if __name__ == '__main__':
		${0:pass}

snippet     tryexcept
abbr        try: ... except ...: ...
options     head
	try:
		${1:pass}
	except ${2:#:ExceptionClass}:
		${3:pass}

snippet     tryfinally
abbr        try: ... finally: ...
options     head
	try:
		${1:pass}
	finally:
		${2:pass}

snippet     while
abbr        while ...: ...
options     head
	while ${1:#:condition}:
		${0:pass}

snippet     with
abbr        with {func}({file}) as :
options     head
	with ${1:open}(${2:#:filename, mode}) as ${3:f}:
		${0:pass}

snippet     filter
abbr        [x for x in {list} if {condition}]
	[$1 for ${1:x} in ${2:#:list} if ${3:#:condition}]

snippet     print
options     word
	print(${0:#:TARGET})

snippet     coding
abbr        # -*- coding ...
	# -*- coding: utf-8 -*-

snippet     getattr
abbr        getattr(..., ...)
options     word
	getattr(${1:#:obj}, ${2:#:attr})

snippet     setattr
abbr        setattr(..., ...)
	setattr(${1:#:obj}, ${2:#:attr}, ${3:#:value})

snippet     hasattr
abbr        hasattr(..., ...)
options     word
	hasattr(${1:#:obj}, ${2:#:attr})

snippet     pdb
abbr        import pdb..
	import pdb; pdb.set_trace()

snippet     ipdb
abbr        import ipdb..
	import ipdb; ipdb.set_trace()