본문 바로가기

Python/Python Basic

Day4) 4. 1st class citizen(일등 시민)


1st class citizen(일등 시민)

- 프로그래밍언어에서 1st class라는 의미는 해당 객체를 사용하는데 있어서 아무런 "제약없음"을 의미

- python에서는 모든 것이 객체(object)

- 숫자, 문자열, 튜플, 리스트, 딕셔너리 등 존재하는 모든 값을 객체로 볼 수 있음

- 함수 역시 객체이며, 객체이기 때문에 변수의 값에 할당하거나, 함수의 파라미터로 전달하거나, 리스트의 원소가 되는 등 일반 타입처럼 사용 할 수 있다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def test1():
    print 23
    
def run_something(func):
    func()
    
test2 = test1 # 함수를 변수에 대입
test2()
print '=' * 20
 
print test1, type(test1)
run_something(test1)
 
print '=' * 20
print test2()
 
<<<<< 실행결과 >>>>>
 
23
====================
<function test1 at 0x048697B0> <type 'function'>
23
====================
23
None
 
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def bubble_sort():
    pass
 
def quick_sort():
    pass
 
def sort(sort_method):
    return sort_method()
 
 
print sort(bubble_sort)
print sort(quick_sort)
 
 
<<<<< 실행결과 >>>>>
 
None
None
cs



반응형