목표
1. 변수가 무엇인지 그리고 변수를 어떻게 사용되는 알아보겠습니다.
2. 제어문이 무엇인지 그리고 제어문 어떻게 사용되는 알아보겠습니다.
3. 변수가 제어문에서 어떻게 사용하는지를 알아보겠습니다.
강의영상
변수
1. 정의
- 변수는 상자와 같습니다.
* 비유 설명
- 우리는 물건을 따로 보관하고 싶을 때 상자를 구입해서 물건을 보관합니다.
program은 자료를 따로 보관하고 싶을 때 변수를 선언해서 자료을 보관합니다.
- python은 변수도 객체 입니다.
2. 선언
1) program에서 선언이란?
- program에게 사용할 수 있는 변수가 있다는 것을 알려주는 것입니다.
2) 선언 방법
변수명 = 값
2. 명칭 방식
1) 변수명 규칙
- 영문 문자와 숫자를 사용할 수 있습니다.
- 대소문자를 구분합니다.
- 문자부터 시작해야 하며 숫자부터 시작하면 안 됩니다.
- _(밑줄 문자)로 시작할 수 있습니다.
- 특수 문자(+, -, *, /, $, @, &, % 등)는 사용할 수 없습니다.
2) 사용할 수 없는 변수 명
- 다음 키워드는 python에서 예약 되어 있는 문자이기 때문에 사용 할 수 없습니다.
3. 사용법
1) 기본 사용법
- python에서는 변수에 다양한 자료(data)를 할당(대입)할 수 있습니다.
- 아래 code를 https://godbolt.org/ 에서 실행해보세요.
- type() 함수는 변수의 자료형을 알려 줍니다.
#var는 variable의 약어
#None type
none_var = None
print(none_var)
print(type(none_var))
#int type
int_var = 1
print(int_var)
print(type(int_var))
#float type
float_var = 1.1
print(float_var)
print(type(float_var))
#str type
string_var = "string"
print(string_var)
print(type(string_var))
#bool type
bool_var = True
print(bool_var)
print(type(bool_var))
#complex
complex_var = 2j
print(complex_var)
print(type(complex_var))
4. 자료의 종류
* 자료형 확인 방법
- type() 함수를 사용합니다.
1) 단일 자료형
- NoneType
- 변수가 비어 있음을 나타내기 위해서 사용합니다.
- 처음에 값을 정하고 싶지 않을 때 사용 합니다.
- int
- 정수를 의미합니다.
- 산술 연산자 사용이 가능합니다.
- float
- 실수를 의미합니다.
- 산술 연산자 사용이 가능합니다.
- str
- 문자열을 의미합니다.
- " " 와 ' ' 로 감싸서 사용합니다.
- bool
- True, False를 의미합니다.
- complex
- 복소수를 의미합니다.
2) 자료들이 집합을 이루는 자료형
- list
- 수정 가능한 자료들의 나열을 의미합니다.
Ex) ['seoul', 'suwon', 'inchen']
- tuple
- 수정 불가능한 자료들의 나열을 의미합니다.
Ex) ('seoul', 'suwon', 'inchen')
- dict
- key : value 형식으로 이루어진 자료들의 나열을 의미합니다.
Ex) {'green':'go', 'yellow': 'go faster' , 'red' : 'stop'}
- set()
- 집합 자료형으로써 자료들의 집합을 쉽게 만들기 위한 자료형입니다.
Ex) s1 = set([1,2,3])
3) 특수한 자료형
- function
- 함수를 의미합니다.
* 변수 할당 응용 사용법
- 산술 연산이 가능한 int, float 형 자료는 할당 연산자를 사용하여 다 향하게 변수에 값을 할당할 수 있습니다.
5. 자료형 변환 하기
1) str -> int
#str -> int
num_str = "1000"
num_int = int(num_str)
print(num_int)
print(type(num_int))
2) int > str
#int -> str
num_int = 1000
num_str = str(num_int)
print(num_str)
print(type(num_str))
6. 변수의 유효 범위(variable scope)
1) 변수의 scope란?
- 선언된 변수를 사용할 수 있는 범위를 말합니다.
program에서는 아무 곳에서나 변수를 선언했다고 해서 다 사용할 수 있는 것은 아닙니다.
2) scope에 따른 변수 구분
(1) global 변수
- 함수 밖에 선언된 변수
(2) local 변수
- 함수 안에 선언된 변수
3) 변수의 scope 따른 접근 범위
(1) 핵심
- 함수 내부에서 선언된 Local 변수는 선언 이후부터 함수 내부에서만 접근만 가능하다.
- Global 변수는 선언 이후부터는 program 어디에서나 접근 가능하다.
(2) 실제 동작 방식
- python 변수의 scope rule은 LEGB 룰이라고 불리기도 합니다.
- program은 Local -> Enclosed -> Global -> Built-in 순으로 변수를 찾습니다.
변수 scope | 설명 |
local | 가장 가까운 함수안 범위 입니다. |
Enclosed | 파이썬은 함수 안에 함수가 정의 될수 있는데, 가장 가까운 함수가 아닌 두번째 이상의 함수 가까운 함수범위입니다. |
Global | 함수 바깥의 변수 또는 import된 module |
Built-in | 파이썬안에 내장되어 있는 함수 또는 속성들입니다. |
4) 실 생활에서의 예제
5) program에서의 실제 사용 범위 (Local, Global)
제어문
1. 제어문 정의
- program의 동작의 흐름을 제어합니다.
- 즉, 제어문을 통해서 우리가 원하는 방향으로 program이 동작하게 만들 수 있습니다.
2. 제어문 종류별 용도
1) if else 문
- 조건이 true이면 if 문의 code를 실행 아니면 else문의 code를 실행하게 하는 용도입니다.
2) for in 문
- 특정 code 들을 원하는 횟수 동안 반복 실행하고 싶을 때 사용합니다.
- break 문을 통해서 언제든지 반복을 멈출 수 나올 수 있습니다.
3) while 문
- 특정 code를 원하는 조건이 나올 때까지 반복 실행하고 싶을 때 사용합니다.
- break 문을 통해서 언제든지 반복을 멈출 수 나올 수 있습니다.
* 상식 (compile 언어에는 존재,)
- switch문 (python에는 존재하지 않음)
- 숫자에 따라 다른 code를 수행하고 싶을 때 if문보다 좀 더 깔끔하게 사용할 수 있습니다.
3. 반복문을 제어하는 문
1) continue 문
정의 : 제어 흐름을 유지합니다.
용도 : 코드 실행을 건너뛸 때 사용합니다.
2) break 문
정의 : 제어 흐름을 멈춥니다.
용도 : 반복 문을 종료할 때 사용합니다.
4. 사용법
1) if { elif else } 문
(1) 문법
if (조건): // 필수 입니다.
code.....
elif (조건): // 옵션 입니다.
code.....
else: // 옵션 입니다.
code.....
(2) 조건에 들어갈 수 있는 연산자 종류 (일단 비교 연산자만 알면 됩니다, 가장 많이 씁니다. 90% 정도)
- 비교 연산자, 비트 연산자, 논리 연산자
(2) 사용 방법
status = "run"
if (status == "run"):
print ("run")
2) for in 문
(1) 문법
for 변수 in iterable 한 자료:
code....
(2) 사용 방법
- for in 문은 range() 함수 또는 iterable(반복 가능한) 자료 형 들과 함께 사용합니다.
- iterable 한 자료 형은 위에 4-2)에 열거된 자료형들입니다.
#range(0, 10)는 숫자를 0부터 1씩 증가시켜 10개를 생성한다.
for i in range(0, 10):
print(i)
#list는 iterable한 자료형 입니다.
var_list = ["me", "you", "mom", "dady"]
for item in var_list:
print(item)
3) while 문
(1) 문법
while (종료 조건):
code....
(2) 사용 방법
#테스트 코드
cnt = 5
while (cnt != 0):
print(cnt)
cnt -= 1
#조건에 ()가없어도 됨
cnt = 10
while cnt != 0:
print(cnt)
cnt -= 1
#break로 도중에 빠져나오기
cnt = 10
while cnt != 0:
if (4 == cnt):
break
print(cnt)
cnt -= 1
배운 거로 만들 수 있는 프로그램
1. Up & Down 게임
1) 필요 함수
input() 함수
2) 기본 틀 (맞출 때까지 돈다)
luck_number = 7
while (True):
number = input("숫자를 입력 하세요")
....
코드 작성 필요
....
3) 결과
2. Up & Down 횟수 제한
- Up & Down 게임에 횟수 제한을 두어서 게임을 빨리 끝나게 합니다
참조 사이트
Python 자료형 정리
C++ 자료형 정리
https://myblog.opendocs.co.kr/archives/1230
Python 유효 범위
Python책 , jump to the python
'강의 > python3' 카테고리의 다른 글
[python3] 6강. function(함수) (0) | 2022.04.13 |
---|---|
[python3] 5강. 집합 관련 자료형 -2 (0) | 2022.04.12 |
[python3] 3강. 프로그램의 기본 구조 (0) | 2022.04.04 |
[python3] 2강. 강의 커리큘럼 (1) | 2022.03.30 |
[python3] 1강. OT (0) | 2022.03.30 |