- 1
- 2
- 3
- 4
- 5
def get_a():
print("Hello goblin")
return get_a
get_a()()()()()()()()()()()()()
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−118
def get_a():
print("Hello goblin")
return get_a
get_a()()()()()()()()()()()()()
Осталось понять зачем
−180
try:
ip_port = sys.argv[1].split(':')
ip = ip_port[0]
if len(ip_port) == 2:
port = ip_port[1]
elif len(ip_port) == 1:
port = "80"
else:
raise IndexError
except IndexError:
print "Usage: %s <target ip:port>" % sys.argv[0]
sys.exit(1)
Эксплоиты. Неиссякаемый источник ГК.
Я бы сделал так:
try:
ip_port = sys.argv[1].split(':')
ip = ip_port[0]
try:
port = ip_port[1]
except IndexError:
port = 80
except IndexError:
print "Usage: %s <target ip:port>" % sys.argv[0]
sys.exit(1)
−120
class Column(object):
"""
Элемент конфигурации
"""
def __init__(self, *args, **kwargs):
hid = False
filters = []
sorters = []
if len(args) == 3:
inner_name, verbose_name, width = args
elif len(args) == 2:
inner_name, verbose_name = args
width = 20
elif len(args) == 4:
inner_name, verbose_name, width, hid = args
elif len(args) == 5:
inner_name, verbose_name, width, hid, filters = args
elif len(args) == 6:
inner_name, verbose_name, width, hid, filters, sorters = args
special_attrs = ['locked', 'editable']
self.code = inner_name
self.name = verbose_name
self.width = width
self.hidden = hid
self.idx = 0
if sorters:
sorters.column = self
if filters:
filters.column = self
filters.code = self.code
#здесь хранятся экземпляры фильтров для колонок
self.filters = filters
#здесь хранятся экземпляры сортировщиков для колонок
self.sorters = sorters
def get_config(self):
''' ?
'''
config = dict()
config['data_index'] = self.code
config['header'] = self.name
config['width'] = self.width
config['hidden'] = self.hidden
return config
Разбор параметров
−241
def __repr__(self):
# почему здесь бесконечная рекурсия?
return repr(self.__repr__)
−180
max(0, 0, *list)
Костыль, чтобы в случае пустого списка возвращало 0
−124
if __name__ == "__main__":
def f():
pass
Динамичненько
−117
self.symbol_ban = {".":".00", "!":".01", "@":".02", "#":".03", "$":".04", "%":".05", "^":".06",
"&":".07", "*":".08", "+":".09", "\n":".10", "\t":".11", "\"":".12", "\'":".13",
"/":".14", "<":".15", ">":".16", '`':".17", '\\':".19", " ":".20", "=":".21",
"(":".22", ")":".23"}
new_path = map((lambda x, y: [x, y]), ["a_"+"".join([j if (j not in self.symbol_ban) else self.symbol_ban[j] for j in i[0]]) for i in path], [j[1] if j[1] in ("dir", "file") else self.Ex(1) for j in path])
часть sax парсера xml для экранирования входных данных, писал для бакалаврской. диплом отдали
−88
С сайта http://www.codecademy.com/
Dot Notation
Let's take a closer look at why you use len(string) and str(object), but dot notation (such as "String".upper()) for the rest.
lion = "roar"
len(lion)
lion.upper()
Methods that use dot notation only work with strings.
On the other hand, len() and str() can work on other data types.
То ли лыжи не едут, то ли я ебанутый.
−115
print 1 < 2 == 2 > 1 in [1,2,3] < [2,3,4,5] != 1
Данный кусочек кода ( взял на одном из сайтов с тестами) навел меня на мысль - а может быть люди говнокодят потому, что языки программирования позволяют это делать? Взглянув на него первая моя мысль была - что это за хрень, она не будет работать. Оказалось я был не прав.
−118
name = name.replace(u'c', u'с') # this is magia