½´µµ °¡¸£°¡¸£

±â´É ÇÁ·Î±×·¡¹Ö ¾ð¾î ±â´ÉÀ¸·Î ÆÄÀ̽ã È®Àå
Áö±Ý ´Ù¿î·Îµå

½´µµ °¡¸£°¡¸£ ¼øÀ§ ¹× ¿ä¾à

±¤°í

  • Rating:
  • ƯÇã:
  • GPL
  • °¡°Ý:
  • FREE
  • °Ô½ÃÀÚ À̸§:
  • Kai Zhu
  • °Ô½ÃÀÚ À¥»çÀÌÆ®:
  • http://www-rcf.usc.edu/~kaizhu/

½´µµ °¡¸£°¡¸£ ű×


½´µµ °¡¸£°¡¸£ ¼³¸í

±â´É ÇÁ·Î±×·¡¹Ö ¾ð¾î ±â´ÉÀ¸·Î ÆÄÀ̽ãÀ» È®ÀåÇÕ´Ï´Ù Pseudosugar´Â ´ÙÀ½ ±¸¹® ¼³ÅÁÀ» Ãß°¡ÇÏ´Â ¼ø¼öÇÑ ÆÄÀ̽㠸ðµâÀÔ´Ï´Ù. ±â´É >> ±â´É -> ±â´É (AA, BB, CC, ...) XX .. ±â´É (AA, BB, CC) -> ±â´É (XX, AA, BB , cc) xx ... function (AA, BB, CC) -> ÇÔ¼ö (AA, XX, BB, CC) xx .... ÇÔ¼ö (AA, BB, CC) -> ÇÔ¼ö (AA, BB, XX, CC) µ¥¸ð »ç¿ë¹ý : >>> ## ½Ö¹æÇâ ÄܼÖÀ» ½ÃÀÛ >>> Pseudosugar Import * >>> Pseudo_console (). »óÈ£ ÀÛ¿ë () Python 3.1.1 (R311 : 74480, 2009, 17:17:12 ) Linux2¿¡¼­ ÀÚ¼¼ÇÑ ³»¿ëÀº "µµ¿ò¸»", "ÀúÀÛ±Ç", "Å©·¹µ÷"¶Ç´Â "¶óÀ̼¾½º"¸¦ ÀÔ·ÂÇϽʽÿÀ. (pseudo_console) pseudo_importer - 0xB7AC754C>¿¡¼­ ÈÅ >> pseudosugar °¡Á® ¿À±â * >>> #### ºü¸¥ ¿¹ >>> ## Á¢µÎ»ç ¿¬»êÀÚ >>> Àμâ ## postfix ¿¬»êÀÚ >>> 'Hello', 'World'>>> PrintHello World >>> ## Pseudomethod >>> DEF ±â´É (AA, BB, CC) : Return (AA, BB, CC) >>> 1 .. (0, 0) >>>> Àμâ (1, 0, 0) >>> 2 ... ±â´É (0, 0) >>>> Àμâ (0, 2, 0) >>> 3 .... ÇÔ¼ö (0, 0) >>>>>> Àμâ (0, 0, 3) >>> ## 'Àº ±â´ÉÀ» Postfix ¿¬»êÀÚ·Î º¯È¯ >>> ## ¿ª¹æÇâÀ» Á¦¿ÜÇÏ°í´Â °ÅÀÇ Á¤È®ÇÏ°Ô'>>>> '¿Í °ÅÀÇ Á¤È®ÇÏ°Ô ÀÛµ¿ÇÕ´Ï´Ù. >> ## ¿©·¯ ¿î¿µÀÚ¸¦ ¿¬°áÇÏ´Â µ¥ À¯¿ëÇÕ´Ï´Ù >>> 'qwerty'>>>> ¸ñ·Ï >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1 : 'Q', 2 : 'R', 3 : 'T', 4 : 'W', 5 : 'y'} >>> ## ¿¬»êÀÚ ¿ì¼± ¼øÀ§ >>> ## '>>>>'´õ ³ôÀ½ 'Æ©Çà (tuple) ## ¸ñ·Ï (Æ©Çà ('abcd '))º¸´Ù ¿ÀÆÛ·¹ÀÌÅÍ ¿ì¼± ¼øÀ§ (Æ©Çà ('abcd ') >>> #### ÀÇ»ç °¡°ø ±¸¹® >>> ## µ¿ÀûÀ¸·Î ¹ÙÀεù °´Ã¼¿¡ ´ëÇÑ ÇÔ¼ö È£Ãâ >>> ## ÇÔ¼ö È£Ãâ ()À» 'Hello'>>> pri ¹ÙÀεù NT ( 'Hello) "Àλç >>>'Hello '.. Print () Hello >>>'Hello '.. ÇÁ¸°Æ® ('¼¼°è ') ¾È³ç ¼¼°è >>>'¾È³çÇϼ¼¿ä '.. ÇÁ¸°Æ® ('¼¼°è ',' ! ') ¾È³çÇϼ¼¿ä ¼¼°è! >>>'Hello '.. Àμâ ('¼¼°è ','! ', ÆÄÀÏ = sys.stdout) ¾È³çÇϼ¼¿ä! >>> ## ´À³¦À̳ª ±âŸ ¿£µùÀ» Ãß°¡ÇÏ´Â Pseudomethod ¸¸µé±â> >> add_ending (self, end = '!') : ¼¿ÇÁ + ³¡ >>> 'hello'.. ddd_ending () .. print () hello! >>> 'hello'.upper () .. ddd_ending ( ) .. "¾È³çÇϼ¼¿ä! >>> 'Hello'.UPPER () .. DDD_INDE ('World ') .. Print () Hello World >>>'Hello'.Upper () .. dd_ending ( '¼¼°è') ) .Lower () .. Print () Hello World >>> 'Hello'.Upper () .. DD_Inding ('¼¼°è '). ³·Àº () .. dd_ending ('! ') .. Print () Hello World! >>> 'hello'.upper () .. ddd_ending ('¼¼°è '). lower () .. dd_ending ('! ') .. dd_ending (end ='! ') .. Print () Hello World !!> >> ## ¿¬»êÀÚ ¿ì¼± ¼øÀ§ >>> ## 'aa ..bb ()'´Â ¼Ó¼º ¿¬»êÀÚ 'a.b'>>> DEF ADD (AA, BB)·Î ¿ì¼± ¼øÀ§°¡ µ¿ÀÏÇÕ´Ï´Ù. AA + BB return >> > Àμâ (2 * 3 ..) + 5 == 2 * (3 + 4) + 5) TRUE >>> Àμâ (3 == 1 ..) TRUE >>> Àμâ (0 , 0. ..add (1), 0) 01 0 >>> ## Á¦ÇÑµÈ À¯Çü È®Àå >>> ## Python ÄÚµå ¿ÀºêÁ§Æ® À¯ÇüÀº ÇÏÀ§ ŸÀÌÇÎ ÇÒ ¼ö ¾øÀ¸¸ç ¸Þ¼Òµå ¹ÙÀεùÀ» ¹Þ¾Æ µéÀÏ ¼ö ¾ø½À´Ï´Ù. >>> ## ±×·¯³ª ¿ì¸®´Â ÀϹÝÀûÀÎ ±â´ÉÀ» µ¿ÀûÀ¸·Î ¹ÙÀεùÇÏ¿© È®ÀåÇϽʽÿÀ. >>> ## ¿©±â¿¡ ÁöÁ¤µÈ Ãâ·ÂÀ¸·Î À¯ÇüÀÇ ÀνºÅϽº¸¦ ºÐÇØÇÏ´Â Àǻ簡 ÀÖ½À´Ï´Ù >>> °¡Á® ¿À±â DIS, IO, SYS >>> DEF DISASMBL (ÀÚü, ÆÄÀÏ) : ... backup_stdout = sys.stdout ## backup sys.stdout ... ½Ãµµ : ... sys.stdout = ÆÄÀÏ ... Dis.dis (self) ## ÀÚü ºÐÇØ ... ¹Ýȯ ÆÄÀÏ ... ¸¶Áö¸·À¸·Î : ... sys.stdout = backup_stdout ## restore sys.stdout >>> code_source = 'print ( "hello")'; code_object = ÄÄÆÄÀÏ (code_source, '', 'exec'); exec (code_object) hello >>> code_object ..disassemble (file = io.stringio ()). getValue () .. Print () 10 load_name 0 (Àμâ) 3 load_const 0 ( 'hello') 6 call_function 19 pop_top 10 load_const 1 (¾øÀ½) 13 return_value >>> ## '...'¿Í '....'±¸¹® >>> ## ¶§¶§·Î ¿ì¸®´Â ´ë½Å ¿ÀºêÁ§Æ®¿¡ ¹ÙÀεù µÈ ÇÔ¼öÀÇ 2 ¹ø° ¶Ç´Â 3 ¹ø° Àμö¸¦ ¿øÇÕ´Ï´Ù. >> > ## '...'¿Í '....'>>> '2nd'... Àμâ (0, 0) 02nd 0 >>> '3RD'.... Àμâ (0 , 0) 00 3rd >>> ## '....'Àº re.sub >>> ss = 'file = io.stringio ()¸¦ ¿¬°áÇÏ´Â µ¥ À¯¿ëÇÕ´Ï´Ù. Àμâ 1, 2, 3 >> ÆÄÀÏ; PRINT FILE.GETVALUE () '; Àμâ (SS) ÆÄÀÏ = io.stringio (); Àμâ 1, 2, 3 >> ÆÄÀÏ; PRINT FILE.GETVALUE () >>> Àμâ (... re.sub ( 'Àμâ (Àμâ ('Àμâ ( 'Àμâ ('Àμâ ( 'Àμâ ('Àμâ (\ 1) ', ... re.sub ('Àμâ (. *)> > (. *?); ','Àμâ (\ 1, file = 2); ', SS) ...) ...) ÆÄÀÏ = io.stringio (); Àμâ (1, 2, 3, ÆÄÀÏ = ÆÄÀÏ); Àμâ (file.getValue ()) >>> SS .... re.sub ( 'Àμâ (. *) >> (. *?);', 'Àμâ (\ 1, file = 2);') ...... re.sub ( 'Àμâ ('Àμâ ( 'Àμâ (. *?) $', 'Àμâ (\ 1)'....Print () ÆÄÀÏ = io.stringio (); Àμâ (1, 2, 3, ÆÄÀÏ = ÆÄÀÏ); PRINT (file.getValue ()) >>> ## »ç½Ç, ÀÇ»çÀÇ ¶Ç ´Ù¸¥ ÁÖ¿ä »ç¿ëÀº Ãß¾ÇÇÏ°í Àбâ - Àбâ - ÀбⰡ ¾î·Á¿î Lisp¿Í °°Àº Áßø µÈ ÇÔ¼ö È£ÃâÀ» flatten >>> Àμâ (dict (zip (zip (zip ( ' ABC ', Á¤·Ä ('ABC BCA CAB'.SPLIT ( ''), KEY = LAMBDA X : x ))))))) {0 : ( 'A', 'CAB'), 1 : ( 'B' , 'abc'), 2 : ( 'c', 'bca') >>> 'abc bca cab'.split (' ') ..sorted (key = lambda x : x ) ... ( 'abc') .. enumerate () ..dict () .. Print () {0 : ( 'a', 'cab'), 1 : ( 'b', 'abc'), 2 : ( 'c ','BCA ')} >>> ## PSEUDOMETHOD ±¸¹®À¸·Î ÀÛ¼ºµÈ °¡Á® ¿À±â ¸ðµâ >>> ## CREATE TEST_MODULE.PY >>> ¿­±â ('test_module.py ',' ' ""Hello ")¸¦ ¿±´Ï ´Ù. .Àμâ() ') .. Àμâ ('¹ÙÀÌÆ® ¾²±â ') 18 ¹ÙÀÌÆ® ¾²±â >>> ## °¡Á® ¿À±â Áß¿¡ Magic Prefix'Pseudosugar '¸¦ »ðÀÔÇϽʽÿÀ. ¸¶Áö¸· ¸ðµâ ÀÌÀü >>> ## °¡Á® ¿À±â pseudosugar.a >>> ## °¡Á® ¿À±â a.pseudosugar.b >>> ## °¡Á® ¿À±â a.b.pseudosugar.c >>> °¡Á® ¿À±â pseudosugar.test_modulehello ¿ä±¸ »çÇ× : ¡¤ ÆÄÀ̽ã


½´µµ °¡¸£°¡¸£ °ü·Ã ¼ÒÇÁÆ®¿þ¾î