Python
[1장,2장] 파이썬기초, 변수와 수식
제이지연
2022. 10. 9. 21:09
파이썬이란
파이썬의 특징
- 인터프리터 언어 : 파이썬 프로그래머는 자신이 작성한 명령문의 결과를 즉시 볼 수 있기 때문에 초보 프로그래머 한테 아주 바람직
- 라이브러리가 풍부하고 설치가 쉽다.
- 대화형모드(interactive mode) : 콘솔에서 문장을 한 줄씩 입력하여 실행
- 스크립트 모드(script mode) : 파일을 만들어서 저장한 후에 파이썬 인터프리터가 이 파일을 읽어서 한 번에 전부 실행
- 코드가 복잡해지면 인터프리트 모드는 번거롭다.
print() 함수
- 파이썬 프로그램은 여러 줄의 명령문들로 이루어진다.
- 함수(function)는 특별한 작업을 수행하는 명령어들의 모임이다.
print(문자열)
print("HelloWorld")
- 여러 개의 값들을 화면에 차례대로 출력할 수 있다.
print("결과값은", 10, "입니다.")
문자열
문자열은 큰따옴표나 작은따옴표 안에 들어있는 텍스트 데이터
터틀 그래픽
import turtle
t=turtle.Turtle()
t.shape("turtle")
t.forward(100)
t.goto(x,y)
t.left(90)
변수
파이썬에서는 변수에 값을 저장하면 변수가 자동으로 생성된다.
변수이름 = 값
x = 100
파이썬에서는 객체 형태로 메모리에 저장되고 변수에는 객체를 참조할 수 있는 값(주소)이 저장된다.

변수의 이름
- 의미있는 이름을 사용
- 소문자와 대문자는 서로 다르게 취급된다.
- 변수의 이름은 영문자와 숫자, 밑줄로 이루어진다.
- 변수의 이름 중간에 공백이 들어가면 안된다. 단어를 구분하려면 밑줄을 사용한다.
- 예약어를 변수의 이름으로 사용할 수 없다.
- 낙타체 : 변수의 첫 글자는 소문자로, 나머지 단어의 첫 글자는 대문자로 적는 방법이다.
#1. 변수는 어디에 유용할까?
터틀그래픽을 사용하여 반지름이 100픽셀인 3개의 원을 그리는 프로그램이 있다.
import turtle
t=turtle.Turtle()
t.shape("turtle")
radius = 100
t.circle(radius) #반지름이 100인 원이 그려진다.
t.fd(30) #fd == forward, 앞으로 이동하기
t.circle(radius)
t.fd(30)
t.circle(radius)
turtle.mainloop() #편집기에 따라 코드가 끝난 후 거북이 창이 바로 종료될 경우 마지막에 이 코드를 추가한다.
turtle.bye()
자료형

- 파이썬에서는 변수에 어떤 자료형도 저장가능 → 하지만 헷갈리기 때문에 바람직 하지는 않음
- type(수식) : 자료형을 알 수 있다.
변수의 참조값
- id(변수) : 객체의 참조값(주소)를 확인할 수 있다.
- y=x : 변수y에 변수x의 참조값이 복사된다.
불변 객체와 가변 객체
- 불변 객체 : 한번 만들어지면 변경할 수 없는 객체, 우리가 변수에 저장된 값을 변경하면 값을 저장하는 새로운 객체가 생성되어서 새로운 객체의 참조값이 변수에 저장된다.
- 가변객체 : 변경할 수 있는 객체
상수
변수의 이름을 대문자로 하여서 일반적인 변수와 구분한다.
INCOME = 1000
TAX_RATE = 0.35
tax = INCOME * TAX_RATE
net_income = INCOME – tax
...
산술연산
연산자
|
기호
|
사용예
|
결과값
|
덧셈
|
+
|
|
|
뺄셈
|
-
|
|
|
곱셈
|
*
|
|
|
정수 나눗셈
|
//
|
7//4
|
1
|
실수 나눗셈
|
/
|
7/4
|
1.75
|
나머지
|
%
|
|
|
할당연산
x=y=x=0
x, y, z= 10, 20, 30 #한번에 여러개의 변수 초기화
x,y = y,x #x와 y값을 서로 교환한다.
복합연산자
복합연산자는 +=처럼 대입 연산자와 다른 연산자를 합쳐 놓은 연산자이다.

지수계산
지수(power)를 계산하려면 **연산자를 사용한다.
연산자 우선순위

타입 변환
새로운타입(변수)
x=3.14
y=int(x) #y==3
반올림 round()
round(반올림 하고싶은 숫자, 자릿수)
price = 12345
tax = price * 0.075
tax = round(tax, 2)
print(tax) #925.88
문자열
컴퓨터에게는 숫자가 중요하지만 인간은 주로 문자열을 사용하여 정보를 표현하고 저장하므로 문자열의 처리도 무척 중요하다.
- 큰따옴표 사용
>>> "Hello"
'Hello'
>>> msg = "Hello"
>>> msg
'Hello'
>>> print(msg)
Hello
- 작은따옴표 사용
>>> message="철수가 "안녕"이라고 말했습니다."
SyntaxError: invalid syntax
>>> message="철수가 '안녕'이라고 말했습니다."
>>> print(message)
철수가 '안녕'이라고 말했습니다.
- 세따옴표
a = """TWINKLE"""
print(a) #TWINKLE
- 문자열의 결합
“Hello” + “World!” → “HelloWorld”
- 문자열의 반복
>>> lines = "-" * 30
>>> lines
'------------------------------'
>>> song = "뚜 루루 뚜루 " * 5
>>> song
'뚜 루루 뚜루 뚜 루루 뚜루 뚜 루루 뚜루 뚜 루루 뚜루 뚜 루루 뚜루 '
- 문자와 문자열

숫자와 문자열의 구분
문자열은 각 글자들이 메모리에 저장되고 정수는 이진수로 변환되어서 메모리에 저장된다.
>>> print(100+200 )
300
>>> print("100"+"200")
100200
특수 문자열

문자열은 객체
객체란 프로그래밍에서 관련있는 변수와 함수를 하나로 묶은 것이다. 사실 파이썬에서는 모든 것이 객체이다. 파이썬에서는 정수나 실수도 객체로 저장된다.
문자열의 함수 lower(), replace()
- .lower() : 소문자로 바꿔준다
- .replace(”A”, “B”) : A를 B로 바꿔준다.
입력 함수 input()
변수 = input(안내메시지)
x = input("안내메시지가 출력됩니다.")
#안내메시지를 출력하고 사용자가 입력한 값을 문자열 형태로 반환한다
정수입력
x=int(input("정수를 입력하시오"))
소수입력
x=float(input("소수를 입력하시오"))
변수와 문자열을 동시에 출력할때 , +
x = 100
y = 200
print(x, "와 ", y, "의 합=", x+y) #100 와 200 의 합= 300
*공백이 추가된다.
x = 100
y = 200
print(f"{x}와 {y}의 합={x+y}") #100와 200의 합=300
x = 100
y = 200
print(x+"와 "+ y+"의 합=", x+y) #100와 200의 합= 300
형식화된 출력
형식문자열 % (값1,값2,...,값n)
p=7.76
print("%10.2f" % p)