[day-6] 파이썬의 특징, 함수, 자료형, 연산자

Joohyung Park·2024년 1월 14일
0

[모두연] 오름캠프

목록 보기
6/95

파이썬의 특징

  • 파이썬에서는 -5부터 256까지의 숫자는 주소가 동일하다.
  • 실수 연산에서는 덧셈이 항상 딱 떨어지지 않습니다. 예를 들어, 0.1 + 0.2와 같은 경우에는 결과가 예상과 다를 수 있다. 이는 2진수로 표현한 후 10진수로 변환하는 과정에서 발생한다.
  • 파이썬 코드 작성 시, 한 줄에는 영문자 80자, 한글 32자까지를 권장한다.

파이썬의 메서드와 함수

  • find 메서드는 찾는 값이 없을 경우 -1을 반환하며, index 메서드는 오류를 출력한다.
  • 특정 단어를 교체할 때는 replace 메서드를 사용한다.
  • type() 함수는 변수의 데이터 타입을 확인하는 데 사용되며, dir() 함수는 해당 객체의 메서드와 속성을 확인하는 데 사용된다.
  • 리스트의 곱셈 연산을 할 때는 주의가 필요하다.

파이썬의 데이터 타입

  • 파이썬에서는 스칼라, 벡터, 메트릭스 등 다양한 데이터 타입을 사용할 수 있다.
  • 스칼라는 단일 값을 가지며, 벡터는 여러 값을 가집니다. 메트릭스는 2차원 배열을, 텐서는 3차원 이상의 배열을 의미한다.
  • 튜플은 변경이 불가능하다고 알려져 있지만, 튜플이 참조하는 값은 변경이 가능하다. 따라서, 튜플이 완전히 변경 불가능하다고 말하기는 어렵다.

파이썬의 자료형

  • 딕셔너리에서는 get() 메서드를 사용하여 값을 검색하는 것이 권장된다.
  • items(), values(), keys() 메서드를 사용하여 딕셔너리의 항목, 값, 키를 출력할 수 있다.
  • setdefault() 메서드는 딕셔너리에 값이 있으면 출력하고, 없으면 그 값을 삽입하여 출력한다.
  • 딕셔너리의 항목을 제거할 때는 popitem() 메서드를 사용하고, 딕셔너리를 업데이트할 때는 update() 메서드를 사용한다.
  • 딕셔너리를 더할 때는 | 연산자를 사용한다.
  • 셋은 중복되는 값을 허용하지 않으며, 합집합, 차집합, 교집합 연산에 사용한다.
  • add 메서드를 사용하여 셋에 값을 추가할 수 있다.
  • sum() 함수를 사용하여 리스트를 평탄화할 수 있다.

파이썬의 연산자

  • and 연산자는 두 값이 모두 참인 경우에만 뒤의 값을 출력한다.
  • or 연산자는 두 값 중 하나라도 참인 경우 처음으로 참인 값을 반환한다. 두 값이 모두 거짓인 경우에는 뒤의 값을 출력한다.

과제

다음 값은 어떤 값이 출력되는지 이유를 설명해주세요

# 문제
1.1) 'hello' and 1
1.2) 10 or 'hello world'

# 정답
1.1) 1이 출력됨. and 연산자는 두 값이 참(1)인 경우 뒤의 값을 출력함
1.2) 10이 출력됨. or 연산자는 두 값중 하나라도 참인 경우 처음 참값을 반환. 
		 둘다 거짓이면 후자

2. 아래 dict에 'three' key를 이용하여 '3'라는 값을 출력해주세요. 없을 경우 애러가 나는 것이 아니라 '3'이라는 값을 출력해야 합니다.

# 문제
d = {'one': 1, 'two': 2}

# 정답
d = {'one': 1, 'two': 2}
d.setdefault('three', '3')
d

3. 다음 리스트에서 100은 어떻게 꺼낼 수 있나요?

# 문제
l = [1, [10, 20], [3, [100, 200], 5]]

# 정답
l = [1, [10, 20], [3, [100, 200], 5]]
result = l[2][1][0]
# 중간 과정 : [3, [100,200] => [100,200] => 100
result

4. 아래 숫자를 모두 더해주세요.

# 문제
l = [[1, 2], [3, 4]]

# 정답
result = sum(sum(l,[]))
# [[1, 2], [3, 4]] => [1, 2, 3, 4] => 10
result

5. (난이도 있는 문제) filter를 사용하여 아래 리스트에서 짝수를 모두 더하는 코드를 작성해주세요.

# 문제
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
정답 : 30

# 정답
def even_num(x):
    return x % 2 == 0

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = list(filter(even_num,l))
# [2, 4, 6, 8, 10]
sum(result)

피드백

파이썬에 대해 어느정도 안다고 생각했는데 계속 수업 들으면서 반성하게 되는 것 같다. 생각보다 깊게 들어갈수록 많은 내용이 있으니..

profile
익숙해지기 위해 기록합니다

0개의 댓글