ITADN

Try to shorten the code length

#45ClosedSeekladoom 创建于 2022-04-19
S
Seekladoomcommented
As follows, I am trying to shorten my python scripts' code. ```` for line in lines: _lstart = line.start_time _lend = line.end_time for syl in line.syls: # Syllable split mode: simplify inline variables (used as global variables) _si = syl.i _sstart = syl.start_time _send = syl.end_time _sdur = syl.duration _syln = len(line.syls)+1 _center = syl.center _middle = syl.middle _text = syl.text # Generating lines if line.styleref.alignment == 8: # line partition judgment (OPJP) Princess_OPJP(line, line.copy()) ```` The main purpose of this is to shorten code length in def Princess_OPJP(line, l). ```` def Princess_OPJP(line, l): if line.style == "Princess_OPJP": shape = "m 0 0 l 2 0 l 2 50 l 0 50 l 0 0","m 100 0 b 100 -55 55 -100 0 -100 b -55 -100 -100 -55 -100 0 b -100 55 -55 100 0 100 b 55 100 100 55 100 0","m -5 0 l -5 0 l 5 0 l 5 22 l -5 22" # circle for j in range(3): l.layer = 1 # syl l.start_time = _lstart + _sstart + (-j-1)*100 l.end_time = _lstart + _send + 1000 l.text = "{\\an5\\move(%.f,%.f,%.f,%.f)\\1a%s\\blur%.f\\bord0\\shad0\\fad(200,500)\\p%.f}%s" % ( _center - randint(0,50), _middle - randint(0,50), _center + randint(0,50), _middle + randint(0,50), Convert.alpha_dec_to_ass(randint(50,150)), randint(1,2), randint(4,6), shape[1]) io.write_line(l) ```` But doing this like the above, every time I write a script, I have to drag a long list of such codes. ```` for syl in line.syls: # Syllable split mode: simplify inline variables (used as global variables) _si = syl.i _sstart = syl.start_time _send = syl.end_time _sdur = syl.duration _syln = len(line.syls)+1 _center = syl.center _middle = syl.middle _text = syl.text ```` If I want to write _si = syl.i into ass_core.py of pyonfx, What should I do to ensure that every script I write in the future can read the value of syl.i by writing only one _si? When I learn Python better, I want to help you update PyonFX with more PRs.
关闭于 2025-05-25 1 条评论