E D R , A S I H C RSS

02_Python


1. 02 Python Seminar


  • 02 •™๋ฒˆ ›„๋ฐฐ๋“ค—๊ฒŒ –ธ–ด˜ ๊ธฐˆ. –ด๋–ป๊ฒŒ ƒ๊ฐ•˜๋ฉด C ๋ณด๋‹ค๋Š” ๊ธฐˆ๋ฅผ žก๊ธฐ๋Š” ๋” ‰ฝ๊ณ  ๋” นœˆ™•˜๊ฒŒ –ธ–ด๋ฅผ ๋ฐฐšธˆ˜ žˆ๋‹ค๋Š” ทจง€•˜— „ ƒ
  • Class ๊ฐœ๋… ๊นŒง€๋Š” ๋“ค–ด๊ฐ€ง€ •Š„ ˜ˆ • .. •„ง๊นŒง€๋Š” •จˆ˜ ๊ฐœ๋… žก๊ธฐ๊ฐ€ ๋ฐ” ๊บผ๋ผ๋Š” ƒ๊ฐด ๋“ฌ
  • ž๋ฃŒ˜•, —ฐ‚ฐž , ๊ธฐ๋ณธ๋ฌธ๋ฒ• , •จˆ˜ , ๋ชจ๋“ˆ„ ค‘  œผ๋กœ ๋‹ค๋ฃฐ ˜ˆ •ž„
  • ˜ˆ๋ฅผ –ด๋–ป๊ฒŒ ๋ณด—ฌ„๊นŒ๊ฐ€ -_- ๊ณ ๋ฏผ๋จ -_- (–ด๋–ป๊ฒŒ๋“ค • ๊นŒš” ?)

2. ๊ฐ•‚ฌ ๋ฐ ผ •

  • ๊ฐ•‚ฌ = 00 ด๋ด๋ผ
  • ผ • = ™•‹คžˆ  ••ดง€ง€ •ŠŒ

3. Goal


  • ๊ทธ๋“คด –ธ–ด ๋ฌธ๋ฒ•— –ด๋ ค›€„ ๋А๋ผง€ •Š•˜œผ๋ฉด ข‹๊ฒ ๋‹ค๋Š” ๋ฐ”๋žจ
  • •„ -_- ๋”๋„ ๋ง๊ณ  10๋ช… ดƒ๋งŒ „ธ๋ฏธ๋‚˜— ™”œผ๋ฉด •˜๋Š” ๋ฐ”๋žจ
  • ๋‚ด๊ฐ€ ๋˜๋„๋กด๋ฉด ‰ฝ๊ฒŒ ›„๋ฐฐ๋“ค—๊ฒŒ ๊ฐ€๋ฅดณ„ˆ˜ žˆ—ˆŒ •˜๋Š” ๋ฐ”๋žจ
    Who is "๋‚ด" here? - ๋ด๋ผšฉ :)
  • ๋งˆง€๋ง‰œผ๋กœ ›„๋ฐฐ๋“ค๊ณผ ๊ฐ™ด ŒŒดฌ Šค„ฐ๋””๋ฅผ • ˆ˜ žˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๋Š” ๋ฐ”๋žจ

4. Related Document or book


  • ๋Œ€๋ถ€๋ถ„˜  •๋ณด๋Š” Learning Python —„œ ๋ฐœตœ .. ๊ทธ…ด ๊ฐ€žฅ ‰ฌšธ๊บผ ๊ฐ™Šต๋‹ˆ๋‹ค.

5. Date of Seminar


  • •„ง ๋ฏธ •ž…๋‹ˆ๋‹ค ๋นจ๋ฆฌ •˜๋„๋ก •ด๋ด•ผฃ 

6. Main Contents


6.1. ŒŒดฌ€ ๋ฌด—ˆธ๊ฐ€?


  • ๊ฐ€žฅ  •™••˜๊ฒŒ ๋ง•˜ž๋ฉด ๊ฐฒด ง€–ฅ Šคฌ๋ฆฝ –ธ–ดด๋‹ค. (see also Ousterhout's IEEE Computer article Scripting: Higher Level Programming for the 21st Century at http://home.pacbell.net/ouster/scripting.html )
  • ‚ฌšฉ•˜๊ธฐ ‰ฝ๊ณ  , ๋ฐฐšฐ๊ธฐ ‰ฌšฐ๋ฉฐ —ฌ๋Ÿฌ ๋ฐฉ–ฅœผ๋กœ ดšฉ• ˆ˜ žˆ๋Š” –ธ–ดด๋‹ค.
  • GUI , ‹œŠค…œ œ ‹ธ๋ฆฌ‹ฐ , AI , ธ„ฐ๋„Šคฌ๋ฆฝŒ… ๋“— ‚ฌšฉ• ˆ˜ žˆ๋Š” –ธ–ดด๋‹ค.
  • C, C++, Java — ๋น„•ด ƒ๋‹นžˆ ‰ฌšด ๋ฌธ๋ฒ• ๊ตฌกฐ๋ฅผ ๊ฐ€ง€๊ณ  žˆ๋‹ค
  • (RCMด ฐจ„ธ๋Œ€ –ธ–ด˜ Šนง•œผ๋กœ ๊ผฝ๋Š”) ๋™ ž๋ฃŒ˜• ๊ฐฒดง€–ฅ –ธ–ด

see also http://fallin.lv/PythonRumors

6.2. ŒŒดฌด ‚ฌšฉ๋œ ˜ˆ


  • Red Hat˜ ๋ฆฌ๋ˆ…Šค ธŠค†จ๋Ÿฌธ •„๋‚˜ฝ˜๋‹ค๋Š” ŒŒดฌœผ๋กœ งœ—ฌ ธ žˆ๋‹ค
  • Infoseek ด๋ž€ ฌƒˆ ‹ธดŠธ๋Š” ผ๋ถ€ ๊ฒ€ƒ‰—”„„ ŒŒดฌ ๊ธฐ๋ฐ˜œผ๋กœ ‚ฌšฉ•œ๋‹ค
  • NASA ๋Š” ž„๋ฌด  œ–ด ‹œŠค…œ— ŒŒดฌ„ ‚ฌšฉ•œ๋‹ค
  • Industrial Light and Magic ‚ฌ๋Š” ŒŒดฌ„ ‚ฌšฉ•˜—ฌ ๊ด‘๊ณ šฉ —๋‹ˆ๋ฉ”ด…˜„  œž‘•œ๋‹ค
  • ด œ„‚คŽ˜ดง€๋Š” ŒŒดฌ„ ดšฉ•œ cgi ๋กœ ๋งŒ๋“ค–ดกŒ๋‹ค

6.3. ŒŒดฌ˜ Šนง•

  • ๋Œ€™”‹ ๋ช…๋ น–‰ด๋‹ค
    C ๋‚˜ C++ € †ŒŠค๋ฅผ •œ๊บผ๋ฒˆ— ๋‹ค น˜๊ณ „œ ๋‚˜ค‘— "ปดŒŒผ" •˜๋Š”‹ดง€๋งŒ Python ˜ ๊ฒฝšฐ ž‹ ด “ฐ๋Š” ๋ผธ๋งˆ๋‹ค ฝ˜€๋“ค–ด๊ฐ„๋‹ค.
  • ๋ชจ๋“ˆ ŒŒผ ‹ค–‰ด๋‹ค
    ๋ชจ๋“ˆด๋ž€ C ๋‚˜ C++ ˜ header ŒŒผ ฒ˜๋Ÿผ ๊ฐ๊ฐ˜ ๋ช…๋ น–ด๋ฅผ ๋‹ฎ๊ณ žˆ๋Š” ๊ฒƒ˜ ง‘•ฉด๋‹ค.
  • ๋ชจ๋“  šด˜ฒดฒด ๋…๋ฆฝ ด๋‹ค
    ž๋ฐ”™€ ๊ฐ™ด VM ๋จธ‹ ƒ—„œ ๋Œ•„๊ฐ€๋Š” ด๋ก ด๋ฏ€๋กœ šด˜ฒด œ ๋…๋ฆฝ ด๋‹ค.

6.4. C ™€ C++ ๊ณผ Java ™€ Python ˜ ๊ฐ„๋‹จ•œ †ŒŠค ๋น„๊ต


6.4.1. Hello World for C

~cpp 
    #include <stdio.h>

    int main(void)
    {
        printf("Hello World\n");

        return 0;
    }

6.4.2. Hello World for C++

~cpp 
    #include <iostream.h>
    int main()
    {
         cout << "Hello World\n" ;
         return 0;
    }

6.4.3. Hello World for Java

~cpp 
    public class HelloWorldExample
    {
      public static void main(String[] args)
      {
        System.out.println("Hello World");
      }
    }

6.4.4. Hello World for Python

~cpp 
    Print "Hello World"

6.4.5. Quick Sort in Python

~cpp 
def qsort(aList): 
        if not aList: 
                return [] 
        ltList=[y for y in aList[1:] if y<aList[0]] 
        gtList=[y for y in aList[1:] if y>=aList[0]] 
        return qsort(ltList)+[aList[0]]+qsort(gtList) 

6.5. ž๋ฃŒ˜•๊ณผ —ฐ‚ฐž


6.5.1. ŒŒดฌ ”„๋กœ๊ทธ๋žจ€ ๋ชจ๋“ˆ(module), ๋ฌธ(statement), ๊ทธ๋ฆฌ๊ณ  ๊ฐฒด(object) ๋กœ ๊ตฌ„๋œ๋‹ค.

~cpp           1. ”„๋กœ๊ทธ๋žจ€ ๋ชจ๋“ˆ๋กœ ๊ตฌ„๋˜–ด žˆ๋‹ค. 
         2. ๋ชจ๋“ˆ€ ๋ฌธ„ ฌ•จ•œ๋‹ค. 
         3. ๋ฌธ€ ๊ฐฒด๋ฅผ ƒ„•˜๊ณ  ฒ˜๋ฆฌ•œ๋‹ค. 


  • ŒŒดฌ€ ๋‚ดžฅ ž๋ฃŒ˜•„ ๊ธฐ๋ณธœผ๋กœ •œ๋‹ค.
    '' ๊ธฐกด C ๋‚˜ C++ ˜ ๊ฒฝšฐ๋Š” –ด๋– •œ ๋ณ€ˆ˜๋ฅผ ง€ •• ๋–„ ƒ€ž…„ ๊ผญ ง€ ••ด ค˜•ผ–ˆ๋‹ค ๊ทธ ˜ˆ๋กœ int ๋‚˜ char ด žˆ๋‹ค •˜ง€๋งŒ ŒŒดฌ˜ ๊ฒฝšฐ๋Š”
    žฒด œผ๋กœ ž๋ฃŒ˜•„ ง€›•ด„œ ๋‚˜˜ค๋ฏ€๋กœ –ด๋– •œ ๋ณ€ˆ˜˜•ธง€ ง€ •„ •ดฃผง€ •Š•„๋„ ๋œ๋‹ค ''

~cpp 
ˆ˜น˜˜•   3.1415, 1234 , 999L 
๋ฌธž—ด   'spam', "guido's"
๋ฆฌŠคŠธ   [1,[2, 'three'],4]
‚ฌ „     {'food':'spam','taste':'yum'}
Šœ”Œ     (1,'spam',4,'U')
ŒŒผ     text=open('eggs', 'r').read()

6.5.2. ˆ˜น˜˜•

~cpp 
1234, -25,0            ผ๋ฐ˜ •ˆ˜ ด๋ฉฐ C˜ ๊ฒฝšฐ int — •ด๋‹น•œ๋‹ค.    
9999999999999L         Long ˜•  •ˆ˜ ด๋‹ค.. long ˜•˜  •ˆ˜— ๋Œ€•ด„œ๋Š” C ˜ long int ™€๋Š” ๋‹ค๋ฅด๊ฒŒ  •ˆ˜๋’ค— "L" ๋งŒ ๋ถ™ด๋ฉด ๋œ๋‹ค.
1.23, 3E210            ๋ถ€๋™†Œˆ˜ ด๋ฉฐ C˜ ๊ฒฝšฐ double — •ด๋‹น•œ๋‹ค.
0177, 0x9ff            8„ˆ˜, 16„ˆ˜ 

6.5.3. ๋ฌธž—ด

~cpp 
s1 = ''                ๋นˆ ๋ฌธž—ด 
s2 = "spams"           ดค‘ ธšฉ๋ถ€˜ธ
block = """..."""      ‚ผค‘ ธšฉ๋ถ€˜ธ
s1+s2                  —ฐ๊ฒฐ
s2*3                   ๋ฐ˜๋ณต
s2[i]                  ธ๋Šค
s2[1:j]                Šฌ๋ผดŠค
len(s2)                ๊ธธด
for x in s2            ๋ฐ˜๋ณต

6.5.4. ๋ฆฌŠคŠธ

  • ŒŒดฌ˜ ๊ฐ€žฅ œ —ฐ•œ ž๋ฃŒ˜•ด๋ฏ€๋กœ ๊ฐฒด ž๋ฃŒ˜ ˆœ„œ๋ฅผ ๊ฐ–๋Š” ง‘•ฉด๋‹ค.
  • ๊ฐฒด ๊ฐ„˜ ˆœ„œ๋ฅผ ๊ฐ€ง€๊ฒŒ ๋œ๋‹ค(index ๋ฒˆ˜ธ๋ฅผ ๊ฐ€„๋‹ค)

~cpp 
L1 = []                ๋นˆ๋ฆฌŠคŠธ
L2 = [0,1,2,3]         ๋„ค ๊ฐœ˜ •ญ๋ชฉ: index ๋Š” 0 ~ 3 ž„

6.5.5. ‚ฌ „

  • ๋ฆฌŠคŠธ™€ ๋น„Šท•˜๋‚˜ ๋ฆฌŠคŠธ™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๊ฐฒด ๊ฐ„˜ ˆœ„œ๋ฅผ ๊ฐ€ง€ง€ •Š๋Š” ๊ฐฒด๋“ค˜ ง‘•ฉด๋‹ค

~cpp 
d1 = {}                                    ๋นˆ‚ฌ „
d2 = { 'spam':2, 'eggs':3 }                2๊ฐœ˜ ๊ฐ’„ ๊ฐ€ง€๋Š” ‚ฌ „
d3 = { 'food' : { 'ham':1, 'egg':2 } }     ๋‚ดฌ

6.5.6. Šœ”Œ

  • ๋ฆฌŠคŠธ™€ ๊ฐ™€ ๋ฐฉ‹œผ๋กœ ๋™ž‘•˜ง€๋งŒ ๊ฐฒด˜ ๋‚ดšฉ„ ๋ฐ”๊ฟ€ˆ˜ —†๋‹ค.

~cpp 
()                    ๋นˆ Šœ”Œ
t1 = (0,)             •œ ๊ฐœ˜ •ญ๋ชฉ Šœ”Œ
t2 = (0,1,2,3)        ๋„ค ๊ฐœ˜ •ญ๋ชฉ Šœ”Œ

6.6. ๊ธฐ๋ณธ๋ฌธ

~cpp 

˜ธถœ                 •จˆ˜ ‹ค–‰            stdout.write("spam, ham.toast\n") 
ถœ๋ ฅ                 ๊ฐฒด ถœ๋ ฅ            print "THe killer", joke
If/elif/else      „ ƒ  ˆ˜–‰          if "python" in text:print text
For/else          ‹œ€€Šค ๋ฐ˜๋ณต          for x in mylist: print x 
While/else        ผ๋ฐ˜ ธ ๋ฃจ”„        while1:print "hello"
Pass              •„๋ฌดผ๋„ •˜ง€ •ŠŒ   while1:pass
Break,Countinue   ๋ฃจ”„  ”„            while1:if not line: break
Import, From      ๋ชจ๋“ˆ  ‘๊ทผ            import sys; from sys import stdin
Def, Return       •จˆ˜ ๋งŒ๋“ค๊ธฐ          def f(a,b,c=1, *d): return a+b+c+d[0]
Class             ๊ฐฒด ๋งŒ๋“ค๊ธฐ          class subclass: staticData = []
Global            ๋„ž„ ŠคŽ˜ดŠค        def function(): global x,y; x = 'new'
Del               ๊ฒฒด ‚ญ œ            def data[k]; del data[i:j]; del obj.attr

6.7. •จˆ˜ ™€ ๋ชจ๋“ˆ


6.7.1. •จˆ˜™€ ๊ด€๋ จ๋œ ๋ฌธ

~cpp 

˜ธถœ                 myfunc("spam, ham, toast\n")
def, return       def adder(a,b,c=1, *d): return a+b+c+d[0]
global            def function(): global x,y; x = 'new'

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:04
Processing time 0.0216 sec