본문 바로가기

프로그래밍/Python6

[Python] print()와 함께 자주 쓰는 join(), sep='', end='' / spread operator(*) list 등을 출력할 때 join()과 sep, end를 꽤 쓰게 되어 헷갈리지 않으려고 정리해 보았다. join() '문자열'.join(list) 문자열만 join()으로 합칠 수 있다. list의 요소를 한 줄에 하나씩 출력하고 싶다면? sep='\n'를 쓰면 된다. (seperator) 다만 list를 넘길 때에는 spread operator인 *를 붙여줘야 한다. (JavaScript, Dart 등의 ... operator) s_list = ['a', 'b', 'c'] print(*s_list, sep='\n') # * 붙여주기 *를 list 변수명 앞에 붙이지 않으면 그냥 원래대로 list가 출력된다. python의 print는 기본적으로 출력하는 값 끝에 개행 문자가 붙기 때문에, 값을 여러 .. 2022. 2. 6.
[Python] 입력값을 받는 방법들 - input(), sys.stdin.readline() 자주 쓰지만 아직 헷갈리는 입력값 받는 방법들을 정리해 보았다. Python에서 입력을 받는 방법은 input() 함수와 sys 모듈을 import해 사용하는 방법(sys.stdin.readline())이 있다. input()은 입력받은 값에 개행 문자가 없이 반환되고, prompt message를 파라미터로 받아서 사용할 수 있다. 반면 sys.stdin.readline()은 개행 문자가 입력 끝에 포함돼 있고, prompt message를 파라미터로 받아 사용할 수 없다. 아래 캡처 화면을 보면 sys.stdin.readline()으로 받은 input_v는 출력 시 개행 문자가 있어 한 줄이 띄어져 있고 input()으로 받은 input_v_2는 개행 문자가 없는 걸 확인할 수 있다. 그래서 프로그램.. 2022. 2. 6.
[Python] 객체지향프로그래밍(OOP, Object Oriented Programming)_class, instance, method 객체지향 프로그래밍(OOP, Object Oriented Programming) : 객체를 중심으로 하는 프로그래밍 그렇다면 객체는 무엇인가? 객체의 중요한 개념 두 가지: Class, Instance 클래스(Class)는 함수(logic)와 변수(data)를 담고 있는 그릇 인스턴스(Instance)는 클래스를 복제한 것. 클래스를 복제했기 때문에 인스턴스도 함수와 변수를 가지고 있지만, 인스턴스마다 다른 변수를 가짐 - class 안에 있는 함수를 method(메소드)라고 한다. Python의 메소드는 첫번째 매개변수를 반드시 정의해야 하는데, 이 첫번째 매개변수는 인스턴스 자기 자신이다. def __init__(self, first, second): 위의 코드처럼 첫번째 매개변수에 자기 자신(sel.. 2020. 4. 24.
[Python] 숫자 맞추기 게임(업다운 게임)_while문, try/except(예외처리) - 랜덤으로 설정한 숫자를 사용자가 추측하여 맞추는 게임. 추측한 숫자를 입력하면 정답(랜덤으로 설정된 숫자)보다 큰지 작은지 알려주는 게임을 만들어 보자. 필요한 기능 1. 컴퓨터가 범위 내에서 랜덤으로 숫자를 고른다. 2. 사용자의 입력을 받는다. 3. 정해진 횟수 내에서(예. 10회) 사용자의 입력과 컴퓨터가 고른 수를 비교한다. 4. 맞춘 경우, 사용자의 입력 시도 횟수와 함께 정답임을 알려준다. 5. 틀린 경우, 정답보다 숫자가 큰지 작은지 알려준다. 6. 정해진 횟수를 초과하면 정답을 공개한다. 코드에 오류가 있어 수정했습니다.(22.3.13) 1. 컴퓨터가 범위 내에서 랜덤으로 숫자를 고른다. import random# 난수 발생시키는 모듈 random number = random.randi.. 2020. 4. 22.
[Python 프로그래밍] 1. 개요/2. 연산자/3. 제어문, 함수, 자료구조 1-1. Python 개요 - Python 특징 1991년 귀도 반 로섬(Guido Van Rossum) 발표 플랫폼 독립적 인터프리터 언어 객체 지향 동적 타이핑 언어 AI 프로그래밍을 위한 많은 라이브러리 제공 처음 C언어로 구현되었음 - 일반적인 프로그램 구조(모듈화) 모듈화: 복잡한 문제들을 단위별로 묶어서 자동화/일반화하는 것의 기초가 되는 개념 모듈: 큰 문제를 기능별 작은 단위로 나눈 것 독립적으로 수행할 수 있는 프로그램 단위 - C 언어에서 함수 = 모듈 - Python은 여러 개의 프로그래밍 스타일을 포괄 절차 지향 프로그래밍: 처리해야 할 문제의 해결 과정을 큰 문제를 독립적인 기능별로 나눠서 일련의 순서에 따라서 처리 절차 지향 프로그래밍은 함수가 필수적으로 사용됨 객체 지향 프로그.. 2020. 4. 9.