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.0238 sec