Python : 프로그래밍 입문
Pyhton의 변수명 사용 규칙
변수란?
# 값을 기억하는 기억장소
# 필요에 따라 접근(Access) 하여 읽고(Read) / 쓰기(Write) 할 수 있다.)
a = 3 # a가 변수명, 3이 값
b = a + 1 # b가 변수명, a(==3) + 1 = 4가 값
변수명 사용 규칙
- 변수명은 영문자, 숫자, 밑줄기호(_)의 조합만을 사용.
- 첫 글자는 반드시 영문자(소문자) 또는 밑줄 기호로 시작.
- Case Sensitive (대/소문자의 구분)
- Chae, cHae, CHAE 셋 모두 다른 변수명이다.
- 키워드(예약어)는 사용하지 않는다.
(예약어: 프로그램에서 이미 내부 기능 구현을 위해 사용하고 있는 단어)
False, None, True, and, as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield, ...
파이썬(Python)은 다른 언어와 다르게 변수의 원시타입 (데이터 타입 - 자료형: int, double, char..)을 지정하지 않아도 된다.
파이썬에서는 모든 것을 객체(Object)로 취급하기 때문이다.
사실상 C의 포인터 연산이 모든 곳에서 행해지고 있는 것과 같다.
(a = 10 을 하게 되면 변수 a에 10을 할당한 것이 아닌 a가 10이 저장된 상수 객체를 가리키도록 하는 것이다.)
할당 연산자 (Assignment Operator) : =
- 값을 변수에 저장하는 연산자
- 형식
# 변수 = 값 # 변수1 = 변수2 >>> a = 3 # a 라는 변수에 정수 (integer)3 저장 >>> a 3
- 변수에는 정수 외에도 다양한 “타입” (실수, 문자열 등) 의 값을 할당 할 수 있다.
>>> a = 3.1 # 실수를 변수 a에 저장 >>> a 3.1 >>> a = 'string' # 문자열을 변수 a에 저장. >>> a 'string'
- 변수 간의 할당도 가능.
>>> a = 10 # 변수 a에 정수 10 할당. >>> b = a # 변수 b에 변수 a의 값을 할당 >>> a 10 >>> b 10
- 수식 계산의 결과를 할당
>>> a = (1+3)*4-5 >>> a 11
- 변수 간의 할당된 값 교환
>>> a = 1 >>> b = 2 >>> a,b = b,a #(a,b) = (b,a) 에서 괄호 생략 >>> a 2 >>> b 1
```
표준 입출력 (Standard Input/Output)
출력 함수: print()
- 출력: 값을 주어진 곳으로 내보내는 기능.
- print(): 매개변수(Parameter) 를 표준 출력하는 함수
함수(Function) / 모듈(Module): 특정 기능을 수행하는 부분
- 매개변수에 값이 입력되면 해당 값을 화면에 출력
- 매개변수에 변수가 입력되면 변수의 값을 화면에 출력
>>> print(3) 3 >>> print('a = ') a = >>> print(a) 3 >>> print('a =', a) a = 3
- 여러 개의 변수 값도 한꺼번에 출력 가능
>>> a = 1 >>> b = 2 >>> c = 3 >>> print(a,b,c) 1 2 3
- TIP: Python 프롬프트에서 print() 함수를 사용하지 않고 쉽게 특정 변수의 값을 확인할 수 있다.
>>> a = 1 >>> a 1 >>> print(a) 1 >>> a, b, c (1, 2, 3)
입력함수: input()
- 입력: 사용자로부터 특정 데이터를 받는 기능
- input(): 데이터를 표준입력 받는 함수
- 입력받은 데이터는
문자열 (String)로 변수에 저장
됨>>> a = input() 3 >>> a '3' >>> b = input() 3.7 >>> b '3.7' >>> c = input() 채승민 >>> c '채승민'
- 설명 출력 후 데이터를 입력 받고 싶을 때
>>> a = input('학년: ') 학년: 4 >>> b = input('학점: ') 학점: 4.5 >>> c = input('이름: ') 이름: 채승민 >>> a '4' >>> b '4.5' >>> c '채승민'
자료형(Type) 및 변환
Python에서의 자료형 (Type)
- 정수(integer): -1, -2, 1, 50, …
- “int” 자료형으로 표현
- 실수 (floating-point number): 2.5, 3.14, …
- “float” 자료형으로 표현
- 논리 (Boolean): True, False
- “bool” 자료형으로 표현
- 문자열 (String): ‘채승민’, ‘CarefreeLife’, …
- “str” 자료형으로 표현
- 큰따옴표 (“ ”) 혹은 작은따옴표 (‘ ’)를 양쪽 끝에 붙여서 표현
자료형의 확인
- type 키워드를 통해 변수 및 값의 자료형 확인 가능
>>> a = 1
>>> type(a)
<class ‘int’>
>>> a = 1.0
>>> type(a)
<class ‘float’>
>>> a = True
>>> type(a)
<class ‘bool’>
>>> a = '1'
>>> type(a)
<class ‘str’>
자료형의 변환: int(), float(), str()
- 자료형을 변환해주는 함수: int(), float(), str()
- 문자열에서 정수로 변환 : int()
- 문자열에서 정수로 변환 : float()
- 정수 / 실수 를 문자열로 변환 : str()
>>> a = input('a = ')
a = 30
>>> a
‘30’
>>> type(a)
<class 'str'>
>>> int(a)
30
>>> type(int(a))
<class 'int'>
주의: 자료형 변환 오류
- 변환 표현이 가능한 입력만 가능. 위반 시 오류 발생
- 예: int() 함수에 정수 외 다른 수, 문자 입력 시
PyDev console: starting. Python 3.9.6 (default, Oct 18 2022, 12:41:40) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin a = int(input('a = ')) a = 1.1 Traceback (most recent call last): File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevconsole.py", line 364, in runcode coro = func() File "<input>", line 1, in <module> ValueError: invalid literal for int() with base 10: '1.1'
- 예외: int와 float 간의 변환은 아래와 같이 자동 변환이 지원된다.
``
관계 연산자 및 분기문 (Branch)
1. 크기 비교 연산자
- 이항 연산자: 두 피연산자 (Operand) 간 계산을 수행하는 연산자.
- 관계 연산자: 두 피연산자 간의 관계를 나타내는 연산자
- 논리 값 반환: 참일 경우 Ture 거짓일 경우 False
- (>) (크다), < (작다), >= (크거나 같다), <= (작거나 같다), (==) 같다
>>> 5 > 3 True >>> 5 > 5 False >>> 5 > 6 False
2. 논리 연산자
- 논리 자료형(Boolean)을 가진 두 피연산자 간 계산을 수행하는 연산자.
- and, or
#and >>> True and True True >>> True and False False >>> False and True False >>> False and False False #or >>> True or True True >>> True or False True >>> False or True True >>> False or False False
분기문 (Branch)
- 특정 조건의 만족/불만족 에 따라 프로그램의 실행을 분기하는 문법
- if-(elif-else) 분기 문법을 이용하여 표현한다.
#조건문 사용 예제 t = int(input('기온: ')) if t > 30 : print('운동을 하지 못한다.') else: print('운동을 간다.') #실행결과 >>> 기온: 32 운동을 하지 못한다. >>> 기온: 27 운동을 간다.
# 여러 개의 조건문 사용 예제 t = int(input('기온 : ')) if t > 30: print('날씨가 덥다.') elif t > 20: print('날씨가 따뜻하다.') elif t > 10: print('날씨가 시원하다.') else: print('날씨가 춥다.') #실행 결과 >>> 기온 : 35 날씨가 덥다. >>> 기온 : 24 날씨가 따뜻하다. >>> 기온 : 17 날씨가 시원하다. >>> 기온 : -10 날씨가 춥다.
t = int(input('기온 : ')) if t > 30: print('날씨가 덥다.') if t > 20: print('날씨가 따뜻하다.') if t > 10: print('날씨가 시원하다.') else: print('날씨가 춥다.') #실행 결과 >>> 기온 : 35 날씨가 덥다. 날씨가 따뜻하다. #모든 조건이 만족하므로 만족하는 모든 조건문이 전부 실행된다. 날씨가 시원하다. #모든 조건이 만족하므로 만족하는 모든 조건문이 전부 실행된다.
논리 연산자를 통한 조건 결합
- If 문법 내 조건식은 복수 조건을 논리연산자로 결합하여 표현 가능
t = int(input('기온 : ')) h = int(input('습도 : ')) If t > 30 and h > 70: # and 논리 연산자를 사용한 복수 조건의 결합 print('찜통더위') else print('날씨가 덥지 않거나 습하지 않다')
분기 후 여러 동작의 실행
- if문을 사용할 때 여러 동작의 수행이 필요할 경우, 각 명령어 줄 (line)을 들여쓰기를 통해 작성해야 함
들여쓰기
순서도(Flow Chart)란?
- 미리 정의된 기호 및 연결선을 사용하여 프로그램의 논리적인 흐름을 그림으로 표현한 것.
- 문제를 해결하는 과정을 설명하는 도구로도 쓰인다.
순서도의 모습
순서도의 작성 예시
실습
1.자신의 학과와 이름을 입력으로 받아, 다음과 같은 형태로 출력하는 프로그램을 작성
>> 학과: 컴퓨터 공학부 이름: 채승민 저는 컴퓨터 공학부에 재학중인 채승민 입니다. >>
1. 소스 코드 (클릭)
1. 소스 코드
1. 실행 결과
2.마일을 입력으로 받아 킬로미터로 변환 후 출력하는 프로그램을 작성
- 1 킬로미터 = 1마일 * 1.609344
>> 마일: 1 킬로미터: 1.609344 >> 마일: 20 킬로미터: 32.18688 >> 마일: 60 킬로미터: 96.56064 >>
2. 소스 코드 (클릭)
2. 소스 코드 및 실행 결과
3.자신의 학과와 이름을 입력으로 받아, 다음과 같은 형태로 출력하는 프로그램을 작성
>> 정수 a, b, c 입력 a= 3 b =2 c =1 정렬 전 : 3 2 1 정렬 후 : 1 2 3 >> 정수 a, b, c 입력 a= 2 b =1 c =3 정렬 전 : 2 1 3 정렬 후 : 1 2 3 >>
3. 소스 코드 (클릭)
3. 소스 코드 및 실행 결과
최대한의 설명을 코드 블럭 내의 주석으로 달아 놓았습니다.
혹시 이해가 안가거나 추가적인 설명이 필요한 부분, 오류 등의 피드백은 언제든지 환영합니다!
긴 글 읽어주셔서 감사합니다. 포스팅을 마칩니다.
Task Lists
- Pyhton의 변수명 사용 규칙
- 할당 연산자 (Assignment Operator)
- 표준 입출력 (Standard Input/Output)
- 자료형(Type) 및 변환
- 관계 연산자 및 분기문 (Branch)
- 논리 연산자를 통한 조건 결합
- 순서도(Flow Chart)란?
- 실습 1, 2, 3
Comments