'파이썬'에 해당되는 글 23건
파이썬 GIL (Global Interpreter Lock)
Global Interpreter Lock (GIL) 악명 높은 GIL? 파이썬 버전 2 시절에 병렬 처리를 위해 이런저런 문서들을 많이 보았습니다. 수년이 흐른 지금 파이썬 재단에서 이 GIL을 어떻게 처리했을까? 궁금하여 관련 정보를 찾아보니 아직도 현재 진행형이었습니다. 그리고 신기하게도 GIL을 설명할 때 같이 보이는 단어가 있었는데 그것은 바로 "악명 높은"이라는 수식어입니다. 그렇다면 이 악명 높은 GIL이 과연 무엇일까요? 일단 GIL을 뜻하는 "Global Interpreter Lock"을 직역하자면 "글로벌 인터프리터 잠금" 정도로 해석될 것 같습니다. 의미를 뜻 그대로 생각해 본다면 전반적으로 인터프리터가 락을 건다??라는 의미일까요? 파이썬 용어를 알아보는데 가장 좋은 방법은 바로 공..
IT/Python | 2020. 12. 14. 02:14
파이썬 함수 정의 - 사용자 함수 만들기
파이썬 함수 파이썬 사용자 함수 프로그래밍에서 함수란 코드 작성 시 반복적인 코드의 사용을 방지하고 좀 더 효율적인 구조로 작성하기 위해 사용됩니다. 다른 언어에서 함수를 정의하기 위해서 함수 특성까지 고려해야 하지만 파이썬은 전혀 그럴 필요가 없습니다. 그냥 파이썬은 사용자 함수를 만들기 위해서 단 하나의 키워드 def 만 사용하면 됩니다. 파이썬 사용자 함수 기본 형태 함수의 기본 형태로 아무런 인자도 없이 함수만 생성하여 함수를 호출하고 있습니다. print구문에 인사 메시지를 반복적으로 사용하는 형태라면 유용하게 사용할 수 있습니다. 뭐 그럴 경우는 거의 없지만 말이죠. def user_func(): print("Hi~! CaptainBIN.") user_func() #결과 Hi~! Captain..
IT/Python | 2020. 12. 7. 17:35
파이썬 예외처리 try
파이썬 예외처리 파이썬 try 구문 파이썬은 오류를 처리하기 위해 try구문을 사용합니다. try 구문은 필수적으로 try와 except 구문을 사용해야 합니다. 이외에 선택적인 구문으로 else와 finally 구문이 있습니다. 파이썬의 전체 try 구문은 다음과 같습니다. try: # 오류가 발생할 가능성이 있는 코드 except: # 오류 발생시 수행할 코드 else: # 오류가 발생하지 않았을 때 수행할 코드 finally: # 오류 발생에 상관없이 수행하는 코드 또한 이 try 구문과 짝을 이루는 예약어가 있습니다. 바로 raise 예약어입니다. raise는 의도적으로 예외를 발생시킬 수 있습니다. 예외처리 try except 가장 발생시키기 쉬운 1 / 0 오류 연산을 발생시켜 보겠습니다. >..
IT/Python | 2019. 9. 27. 12:13
파이썬 입력 받기 input, getpass
파이썬 입력 파이썬 입력 받는 함수 input() vs raw_input() raw_input()은 파이썬 2에만 존재하는 함수입니다. 또한 input() 함수도 함께 제공하고 있습니다. 파이썬 3 에서는 더 이상 raw_input() 함수를 제공하지 않습니다. 파이썬 3에서는 input() 함수만 사용하시면 됩니다. 그렇다면 왜 파이썬 2 에서는 input() 함수와 raw_input() 함수 두 가지로 분리하였을 까요? raw_input은 입력값 그 자체를 문자열로 인식하는 함수로 사용되고 input은 입력 값을 확인하여 그 결과를 반영한 값을 반환해 준다는 차이점이 있습니다. 예를 들어 설명하자면 파이썬에서 키보드로 입력받은 값이 '2 + 3' 일 때 파이썬 2의 input()에서는 입력 값을 연산..
IT/Python | 2019. 9. 26. 15:53
파이썬 Up Down 게임
파이썬 업 다운 게임 파이썬 코드로 숫자 맞추기 게임인 업 다운 게임을 만들어 봤습니다. 화려한 그래픽이 왔다 갔다 하는 게임은 아니지만 콘솔 화면에서 간단히 즐길 수 있는 숫자 알아맞히기 게임 업 다운 게임입니다. 혹시 업 다운 게임을 모르시나요? 모르시는 분들을 위해 간단히 게임 소개를 하겠습니다. 업 다운 게임에는 술래가 있어야 합니다. 술래는 정해진 숫자 범위 내에서 임의의 숫자를 적거나 주위에서 숫자가 표시되어 있는 사물 (예를 들어 소주 뚜껑 같은 경우;;;)에서 숫자를 술래만 확인하고 다른 사람들에게는 보여주지 않습니다. 이제 다른 사람들이 숫자를 부를 때마다 술래는 임의의 숫자 기준으로 값이 크면 "다운" 값이 작으면 "업"이라고 알려 주면 됩니다. 때에 따라서는 불려지는 숫자가 이미 다른..
IT/Python | 2019. 9. 25. 01:35
파이썬 인코딩
파이썬 인코드 디코드 파이썬 인코딩 선언 파이썬은 스크립트의 맨 처음에 위치한 주석이 coding [=:]\s*([-\w.]+)의 정규 표현식에 일치하면 그 주석은 인코딩 선언으로 인식합니다. 파이썬에서 인코딩 선언이 없으면 파이썬 최신 버전의 경우 기본적으로 utf-8로 인식을 합니다. 하지만 파이썬 구 버전의 경우 시스템 locale설정을 따라가므로 구 버전의 경우에는 반드시 통일화된 인코딩 선언을 해주어야 합니다. utf-8의 파이썬 인코딩 선언 방법입니다. 이 선언은 주석을 포함한 어떠한 코드도 없어야 합니다. 마치 쉘 스크립트의 쉬뱅과 비슷합니다. 참고로 쉬뱅 코드 밑에 인코딩 선언을 해도 제대로 인식하는 것을 확인하였습니다. #!/usr/local/bin/python3 #-*- coding:u..
IT/Python | 2019. 9. 24. 13:45
파이썬 리스트와 리스트 컴프리헨션
파이썬 리스트 메서드와 리스트 컴프리헨션 파이썬 리스트 메서드 append 리스트 자료형의 끝에 항목을 추가합니다. blog 리스트 자료형의 객체가 있을 때 blog [len(blog) : ] = [항목 값]와 같은 기능을 수행합니다. >>> blog =[] >>> blog.append("Captain") >>> blog ['Captain'] >>> blog.append("BIN") >>> blog ['Captain', 'BIN'] >>> blog[len(blog):]=["Captin BIN"] >>> blog ['Captain', 'BIN', 'Captin BIN'] clear 리스트의 모든 항목을 삭제합니다. blog 리스트 자료형의 객체가 있을 때 del blog [:]와 같은 기능을 수행합니다. ..
IT/Python | 2019. 9. 23. 19:30