# 1 반복문
반복되는 작업을 처리하기 위하여 사용되는 문법. 파이썬의 반복문에는 For문과 While문이 있다.
# 1-1 for문
for문은 횟수를 기준으로 반복한다.
` 구조
for Variable in Container :
Command 1
Command 2
....
` 예시
rainbow = [ '빨', '주', '노', '초', '파', '남', '보' ]
for color in rainbow:
print(color)
//
'빨'
'주'
'노'
'초'
'파'
'남'
'보'
컨테이너 안의 값을 전부 순회할 때 까지 반복한다. 반복하는 부분을 코드 블럭이라고 일컫는다. 코드블럭을 구분하기 위해 콜론(:)과 들여쓰기를 사용한다.
컨테이너 안에 값이 1, 2, 3이 있었다고 가정하였을 때, for 뒤에오는 변수에 첫번째 값 1이 저장되고, 블럭에 있는 코드가 실행되게 된다. 다 실행이 끝난 후, 컨테이너에서 두번째 값인 2가 변수에 저장되고 코드가 실행되며, 마찬가지로 끝난 후 그 뒤에 값이 들어와 실행되게 되는 구조로 되어있다.
# 1-2 range( arg ) // 내장함수
for문과 자주 쓰이는 내장함수로는 range가 있다. range는 인자로 받은 곳 까지의 숫자를 나열한다.
사용법과 예시는 다음과 같다.
` 구조
for variable in range(arg) :
command
....
`예시
for i in range(3) :
print( i )
//
0
1
2
for i in range(4, 6) :
print( i )
//
4
5
# 1-3 반복문 중첩 (for 문)
반복문은 중첩해서 사용이 가능하다. 구조와 예시는 다음과 같다.
` 구조
for variable in container :
for variable_2 in container :
command
command
....
` 예시
for i in range(1, 10) :
print( '{ } x { } = { }'.format(2, i, 2 * i) )
//
2 * 1 = 2
2 * 2 = 4
....
2 * 9 = 18
for j in range(2, 10):
for i in range(1, 10):
print( '{ } x { } = { }'.format( j , i, j * i)
//
2 * 1 = 2
2 * 2 = 4
....
9 * 9 = 81
# 1-4 Comprehension
리스트를 만드는 강력하고 간결한 방법이다. 컴프리헨션을 이용하여 주어진 리스트에서 홀수만 뽑아내는 코드를 다음과 같이 작성하였다.
`예시
numbers = [1,2,3,4,5,6,7,8,9,10]
odd_numbers = []
for number in numbers :
if number % 2 == 1:
odd_numebrs.apend(number)
print(odd_numbers) [ 1, 3, 5, 7, 9 ]
를 다음과 같이 표현이 가능하다. (Comprehension)
[ number for number in numbers if number % 2 ==1 ]
` 해석
odd_numbers = [ ] // 빈 list 생성
odd_numbers = [ number ] // number 변수 호출
odd_numbers = [ number for number in numbers ] // 조건문 작성
odd_numbers = [ number for number in numbers if number % 2 == 1 ] // 조건 작성
print(odd_numbers) // [ 1, 3, 5, 7, 9 ]
` 구조
[ number / for number in numbers / if number % 2 == 1 ]
## 할당연산자(Operator)
자료형마다 연산자의 기능이 다르다. 이러한 내용을 정리하였다.
수학에서의 등호( = )는 같다는 의미이지만, 파이썬에서 등호( = )는 할당연산자이다.
파이썬에서의 등호는 오른쪽의 값을 왼쪽의 변수에 할당(Assign)하는 역할을 하고있다.
< 할당 연산자 = >
variable_1 = 1
variable_2 = 1.1
variable_3 = []
< 복합 할당 연산자 >
" += " : i = 1, i = i + 1 ( i += 1 )
" -= " : i = 1, i = i - 1 ( i -= 1 )
" *= " : i = 1, i = i * 1 ( i *= 1 )
" /= " : i = 1, i = i / 1 ( i /= 1 )
< 복합 할당 연산자 >
##비교를 위한 코드
number = 1
number = 1 + 1
print(number) // 2
##복합 할당 연산자
number += 1
print(number) // 2 number = number + 1과 같다
# 상기 복합연산자는 변수의 값을 계산해 같은 변수에 다시 대입하는 결과를 나타낸다.
예시로는 다음이 있다.
` 예시
price = 5000
price = price * 0.85
print(price) // 4250.0
일때,
price = 5000
price *= 0.85
print(price) = 4250.0
이다
계산하여 다시 본래의 변수로 값을 리턴하는 경우이다.
이러한 할당 연산자 뒤에 다른 연산자가 붙어서 다른 역할을 만들어 낼 수 있는데 이것을 복합 할당 연산자라고한다.
## 산술연산자(Arithmetic)
숫자끼리 연산을 할 수 있는 연사자이다. 일반적인 사칙연산부터 특수한 연산까지 전부 가능하다.
< 산술연산자(Arithmetic) >
## 사칙연산
a + b : 덧셈
a - b : 뺄셈
a * b : 곱셈
a / b : 나눗셈
## 특수 연산
a ** b : 제곱 연산자
a // b : 몫 연산자
a % b : 나머지 연산자
...
상기 특수연산자로 여러가지를 시도할 수 있다. 그 중 대표적인 나머지 연산자로 홀/짝 수 찾기를 아래에 예시로 작성하였다.
` 예시
numbers = [ 1, 2, 3, 4, 5, 6, 7 ] // array에 숫자 추가
for number in numbers :
if number % 2 == 1 : // 2로 나누어서 나머지가 1이라면
print(number, " : 홀수") // 출력
else : // 그렇지 않으면
print(number, " : 짝수") //출력
## 문자열연산자
숫자 자료형에도 연산자가 있듯이 문자열에도 연산자가 존재한다. 그러나 문자를 더한다는 행위는 불가능함으로 인식하고 있는 것과는 다르게 작동한다.
이와 같은 내용을 다음과 같이 작성하였다.
< 문자열 연산자 >
+ : 문자열 끼리 더함
' a ' + ' b ' = 'ab'
* : 문자열을 해당 수 만큼 반복함.
' a ' * 3 = 'a', 'a', 'a'
....
## 비교 연산자
비교를 할 때에 쓰이는 연산자이다. 비교의 결과는 참(True)과 거짓(False)로 나타난다.
여러가지 비교 연산자는 다음과 같이 있다.
< 비교 연산자 >
a == b : a 와 b 는 같다
a != b : a 와 b 는 같지 않다.
a > b : a 는 b 보다 크다
a < b : a 는 b 보다 작다
a >= b : a 는 b 보다 크거나 같다
a <= b : b는 a 보다 크거나 작다
cf) !는 부정을 의미한다 ( not과 비슷하다)
## 논리 연산자(Logical)
파이썬의 논리 연산자에는 and, or, not이 있다. 조건이 있을 때, 조건과의 관계를 설명하기 위하여 쓰이는 연산자이다.
and 는 그리고, or 는 또는, not은 부정의 의미이다. 다음과 같이 사용된다.
<논리 연산자의 참과 거짓>
True and True : True
True and False : False
False and True : False
False and False : False
--
True or True : True
True or False : True
False or Ture : True
False or False : False
---
not False : True
nor True : False
## 멤버쉽 연산자 (Membership)
리스트, 튜플 등의 안에 해당 값이 있는 지 확인하는 연산자이다. in과 not in을 사용한다. 예시는 다음과 같다
` 구조
Variable = Container
item in variable
` 예시
rainbow = [ '빨', '주', '노', '초', '파', '남', '보' ]
print('빨' in rainbow) // True
print('분홍' in ranbow) // False
'Language > Python' 카테고리의 다른 글
2021 - 04 - 17, Python 학습 - 정규표현식(Regular Expression) (0) | 2021.04.17 |
---|---|
2021 - 04 - 17, Python 학습 - os모듈 (0) | 2021.04.17 |
2021 - 04 - 16, Python 학습 - 함수 I (0) | 2021.04.16 |
2021 - 04 - 15, Python 학습 - 문법 3 (0) | 2021.04.15 |
2021 - 04 - 15, Python 학습 - 문법 2 (0) | 2021.04.15 |