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