본문 바로가기

Python58

[Python] /usr/bin/env: ‘python’: No such file or directory 에러 파이썬 스크립트를 작성할 때, '셔뱅(Shebang)'을 이용해 파이썬 실행환경을 지정하는 경우가 있다. 셔뱅이란 리눅스에서 실행되는 스크립트 파일의 첫 번째 줄에 '#!'로 시작하는 코드로 스크립트 파일을 해석할 이넡프리터의 경로와 옵션들을 명시할 때 사용한다. 셔뱅에 대한 내용은 다음 글을 참고하자. (글 : [Python] '#!/bin/usr/env python' - 셔뱅(Shebang)을 이용한 버전 선택) 아무튼 파이썬 스크립트를 실행하는데 실행 환경에 따라 다음과 같은 에러가 발생하는 경우가 있다. /usr/bin/env: ‘python’: No such file or directory 분명 파이썬이 설치되어 있으나 파이썬을 찾을 수 없다는 에러가 발생한다. 해결방법 우선 실행환경에 파이썬이.. 2022. 11. 4.
[Python] 사용자 입력받는 방법 - input() 예제 및 사용법 파이썬으로 작성한 프로그램에서 가끔 사용자의 입력을 받아야 할 경우가 있다. print() 함수를 이용해서 사용자의 화면에 문자열을 출력하는 것과 비슷하게 파이썬은 input() 함수를 통해 사용자로부터 뭔가를 입력받는다. input() 함수 파이썬의 input() 함수가 호출되면 사용자로부터 키보드 입력을 받게 된다. 사용자가 키보드를 눌러 이런저런 데이터를 입력하다가 엔터키를 누르면 지금까지 입력했던 내용이 문자열의 형태로 리턴된다. 파이썬 코드에서는 input() 함수가 리턴한 문자열 데이터를 이용해서 원하는 동작을 하면 된다. 예를 들어보자. data = input() print('입력 값 : ' + data) data = input() print('입력 값 : ' + data) # test # .. 2022. 11. 4.
[Python] 함수 정의하는 방법(def 키워드) 설명 및 예제 파이썬에서 재사용할 수 있는 로직을 함수(function)로 정의해서 재사용 할 수 있다. 함수란 입력 값을 가지고 어떤 로직을 수행한 다음 결과물을 리턴해주는 코드 블럭이다. 예를 들어 어떤 숫자를 입력 받아서 짝수인지 판단해주는 로직을 생각해보자. num = 1 if num % 2 == 0: is_even = True else: is_even = False 어떤 숫자 num이 짝수인지 판단하기 위해 2로 나눈 나머지를 확인한다. 프로그램을 작성하면서 홀짝을 판단해야하는 코드 여기저기에 이 로직이 들어갈 수 있다. 효율적인 코드는 아니지만 예를 들어보면 짝수와 홀수를 판단하는 코드가 다음처럼 반복될 수 있다. num = 1 if num % 2 == 0: is_even = True else: is_eve.. 2022. 11. 4.
[Python] 집합 (set) 자료형 사용법 및 예제 파이썬 2.3부터 '집합(set)' 자료형이 지원되기 시작했다. set은 집합과 관련된 연산들을 쉽게 처리하기 위해 제공하는 자료형이다. 특히 파이썬 프로그램에서 중복된 값을 제거하기 위해서 많이 사용한다. 집합에 포함되는 엘리먼트는 순서가 없다. 따라서 집합에 추가되는 순서는 보존되지 않는다. 또 한, 동일한 값의 엘리먼트는 집합 내에 단 하나만 존재할 수 있다. 같은 값을 갖는 여러개의 엘리먼트를 집합에 추가하더라도 하나의 값만 남아있게 된다. 집합(set) 생성 파이썬에서 집합은 set() 함수를 호출하거나 중괄호를 이용해 생성할 수 있다. fruits = {'apple', 'banana', 'pear', 'strawberry', 'cherry'} print(type(fruits)) vehicle .. 2022. 11. 3.
[Python] 딕셔너리(dict) 자료형 사용법 및 예제 파이썬은 '딕셔너리(Dictionary)'라고 하는 자료형을 제공한다. 다른 언어에서는 '해시(Hash)', '연관배열(Associative Array)' 혹은 '맵(Map)' 등으로 불리는 자료형이다. 이 자료형은 Key 값과 그 Key 값에 특정 Value를 대응시킨다. 특정 Key에 Value를 대응시켜 놓으면, 나중에 Key 값으로 Value를 바로 찾아올 수 있다. 예를 들어 다음과 같은 Key - Value 쌍이 딕셔너리에 저장되어 있다고하자. "빨강" - "Red" "노랑" - "Yellow" "초록" - "Green" "파랑" - "Blue" 빨강, 노랑, 초록, 파랑은 Key 값이며 각각 Red, Yellow, Green, Blue에 대응 되어 있다. 딕셔너리에 "초록"을 넘기면 "Gre.. 2022. 11. 2.
[Python] 튜플(tuple) 자료형 사용법 및 예제 파이썬의 튜플은 여러 데이터를 묶어서 같이 처리할 수 있게 해주는 자료형 중 하나다. 위키백과에서 설명하는 튜플은 "셀 수 있는 수랴의 순서 있는 열거"다. 튜플은 리스트와 거의 유사하게 사용할 수 있다. 하지만 몇 가지 차이점이 있다. 튜플은 리스트와 비교해 다음과 같은 차이점을 갖는다. 튜플을 생성하기 위해서는 대괄호'[', ']'가 아닌 소괄호 '(', ')'를 사용한다 튜플은 생성한 이후 값을 바꿀 수 없다. 리스트와 튜플은 비슷한 역할을 한다. 여러 값들을 하나의 덩어리로 가지고 다니면서 다루고, 각 엘리먼트들에는 순서가 있기 때문에 얼핏 같은 용도로 사용할 수 있다. 하지만 리스트와 튜플은 분명한 차이점이 있고, 이를 구별해서 알맞은 곳에 쓰는 것이 좋다. 리스트는 항목의 값들이 변경될 수 있.. 2022. 10. 31.
[Python] 리스트(list) 자료형 사용법 및 예제 리스트는 일련의 데이터를 묶어서 같이 처리할 수 있게 해주는 자료형 중 하나다. 관련있는 데이터들을 하나의 리스트에 담아서 함께 처리하는 코드는 파이썬에서 굉장히 흔하게 사용된다. 이번 포스트에서는 리스트에 대한 설명과 리스트에 담긴 데이터를 다루는 방법에 대해서 설명하고 예제를 통해 활용해보겠다. 리스트(list) 생성 파이썬에서 리스트 객체는 두 가지 방법으로 생성할 수 있다. fruits = ['apple', 'banana', 'pear', 'strawberry', 'cherry'] empty_list = [] 우선 첫 번째로 대괄호로 하나의 리스트에 담을 데이터를 모아서 선언하는 방법이 있다. 위 코드를 보면 apple, banana, pear, strawberry, cherry를 엘리먼트로 갖는.. 2022. 10. 30.
[Python] 숫자 올림, 내림 그리고 반올림 방법 숫자 데이터를 사용하다보면 특정 자리수를 기준으로 나머지 자리수를 올림, 버림, 반올림해야하는 경우가 많다. 파이썬에서도 이런 연산들을 위한 함수들이 제공되고 있다. 숫자 올림 숫자의 올림은 구하려는 자리 미만의 수를 올려서 처리하는 방법이다. 예를 들어 1.2라는 숫자의 소수점 자리수를 올림하면 2가 된다. 0.2라는 숫자를 올림처리해서 1을 더해 2가 되는 것이다. 만약 2라는 숫자를 올림처리하면 여전히 2가 된다. 나머지 숫자가 없기 때문이다. 파이썬에서는 math 모듈에 있는 ceil() 함수를 통해 숫자를 올림처리할 수 있다. 예를 들어보자. import math print(math.ceil(3.3)) print(math.ceil(10.23)) print(math.ceil(-1.23)) prin.. 2022. 10. 29.
[Python] 파이썬 랜덤(Random) 숫자 생성, 난수 생성 방법 - Random 모듈 프로그램을 작성하다보면 난수, 즉 랜덤 숫자를 생성해야 할 경우가 많다. 랜덤 숫자는 주사위 던지기를 생각해보면 편하다. 주사위를 던져서 숫자가 나오기 전까지 어떤 숫자가 나올지 모른다. 1부터 6까지 숫자가 동일한 확률로 등장하게 된다. 이처럼 랜덤 숫자 역시 다음에 어떤 숫자가 나올지 정해져 있지 않고, 주사위를 던지는 것처럼 랜덤 숫자 생성 함수를 실행해봐야 어떤 숫자가 나올지 알게 된다. 랜덤 숫자를 이용하면 로또 숫자를 뽑는 프로그램이나 제비뽑기 같이 확률상 동등한 선택지 중에 하나를 뽑는 프로그램을 작성할 수 있다. random 모듈 파이썬은 뭔가 랜덤한 어떤 동작을 필요로 하는 경우를 위해서 random 모듈을 제공한다. 랜덤 숫자를 생성하거나 리스트를 랜덤하게 섞는 등의 동작이 random.. 2022. 10. 28.