Днес приключихме летния семестър на Питона. След четири дена гърч, най-накрая мога да седна да си почина малко. Предвид, че още от уебтеха, Manowar-а, джулая и другия концерт тичам по задачи най-накрая ми се отдаде възможност да си разпусна. И да излея малко размисли за курса по Python… Continue reading
Tag Archives: python фми
Себичен питон
Метакласовете в Python са много яко нещо. Макар все още да не ми се е наложило да напиша дори един такъв за работата си, са много полезен източник на забавления. Сега ще ви покажа как с малко остроумие може да дефинирате класове по следния интересен начин:
__metaclass__ = selfless
def __init__(name, age):
self.name = name
self.age = age
def __repr__():
return "Person(%s, %d)" % (repr(self.name), self.age)
def sayHi():
print "Hello, I’m %s and I’m %d years old" % (self.name, self.age)
def rename(newName):
self.name = newName
Интересното? Въобще не ви се налага да пишете self
пред имената на методите.
Динамичен питон
След като много хора от курса проявиха интерес колко точно динамичен е Python, реших да съставя малко примерче как „динамично“ (т.е. по време на изпълнение) може да си конструираме изцяло нов клас. Наслаждавайте се!
fizzbuzz.py
Ето как бих решил FizzBuzz проблема, в оригиналния му вариант, където дори принтираме, вместо да връщаме речник:
if n % 3 == 0 and n % 5 == 0:
print ‘FizzBuzz’
elif n % 3 == 0:
print ‘Fizz’
elif n % 5 == 0:
print ‘Buzz’
else:
print n
Просто, нали? Но да мотивирам това решение:
Python @ FMI
От известно време не съм писал – разходката до Стокхолм бе бая тегава, особено след изпуснатия полет и преспиването във Варшава. А като се върнах бях залят от задачи, една от които бе курса по Python във ФМИ. И тъй като днес е „юбилейната“ четвърта лекция (сиреч две седмици), викам да драсна няколко реда по въпроса. Continue reading