Я обычно поднимал своих конструкторов около вершины моего файла, после пакета, импорта, Javadoc, и статических разделов объявления / разделов объявления переменной экземпляра.
механизм, тактовый сигнал и скорость являются переменными класса, по-видимому, определенными за пределами конструктора где-нибудь. startCadence, startSpeed, и startGear являются также переменными, но они - параметры, переданные конструктору.
можно также видеть что-то вроде этого:
public Bicycle(int cadence, int speed, int gear) {
this.gear = gear;
this.cadence = cadence;
this.speed = speed;
}
, который устанавливает переменные класса от параметров того же имени.
В стандартной библиотеке Python есть анализатор HTML, но он не очень полезен и не рекомендуется, начиная с Python 2.6. Делать такие вещи с помощью BeautifulSoup очень просто:
from BeautifulSoup import BeautifulSoup
from os.path import basename, splitext
soup = BeautifulSoup(my_html_string)
for img in soup.findAll('img'):
img['src'] = 'cid:' + splitext(basename(img['src']))[0]
my_html_string = str(soup)
Вот подход к вашей проблеме с помощью pyparsing. Вам нужно будет создать свой собственный код для преобразования атрибута http src.
from pyparsing import *
import urllib2
imgtag = makeHTMLTags("img")[0]
page = urllib2.urlopen("http://www.yahoo.com")
html = page.read()
page.close()
# print html
def modifySrcRef(tokens):
ret = "<img"
for k,i in tokens.items():
if k in ("startImg","empty"): continue
if k.lower() == "src":
# or do whatever with this
i = i.upper()
ret += ' %s="%s"' % (k,i)
return ret + " />"
imgtag.setParseAction(modifySrcRef)
print imgtag.transformString(html)
Теги конвертируются в:
<img src="HTTP://L.YIMG.COM/A/I/WW/BETA/Y3.GIF" title="Yahoo" height="44" width="232" alt="Yahoo!" />
<a href="r/xy"><img src="HTTP://L.YIMG.COM/A/I/WW/TBL/ALLYS.GIF" height="20" width="138" alt="All Yahoo! Services" border="0" /></a>