티스토리 뷰

Python

Python 기초 정리(제어문&자료형)

brainbow 2021. 12. 28. 18:33

아이펠에서의 파이썬 수업과 공부는 코딩도장과 lms를 이용한다. (아래 코딩도장 링크 참고.)

개인적으로 중요하다고 생각하는 것들 위주로만 정리를 해보겠다!


제어문

: 코드 블록 안의 흐름을 제어함. if / while / for 문이 있고, for문이 항상 헷갈렸음.


if 문

if 내가 멋지다면:
    잘 봤다.
if 비가 온다면:
    우산을 가지고 나간다.

아주 직관적인 if 문. if 조건문: 실행할 코드의 형태. 특히 첫번째 if문은 굉장히 이해가 잘 될 것 같다.


while 문

조건이 참일 때는 계속 반복하는 반복문이다. 이 또한 매우 직관적.

def print_if_negative_or_odd(number):
    if (number <= 0) or (number % 2 != 0):
        print(number)
#- [5-8] print_if_negative_or_odd 함수

print_if_negative_or_odd(1)
print_if_negative_or_odd(-1)
print_if_negative_or_odd(2)
print_if_negative_or_odd(-2)
#- print_if_negative_or_odd 함수를 총 4번 호출합니다.
#- 매개변수(number)의 인자를 각각 다르게(1, -1, 2, -2) 부여한 것을 확인할 수 있습니다.

 for 문

# marks1.py
marks = [90, 25, 67, 45, 80]

number = 0 
for mark in marks: 
    number = number +1 
    if mark >= 60: 
        print("%d번 학생은 합격입니다." % number)
    else: 
        print("%d번 학생은 불합격입니다." % number)

for 문은 리스트( 또는 튜플, 문자열) 속의 첫 번째 요소부터 마지막 요소까지 스윽 변수안으로 하나씩 대입해서 수행할 코드들을 실행시킴. 그래서 아래 결과처럼 출력이 된다.

1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 합격입니다.
4번 학생은 불합격입니다.
5번 학생은 합격입니다.


자료형

수치자료형 - int, float, complex

불자료형 - bool (True or False)

군집자료형 - str, list, tuple, set, dict

이렇게 나눌 수 있는데, 특히! AI 공부하면서 느낀 것은 군집 자료형 쪽에 대해서 꼼꼼하게 공부할 필요가 있다고 느꼈다.


List / Tuple / Dict / Set

리스트는 대괄호 [ ], 튜플은 소괄호 ( ), 딕셔너리는 중괄호 { }를 사용함.

# 리스트
    a = []
    a = list()
    b = [1, 2, 3]
    C = ['Life', 'is', 'too', 'short']
    d = [1, 2, 'Life', 'good']
    e = [1, 2, ['Life', 'good']]

# 튜플
    a = (1, 2, 3)
    a
    (1, 2, 3)
    
    b = 3, 4, 5
    (3, 4, 5)
    
    c = ('a', 'b', ('ab', 'cd'))
    ('a', 'b', ('ab', 'cd'))
    
# 딕셔너리
dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}

리스트의 특징들은 다음과 같다.

  • '[ ]'으로 element를 둘러싼다.
  • element들의 순서가 있다
  • element들의 생성, 삭제, 수정이 가능하다.

튜플의 특징은 다음과 같다.

  • '( )'으로 element를 둘러싼다.
  • element들의 순서가 있다
  • element들의 생성, 삭제, 수정이 불가능하다.

그리고 둘다 중복을 허용한다.

 

딕셔너리는 Key와 Value의 쌍들이 { }으로 둘러싸여 있다. {key1:value1, key2:value2, ...} 이런 느낌.

 

마지막으로 셋(Set)은 중복을 허용하지 않고 순서가 없는 단순한 자료형이다. 다음과 같이 출력된 것을 보면 바로 이해가 된다. Set 같은 경우에 사용하는 것을 거의 못 봤는데 list나 tuple에 넣어 주기 전에 중복이나 그 외 특정한 처리를 할 때 간편하게 쓸 수 있을 것 같다.

>>> s1 = set([1,2,3])
>>> s1
{1, 2, 3}

>>> s2 = set("Hello")
>>> s2
{'e', 'H', 'l', 'o'}

 

References and Citations

@inyong_pang 님의 벨로그 글이 너무 정리가 잘 되어 있어서 참고하며 정리했습니다.

 

Python - List, Tuple, Dictionary and Set 요약

리스트(List) 파이썬이 제공하는 시퀀스 자료구조인 리스트는 C언어 또는 Java언어에서 사용하는 배열(Array)과 가장 흡사하고, 스택(stack)과 큐(Queue)및 데크(Deque)를 구현할 때에도 자주 사용되는 자

velog.io

 

 

강좌: 파이썬 코딩 도장

모두 펼치기모두 접기

dojang.io

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함