KIC 백엔드 수업

6월 26일 (월) - []

Crecok 2023. 6. 26. 12:29
반응형

▶ 참고 교재 : 파이썬 프로그래밍


 

▶ 새 파일 생성 : for07.py

- 리스트 안에서 for문을 적용시킬 수 있다.

lists = [ 1, 2, 3, 4 ]

# 각 값에 * 3
'''
result = []
for list in lists :
    result.append( list * 3 )

print( result )
'''

result = [ list * 3 for list in lists ]
print( result )

results = [[ list + 10, list * 10 ] for list in lists ]
print( results )

lists1 = [ 2, 3 ]
lists2 = [ 4, 5 ]

result = [ list1 * list2 
          for list1 in lists1 
          for list2 in lists2 ]
print( lists1 )
print( lists2 )
print( result )

 

 


 

Python : 내부함수 (지역함수)

 

 

▶ 새 파일 생성 : func06.py 

def outerfunc() :
    data = 1
    # 지역
    def innerfunc() :
        print( '내부함수 호출' )
        nonlocal data
        print( data )
        data = 2
        print( data )

    innerfunc()
    print( data )

outerfunc()

 


 

Python : 람다 ( Lambda ) 함수

 

 

▶ 새 파일 생성 : func07.py 

def func11( a ) :
    return a

print( func11( 10 ) )

func12 = lambda a : a
print( func12( 20 ) )

def func21( a, b ) :
    return a + b

print( func21( 10, 20 ) )

func22 = lambda a, b : a + b
print( func22( 20, 30 ) )

def func31( a ) :
    print( a )

func31( 10 )

func32 = lambda a : print( a )
func32( 20 )

 

 


 

일급함수

 

 

▶ 새 파일 생성 : func08.py

def func1() :
    print( 'func1 호출' )

func1()
print( func1 )
print( type( func1 ) )

print( id( func1 ) )

func2 = func1
func2()

print( id( func1 ) )
print( id( func2 ) )

 

 

▶ 새 파일 생성 : func09.py

def subfunc() :
    print( 'subfunc 호출' )

def mainfunc( sub ) :
    sub()

mainfunc( subfunc )

 

 

▶ 새 파일 생성 : func10.py

- all : 순회할 수 있는 요소 전체가 참이면 참

- any : 하나로도 참이면 참

- 0은 기본적으로 False의 의미를 가지고 있다.

- chr : 아스키코드 값을 문자로 변환한다.

- ord : 문자를 아스키코드 값으로 변환한다.

- enumerate : 순서값을 가져온다.

- eval : 문자열을 수식화 한다.

# help( all )

# all - 순회할 수 있는 요소 전체가 참이면 참
print( all( [] ) )
print( all( [ True, True ] ) )
print( all( [ True, False ] ) )

# 0 이라는 값은 기본적으로 False의 의미를 가지고 있다.
print( all( [ 0 ] ) )
print( all( [ 0, 1, 2, 3 ] ) )
print( all( [ 1, 2, 3 ] ) )

# any - 하나라도 참이면 참
print( any( [] ) )

# Ascii code 변환
print( chr( 97 ) )
print( chr( 48 ) )
print( ord( 'a' ) )
print( ord( '0' ) )

# list
for name in [ 'body', 'foo', 'bar' ] :
    print( name )

for i, name in enumerate( [ 'body', 'foo', 'bar' ] ) :
    print( i, name )

print( '1 + 2' )
print( eval( '1 + 2' ) )

 

 

▶ 새 파일 생성 : func11.py

- filter : 필터를 적용할 수 있다.

lists = [ 1, -3, 2, 0, -5. -6 ]

# 양수만을 필터링하여 출력하는 함수
def positive1( lists ) :
    result = []
    for i in lists :
        if i > 0 :
            result.append( i )
    return result

def positive2( x ) :
    return x > 0

print( positive1( lists ) )

result = list( filter( positive2, lists ) )
print( result )

 

 

▶ 새 파일 생성 : func12.py

- divmod : 몫과 나머지를 한꺼번에 출력한다.

- zip : 데이터를 집합화한다.

# 형변환
# bool, int, float, str
# list, tuple, dict, set

# 진법변환
# bin, oct, hex
print( hex( 234 ) )
print( oct( 34 ) )

# 수학관련
# abs / divmod / min / max / pow / range / round / sum
print( 7 // 3 )     # 몫
print( 7 % 3 )      # 나머지
print( divmod( 7, 3 ) )

print( max( 'python' ) )
print( min( 'python' ) )

x = [ 10, 20, 30 ]
y = [ 'a', 'b' ]
for i in zip( x, y ) :
    print( i )

 

 


 

클래스

 

 

▶ 새 파일 생성 : class01.py

class Cookie :
    pass

c1 = Cookie()
c2 = Cookie()

print( c1 )
print( c2 )

print( type( c1 ) )

print( id( c1 ) )
print( id( c2 ) )

 

 

▶ 새 파일 생성 : class02.py

class Cookie :
    # def func1() :
    #    print( 'func1 호출' )
    a = 20

    def func1( self ) :
        print( 'func1 호출' )
        # this
        print( self )
    
    def func2( self, a ) :
        print( a )
        # 인스턴스 멤버변수 선언
        self.a = a

c1 = Cookie()
c1.func1()
c1.func2( 10 )

print( c1.a )
print( Cookie.a )

 

반응형