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 )
반응형