공부/파이썬 2022. 1. 9. 18:41

20220109 점프투파이썬 05-5

05-5 내장함수

내용이 많아서 끊어 씁니다. (3) open, ord, pow, range, round, sorted

 

open(filename, [mode]) - 파일의 내용을 읽거나 파일에 내용을 쓰기을 위해선 파일을 열어야한다.

filename의 파일을 mode로 여는 함수

[mode] 생략하면 읽기 모드인 'r'로 파일을 연다

"w" - 쓰기모드로 파일 열기

"r" - 읽기모드로 파일열기

"a"-  추가모드로 파일열기

"b"- 바이너리 모드로 파일 열기

"b"는 단독으로 사용하지 않는다. 이거 없으면 아스키텍스트 모드로 연다

"rb" 바이너리로 읽기 모드

open("test_file", "ab") -> "test_file" 이란 이름의 파일을 바이너리-추가 모드로 연다

 

ord(c) 문자의 아스키 코드값을 돌려주는 함수

ord('a') -> 97

ord('0') -> 48

 

pow(x,y) x의 y제곱한 결괏값을 돌려주는 함수

pow( 3, 2 ) 3의 2제곱 9

pow( 2, 5 ) 2의 5제곱 32

 

range([start,] stop [,step] ) start부터 stop 까지 step 만큼씩 증가하는 숫자들을 반복가능한 객체로 만들어준다

>>> list( range(5) )  -> start 생략시 0, step 생략시 1 0에서 시작하고 5보다 작은 숫자의 리스트 반환

[0,1,2,3,4]

>>> list( range(3,7) ) ->두개일땐 step만 생략 3에서 시작하고 7보다 작은 숫자의 리스트 반환

[3,4,5,6] 

>>> list( range(1,10,2) )

[1,3,5,7,9]

>>> list( range( 0, -5, -1 ) )

[0, -1, -2, -3, -4 ]

 

round( number [, ndigits] ) 숫자를 입력받아 반올림 하는 함수

>>> round( 4.67 )

5

>>> round( 2.1224 )

2

>>> round( 5.7891, 2 ) 소숫점 2자리까지만 반올림 표시

5.79

 

sorted( iterable ) 입력값을 정렬한 후 결과를 리스트로 돌려준다. 리스트로 반환해준다는게 특징

>>> sorted( [ 3, 4, 1, 6 ] )

[1,3,4,6]

>>> sorted( "zero" )

[ 'e', 'o', 'r', 'z' ]

>>> sortde( ( 7,6,5,2) )

[ 2,5,6,7 ]

문화생활-0- 2022. 1. 2. 19:09

[영화] 매트릭스 : 리저렉션

원랜 작년 마지막 영화로 보려고 계획했지만 야근크리로 2022년 첫영화가 되어버린 매트릭스4편

하필 같은 시기가 스파이더맨에 킹스맨이라 경쟁력이 떨어진건지 주변 상영관에 없어서 코액스 메가박스까지 갔다.

 

일단 그럭저럭 잘만든 후속편이구 고스트버스터즈 : 라이즈(애프터라이프) 감상이랑 비슷할 정도로 

20년만에 후속편 만드려면 이렇게 만들어라 라고 해도 될정도로 교과서적으로 잘만듬

 

물론 이쪽은 20년 밖에 안되서(?) 주인공 계승이나 전작존중은 음...글쎄 ㅋㅋㅋ

오히려 본인들이 1~3 편 만들어서 끝내고 4편 만들어서 그런가 자학 개그로 보이는 부분들이 제법 보인다.

특히 마지막에 나오는 쿠키영상은 매트릭스랑은 전혀 상관없는 개그파트라서 안봐도 되지만

그냥 자학개그의 끝판을 찍어준다.

 

뭐 내용으로 넘어가면 매트릭스 4편이자 1편 같은 느낌으로 스토리도 잘 풀었고

애매모호하게 넘어갈 부분들을 어느정도 설명해줘서 전작들보단 훨씬 친절한 영화가 된 기분

확실히 과거랑 다르게 요즘 상업영화들은 애매한 부분을 많이 줄이는 기분이다.

 

아! 아무래도 ai캐릭터들도 있다보니 배우 교체를 흥미있는 설정으로 풀어준다.

본 순서가 있다보니 여러가지로 고스트버스터즈나 킹스맨이랑 비교되는 점이 많은 영화.

 매트릭스 원래 시리즈를 좋아했다면 보는걸 후회하진 않을거고 매트릭스1~3편을 모르는 사람이면

그냥 안보는게 나을수도 있는 영화입니다.

 

 

문화생활-0- 2021. 12. 26. 17:06

[영화] 킹스맨 : 퍼스트 에이전트

음 솔직히 기대보다 걱정이 앞섰던 킹스맨 프리퀄 퍼스트 에이전트

킹스맨 조직의 시작을 다룬 프리퀄이라 1차대전을 배경으로 하는 영화다.

 

뭐 사실 킹스맨2편 덕분에 망작이 아닐까 걱정했는데

그때 반성점을 잘 잡은거 같다.

덕분에 킹스맨 1보단 심심하지만 2보단 잘만든 프리퀄이 나왔다.

스토리나 연출은 약간 왕도 액션에 가깝지만 킹스맨 특유의 근접전투장면들이 

시대 배경에 맞춰서 나쁘지 않게 나온다.

스토리는 킹스맨 조직이 만들어진 배경에 대한 내용이다보니 야아아악간 심심할수도 있지만

킹스맨 조직에 대한 여러가지 설정을 개연성있게 만들어줘서

매우 만족스러운 프리퀄이다.

 

사실 이전에 본 영화가 스파이더맨에 고스트버스터즈라 과연 얼마나 안 실망할지가 포인트였는데

보길 잘한거 같다 ㅋㅋㅋ 오히려 예습할 내용이 적은 영화라 더 보기 편할지도 모르겠다.

 

이제 올해는 매트릭스4 하나 남았는데 이게 진짜 걱정이네 ㅋㅋ

공부/파이썬 2021. 12. 26. 16:59

20211226 - 점프투파이썬 05-5

05-5 내장함수

내용이 많아서 끊어 씁니다. (2) input, int, isinstance, len, list, map, max, min, oct

 

input([prompt]) 사용자 입력을 받는 함수.

>>a = input() <- 사용자가 입력한 정보를 a에 저장

hi

>>a

'hi'

>>b = input("test : ") "test : "문자열출력하고 뒤에서 정보를 입력 받음

test : gggg

>> b

'gggg'

 

int( x ) int( x, radix )

문자열 형태나 소숫점이 있는 숫자를 정수형태로 돌려준다. 정수입력시 그냥 그대로

radix에 숫자 입력시 x에 입력된 radix 진수의 정수 문자열을 10진로 반환

int("43") -> 43

int(4.6) -> 4

int('100', 2) -> 4

int('100',3) -> 9

int('1a', 16) -> 26

 

isinstance( object, class )

object 에 인스턴스 , class 에 클래스이름을 받아서 object 가 class 의 인스턴스인지 판단해서

참이면 True 거짓이면 False

class TestClass : pass

a = TestClass()

b = 3

isinstance( a, TestClass ) -> True

isinstance( b, TestClass ) -> False

isinstance( b, int ) -> True

 

len( s )

입력값 s의 길이 (요소 전체의 개수)를 돌려주는 함수

len( "test-test" ) -> 9

len( [1,2,3,4] ) -> 4

 

list( s )

반복 가능한 입력값 s를 리스트로 만들어준다

list( "test-" ) -> [ 't', 'e', 's', 't', '-' ]

list( (1,2,3) ) -> [ 1, 2, 3 ]

 

map( func, iterable )

반복 가능한 입력값 iterable의 각 요소를 func함수 처리해준다

def two_func(x) : return x*2

a = list( map( two_func, [2,3,4,5] ) )

print( a )

-> [4, 6, 8, 10]

lambda 를 사용하면 함수선언도 줄일수 있다

a = list( map( lambda b: b*2 , [2,3,4,5] ) )

 

max( iterable )

반복 가능한 입력값 iterable 의 각 요소중에 최대값을 돌려준다

max( [1,2,3,4,5] ) -> 5

mas( 'abcde' ) -> e

 

min( iterable )

반복 가능한 입력값 iterable 의 각 요소중에 최소값을 돌려준다

max( [1,2,3,4,5] ) -> 1

mas( 'abcde' ) -> a

 

oct( x )

정수 x를 입력받아 8진수 문자열로 돌려준다. hex의 8진수 버젼

oct( 34 ) -> '0o42'

 

공부/파이썬 2021. 12. 19. 17:11

20211219 - 점프투파이썬 05-5

05-5 내장함수

내용이 많아서 끊어 씁니다. abs, all, any, char, dir, divmod, eval, filter, hex, id

 

abs(x) 

x의 절대값을 돌려주는 함수

 

all(x)

x 가 반복가능한 자료형인경우 x내의 모든 내용이 참인지 검사해서 리턴해준다.

x = [1,2,3,4,5] -> true,  x = ["aa","vv",21] -> true

x = [1,2,3,0,4] -> false,  x = ["aa","bb",""] -> false

x = 10 ->에러

 

any(x)

all과 비슷하지만 모든내용중에 하나라도 true가 있다면 true 리턴

 

char(x)

x 아스키 코드값을 입력받아 코드값에 해당하는 문자를 출력한다

 

dir(x)

객체가 자체적으로 가지고 있는 변수나 함수를 보여준다.... help냐...

아마 사용자 정의 개체에 해당 함수나 변수가 있는지 유효성 체크할때 쓰면 될듯

dir([1,2,3]) 리스트에 관련된 객체함수 이름을 리스트로 리턴

dir({1,2,3}) 딕셔너리에 관련된 객체함수 이름을 리스트로 리턴...

 

divmod(a,b)

a를 b로 나눈 몫과 나머지를 튜플형태로 리턴,

아무래도 두값을 동시에 필요로 하는경우가 많은가봄

divmod( 7,3 ) -> (2,1) 

 

enumerate

순서가 있는 자료형을 입력받아 기존 자료에 순서값을 넣어서 enumerate 개채로 리턴

그러니까 for문에서 숫자 카운트해서 사용하는게 귀찮을때 쓰는구만
test = enumerate(["dd","aa", "cc"])
for ii,name2 in  test:
    print( ii, name2 )
0 dd

1 aa

2 cc 

 

eval(x)

파이썬에서 실행가능한 문자열 "1+2" "divmod(10,3)" 을 받아 실행해준다...

이거 인터프리터모드로 할때랑 파일로 할때랑 동작이 약간 다르다?

eval( 'print( divmod(10,3))' ) -> (3,1)

접근할수 있는 영역이면 변수도 사용 가능

test = ["dd","aa", "cc"]

eval('print(test)') -> ["dd","aa", "cc"]

보통입력받은 문자열가지고 할때 쓴다?

 

filter

반복가능한 자료형과 해당 자료형을 판단할 함수명을 입력받아 반복가능한 자료를 걸러준다.

말로 풀어쓰니까 복잡......

def pos_func(x) : 

    return x > 0

print( list( filter( pos_func, [10, 2, -10, 4, -6, -9. -1000, 40] ) ) ) -> [10,2,4,40]

 

pos_func 의 기준대로 0보다 큰 값만 걸러서 되돌려주는 함수가 된다.

list 같은 반복 가능한 자료형으로 바꿔주지 않으면 filter 개채값만 출력되니까 list같은걸로 변환해서 받자

 

hex(x)

정수값을 16진수로 변경해서 출력

 

id(x)

객체를 입력받아서 고유주소를 반환한다.

포인터 같은거 생각하면 되는데 이걸로 상수나 변수 찍어보면 꽤 재미있다

 

--------------------------------------------------------