본문 바로가기

Python 문법 정복하기

[Python] Basic (2)

기초문법의 내맘대로 마지막!

조건문과 반복문을 복습해 봅니다.

 

아래 링크에서 최근 공부를 시작한 Swift 언어와 비교하며 두 언어의 차이점도 알아봅니다.

 

Swift 조건문과 반복문 보러가기


#1. 조건문

#2. 반복문

#3. 클래스


 

1. 조건문
  • if / else 로 구성!
def is_adult(age):
	  if age > 20:
		    print('성인입니다')    # 조건이 참이면 성인입니다를 출력
	  else:
		    print('청소년이에요')  # 조건이 거짓이면 청소년이에요를 출력

is_adult(30)
# 무엇이 출력될까요?

 

 

2. 반복문
  • 파이썬에서의 반복문은, 리스트의 요소들을 하나씩 꺼내쓰는 형태무조건 리스트와 함께 쓰인다.
fruits = ['사과','배','감','귤']

for fruit in fruits:
    print(fruit)

# 사과, 배, 감, 귤 하나씩 꺼내어 찍힙니다.

 

 

[  ▼ 응용된 아래의 예제들을 하나씩 꼼꼼히 살펴보기 ▼ ]

fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

count = 0
for fruit in fruits:
    if fruit == '사과':
		    count += 1

print(count)

# 사과의 갯수를 세어 보여줍니다.
def count_fruits(target):
	  count = 0
	  for fruit in fruits:
	      if fruit == target:
	  		    count += 1
	  return count

subak_count = count_fruits('수박')
print(subak_count) #수박의 갯수

gam_count = count_fruits('감')
print(gam_count) #감의 갯수

 

 

▼ 딕셔너리 예제

people = [{'name': 'bob', 'age': 20}, 
          {'name': 'carry', 'age': 38},
          {'name': 'john', 'age': 7},
          {'name': 'smith', 'age': 17},
          {'name': 'ben', 'age': 27}]

# 모든 사람의 이름과 나이를 출력해봅시다.
for person in people:
    print(person['name'], person['age'])


# 이번엔, 반복문과 조건문을 응용한 함수를 만들어봅시다.
# 이름을 받으면, age를 리턴해주는 함수
def get_age(myname):
    for person in people:
        if person['name'] == myname:
            return person['age']
    return '해당하는 이름이 없습니다'


print(get_age('bob'))
print(get_age('kay'))

 

 

#3. 클래스

 

  • 실제 세상과 비슷하게 만들기 위한 도구. 객체(object)를 표현
  • 클래스의 구현체를 인스턴스라고 한다.
  • '시작'한다고 하여 init 메소드를 항상 호출한다.
  •  앞뒤로 붙은 __ 기호는 매직 매소드(미리 예약된 메소드)들을 위한 기호이다.
class Person:

    def __init__(self, name):
        self.name = name

    def sayhello(self, to):
        print(f"hello {to}, I'm {self.name}")


rtan = Person("르탄")
rtan.sayhello("알고리즘")

'Python 문법 정복하기' 카테고리의 다른 글

[Python] Stack 예제  (0) 2024.03.16
[Python] Stack (LIFO)  (0) 2024.03.12
[Python] 알고리즘 기초: 공간 복잡도  (0) 2024.03.10
[Python] 알고리즘 기초: 시간 복잡도  (0) 2024.03.10
[Python] Basic (1)  (0) 2024.03.08