'전체'에 해당되는 글 43건
파이썬 입력 받기 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
파이썬 문자열 메서드
파이썬 문자열 문자열 메서드 파이썬에서는 문자열에 사용할 수 있는 메서드가 많이 존재합니다. 이 메서드들로 인하여 다른 프로그래밍 언어에 비하여 코드가 짧아지고 데이터를 유연하게 처리할 수 있습니다. 파이썬 3.7 버전에서 사용할 수 있는 메서드 개수를 세어보니 45개나 되는 것으로 확인되었습니다. 현업에서 파이썬으로 코드를 작성하다 보면 희한스러운 데이터들을 많이 접하게 됩니다. 그럴 때 가치 있는 데이터로 가공하기 위해서 이 문자열 메서드 들을 잘 활용해야 합니다. 그러기 위해서는 파이썬에서 어떤 문자열 메서드들을 제공하는지 메서드들을 어떻게 사용하는지 알아볼 필요가 있습니다. 본 포스트에서는 이 45개의 파이썬 문자열 메서드에 대하여 예제와 함께 알아보도록 하겠습니다. 참고로 45개의 메서드를 일일..
IT/Python | 2019. 9. 24. 18:40
파이썬 인코딩
파이썬 인코드 디코드 파이썬 인코딩 선언 파이썬은 스크립트의 맨 처음에 위치한 주석이 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
파이썬 네임스페이스와 얕은 복사 vs 깊은 복사
파이썬 얕은 복사와 깊은 복사 파이썬 관련된 문서를 보다가 수년 동안 파이썬으로 프로그램을 개발하면서 단 한 번도 문제가 되지도 않았고 의문도 갖지 않았던 복사 관련한 글을 보게 되었습니다. 문서를 보면서 다른 언어에 존재하는 개념인 call-by-value나 call-by-reference를 자연스럽게 떠올렸습니다. 하지만 관련된 다른 문서를 확인할수록 제 생각이 잘못된 생각이라는 것을 깨닫게 되었습니다. 그리고 무엇보다도 파이썬 공식문서에는 그 어느 곳에서도 call-by-value나 call-by-reference를 언급하고 있지 않습니다. 즉, 파이썬에서는 call-by-value나 call-by-referece 개념이 없습니다. 다른 분들이 작성한 포스팅 글을 확인해 보니 얕은 복사와 깊은 복사..
IT/Python | 2019. 9. 19. 16:01
파이썬 문자열 포맷
파이썬 문자열 다루기 파이썬 문자열 포맷 방식 파이썬에서 문자열 포맷을 지정하는 방식은 3가지가 있습니다. 1. % 연산자 2. format() 메서드 3. 리터럴 문자열 'f' 첫 번째 % 연산자를 사용하는 것을 오래된 사용 방식 "구 방식"이라고 칭하기도 합니다. 필자가 파이썬 구 버전에서 즐겨 사용하던 포맷 방식입니다. 문자열이 길어지면 가독성이 떨어지는 단점이 있었지만 C언어의 방식과 비슷하여 애착이 가는 방식입니다. 파이썬 공식 문서에서 % 연산자를 권장하지 않는다고 표기하고 있습니다. 두 번째 format() 메서드는 구 방식을 개선하기 위해 파이썬 3 버전에서 새롭게 선보인 포맷 방식입니다. 하지만 이 방식 또한 % 연사자와 마찬가지로 문자열이 길어지면 가독성이 현저하게 떨어집니다. 세 번째..
IT/Python | 2019. 9. 18. 12:56