'python'에 해당되는 글 22건
파이썬 함수 정의 - 사용자 함수 만들기
파이썬 함수 파이썬 사용자 함수 프로그래밍에서 함수란 코드 작성 시 반복적인 코드의 사용을 방지하고 좀 더 효율적인 구조로 작성하기 위해 사용됩니다. 다른 언어에서 함수를 정의하기 위해서 함수 특성까지 고려해야 하지만 파이썬은 전혀 그럴 필요가 없습니다. 그냥 파이썬은 사용자 함수를 만들기 위해서 단 하나의 키워드 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
파이썬 네임스페이스와 얕은 복사 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