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)