@Pythonetc рд╕рдВрдХрд▓рди, рдЬреБрд▓рд╛рдИ 2018

рдпрд╣ рдореЗрд░реА @pythonetc рдлреАрдб рд╕реЗ рдкрд╛рдпрдерди рдЯрд┐рдкреНрд╕ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рджреВрд╕рд░рд╛ рд╕рдВрдЧреНрд░рд╣ рд╣реИред рдкрд┐рдЫрд▓реЗ рдЪрдпрди:


рдирд┐рдпрдорд┐рдд рднрд╛рд╖рд╛


рдПрдХ рдирд┐рдпрдорд┐рдд рднрд╛рд╖рд╛ рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рднрд╛рд╖рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рдкрд░рд┐рдорд┐рдд рд░рд╛рдЬреНрдп рдорд╢реАрди рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЪрд░рд┐рддреНрд░-рджрд░-рд╡рд░реНрдг рдкрд╛рда рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдРрд╕реЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░рд┐рдорд┐рдд рд╣реИред

рдПрдХ рдЖрджрд░реНрд╢ рдЙрджрд╛рд╣рд░рдг: рдПрдХ рдорд╢реАрди рдЬреЛ рдпрд╣ рдЬрд╛рдВрдЪрддреА рд╣реИ рдХрд┐ рдЗрдирдкреБрдЯ рдкреНрд░рдореБрдЦ рд╣реИ рдЬреИрд╕реЗ тАУ3, 2.2, рдпрд╛ 001ред рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдПрдХ рдкрд░рд┐рдорд┐рдд рд░рд╛рдЬреНрдп рдорд╢реАрди рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИред рдбрдмрд▓ рд╕рд░реНрдХрд▓ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдорд╢реАрди рдмрдВрдж рд╣реЛ рд╕рдХрддреА рд╣реИред

рдорд╢реАрди рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рд╢реВрдиреНрдп, рдлрд┐рд░ рдПрдХ рдЕрдВрдХ, рдФрд░ рдлрд┐рд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ Perhaps рдпрд╣ рдЕрдВрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рджрд╢рдорд▓рд╡ рд╡рд┐рднрд╛рдЬрдХ (тСв тЖТ can) рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдЕрдВрдХ (тСд тЖТ () рдпрд╛ рдЕрдзрд┐рдХ (more тЖТ тСд)ред

рдПрдХ рдЕрдирд┐рдпрдорд┐рдд рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдЙрджрд╛рд╣рд░рдг рд░реВрдк рдХреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдкрд░рд┐рд╡рд╛рд░ рд╣реИ:

ab
aaa-bbb
aaaaa-bbbbb


рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ N рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдлрд┐рд░ тАУ , рддрдм - B рдХреЗ N рдЙрджрд╛рд╣рд░рдг, рдЬрд╣рд╛рдБ N рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ 0 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдЖрдк рдЗрд╕реЗ рд░рд╛рдЬреНрдп рдорд╢реАрди рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЙрди рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдпрд╛рдж рд░рдЦрдиреА рд╣реЛрдЧреА, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ред рдХреЗрд╡рд▓ рд░рд╛рдЬреНрдпреЛрдВ рдХреА рдПрдХ рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ред

рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗрд╡рд▓ рдирд┐рдпрдорд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреА рд╣реИред рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдПрдХ рд░рд╛рдЬреНрдп рдорд╢реАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ JSON, XML рдпрд╛ рдХреЛрд╖реНрдардХ рдХреЗ рд╕рд╛рде рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВред

рдпрд╣ рдордЬреЗрджрд╛рд░ рд╣реИ рдХрд┐ рдХрдИ рдЖрдзреБрдирд┐рдХ рд░реЗрдЧреЗрдХреНрд╕ рдЗрдВрдЬрди рдирд┐рдпрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рд░реЗрдЧреЗрдХреНрд╕ рдореЙрдбреНрдпреВрд▓ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ (рдЬреЛ aaa-bbb рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ )ред

рдЧрддрд┐рд╢реАрд▓ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ


рдЬрдм рдкрд╛рдпрдерди рдПрдХ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ af(b, c, d) , рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдмрд╣реБрд░реВрдкрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, a рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрддрдГ рдХреНрдпрд╛ рдЪреБрдирд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░реЗрд╖рдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрд╛рдпрдерди рдХреЗрд╡рд▓ рдПрдХрд▓-рдкреНрд░реЗрд╖рдг рдмрд╣реБрд░реВрдкрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рд╡рд╕реНрддреБ рд╣реА рд╡рд╕реНрддреБ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, a )ред рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, b , c рдФрд░ d рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕ рддрд░рд╣ рдХреЗ рддрдВрддреНрд░ рдХреЛ рдХрдИ рдкреНрд░реЗрд╖рдг рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╣рдбрд╝рддрд╛рд▓реА рдЙрджрд╛рд╣рд░рдг C # рднрд╛рд╖рд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдИ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡рд┐рдЬрд╝рд┐рдЯрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛: рдпрд╣ рдПрдХ рджреЛрд╣рд░реЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ рдПрдХ рдкреНрд░реЗрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рддрд░реАрдХреЗ (рдЬреИрд╕рд╛ рдХрд┐ рдЬрд╛рд╡рд╛ рдФрд░ рд╕реА ++ рдореЗрдВ рд╣реИ) рдорд▓реНрдЯреАрдкрд▓ рдбрд┐рд╕реНрдкреИрдЪрд┐рдВрдЧ рдХрд╛ рдПрдирд╛рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИред рдЧрддрд┐рд╢реАрд▓ рдкреНрд░реЗрд╖рдг рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рдХреЗрд╡рд▓ рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпреЗ рдЙрджрд╛рд╣рд░рдг рдЖрдкрдХреЛ рд╡рд┐рд╖рдп рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ:


рдЗрдирд▓рд╛рдЗрди рдирд╛рдо


рдкрд╛рдпрдерди рдореЗрдВ, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдорд╛рдирдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕рднреА рдорд╛рдирдХ рдЪрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 >>> print = 42 >>> print(42) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not callable 

рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рдпрджрд┐ рдЖрдкрдХрд╛ рдореЙрдбреНрдпреВрд▓ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдирд╛рдо рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рднреА рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдордирдорд╛рдирд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдХреБрдЫ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрди рдЪреАрдЬрд╝реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдирд┐рд░реНрдорд┐рдд рдореЙрдбреНрдпреВрд▓ рдореМрдЬреВрдж рд╣реИ:

 >>> import builtins >>> print = 42 >>> builtins.print(1) 1 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ __builtins__ рдЪрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рддрд░рдХреАрдм рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдХрдлрд╝рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реЗ, __builtins__ рджреЛрдиреЛрдВ рдореЗрдВ builtins.__dict__ рдореЙрдбреНрдпреВрд▓ рдФрд░ builtins.__dict__ ред

strace


рдХрднреА-рдХрднреА рдЖрд╡реЗрджрди рд▓рдбрд╝рд╛рдИ рдореЗрдВ рдЕрдЬреАрдм рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдмрдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИред

рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЗ рдХрд┐рд╕ рднрд╛рдЧ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЙрдЪрд┐рдд рд▓реЙрдЧрд┐рдВрдЧ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЪрдпрдирд┐рдд рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ рдХреЗ рдХрд╛рд░рдг рдЖрдкрдХреЗ рд▓реЙрдЧ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╕реНрддреГрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕реНрдЯреНрд░реЗрд╕ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдпреВрдирд┐рдХреНрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ - strace python script.py - рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рдЪрд▓ рд░рд╣реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ: strace -p PID ред

 $ cat test.py with open('/tmp/test', 'w') as f: f.write('test') $ strace python test.py 2>&1 | grep open | tail -n 1 open("/tmp/test", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 3 

рдЯреНрд░реЗрд╕ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдирд╛рдо, рдХреЛрд╖реНрдардХ рдореЗрдВ рддрд░реНрдХ рдФрд░ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЗрди рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, STDIN рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рддрдХ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд░реЛрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

 $ strace python -c 'input()' read(0, 

рдЯрдкрд▓ рд╢рд╛рдмреНрджрд┐рдХ


рдкрд╛рдпрдерди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рдмрд╕реЗ рдЕрд╕рдВрдЧрдд рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЯреНрдпреВрдкрд▓ рд╢рд╛рдмреНрджрд┐рдХ рд╣реИред

рдЯрдкрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрдорд╛ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ: 1, 2, 3 ред рдПрдХ рдПрдХрд▓ рддрддреНрд╡ рдЯрдкрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдмрд╕ рдПрдХ рдлрд╛рдВрд╕реА рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдЬреЛрдбрд╝реЗрдВ: 1, ,ред рдпрд╣ рдмрджрд╕реВрд░рдд рджрд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд╣реИред

рдПрдХ рдЦрд╛рд▓реА рдЯрдкрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ? рдпрд╣ рдПрдХ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╣реИ -? рдирд╣реАрдВ, рдпрд╣ () ред рдФрд░ рдХреНрдпрд╛, рдХреЛрд╖реНрдардХ рдПрдХ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдХреА рддрд░рд╣ рдмрдирд╛рддреЗ рд╣реИрдВ? рдирд╣реАрдВ, (4) рдХреЛрдИ рддреБрдХ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл 4 ред

 In : a = [ ...: (1, 2, 3), ...: (1, 2), ...: (1), ...: (), ...: ] In : [type(x) for x in a] Out: [tuple, tuple, int, tuple] 

рдЪреАрдЬреЛрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдХрдард┐рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреБрдкрд▓ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдЕрдХреНрд╕рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрд╖реНрдардХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдПрдХрдорд╛рддреНрд░ рддрд░реНрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрдкрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЬрд╛рд╣рд┐рд░ рд╣реИ f(1, 2, 3) рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ - рдЖрдкрдХреЛ f((1, 2, 3)) рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред

Source: https://habr.com/ru/post/hi419025/


All Articles