파이썬에서 흥미로웠던 점들

I'm Cape·2023년 5월 3일
0

제로베이스 데이터 취업 스쿨 1주차 스터디노트 1호

그는 (수학의) 신이야...!

  • 메모리가 허용하는 한 무한대 자릿수의 정수를 저장 가능 (다른 언어는 안된다는게 충격)
    소수점은 일정 자릿수 이상은 손실됨, 참고: 동적할당, 정적할당
  • numpy, matplotlib (AI/데이터 특화일 수 밖에 없는 이유)
  • built-in math module & data structure
import math
import queue # 리스트를 만들고 "이건 큐야!"가 아니라 진짜 큐를 받아온다니!

input()

  • 코드 실행자로부터 input을 받는 코드.
  • 간단한 프로그램을 만들기 좋다.
provided = input("입력하세요: ")
>> 입력하세요: {깜빡이는 커서}

다양한 Formatting

  • string을 formatting할 일이 얼마나 있다고 이리도 여러가지 방법이 있나?
  • 재밌긴 한데, 효용성에 대해선 의문이다. 필요 이상으로 복잡하지 않나?
pi = 3.1415926535
upper_line = '{:-^20}'.format("Pi value")
str1 = '값은 %f이다.' % pi
str2 = f'소수점 자리수 2자리로 변경하면 {pi:.2f}이다. (참고로 반올림 됨)'
str3 = f'쉼표 구분도 가능: {pi * 10000:,.0f}'
bottom_line = '-' * 20

for s_item in upper_line, str1, str2, str3, bottom_line:
	print(s_item)

괄호: 내가... 사라져볼게!

  • indent를 활용한 scope 정의
  • 수많은 괄호가 사라지게 하는 마법
  • 파이썬에 관심이 있다면 누구나 알아서 생략할까 했지만,
    너무 혁신적인 특징이라 짚고 넘어가고 싶었다
num = int(input("숫자 입력: "))
is_even = num % 2 == 0
if is_even:
	print("짝수입니다.")
else:
	print("홀수입니다.")
// 비슷한 코드를 javascript로 구현
const num = 33
const isEven = num % 2 === 0
if (isEven) {
	console.log("짝수입니다.")
} else {
console.log("홀수입니다.") // indent 없이도 정상 실행, 하는 이유는 가독성을 위해서
}

for else (혹은 while else) 구문

  • break 활용 시 break 코드가 작동하지 않고 반복이 종료되면 실행되는 else 구문
value = input("숫자 입력: ")
for num in range(10):
	if num == value:
    	print("10 이하에서 값을 찾았습니다.")
        break
else:
	print("10 이하의 수가 아닙니다.")

그 외 새롭게 배운 내용

  • string끼리 합은 가능하지만, 뺄셈은 불가능
  • formatting 시 %d는 자연수가 아니라 정수이다
  • 데이터를 쉼표로 구분해서 변수에 할당하면 튜플이 된다
str1 = "python"
str2 = "그는"
str3 = "신이야!"

sentence = str1, str2, str3

type(sentence) # tuple

for str_item in str1, str2, str3: # 정상작동함
	print(str_item)
profile
Impact

0개의 댓글