본문 바로가기
  • 시 쓰는 개발자
프로그래밍 문법/Python 헷갈리는 문법들

헷갈리는 문법 정리 (1) - end='', strip(), sys.stdin.readline()

by poetDeveloper 2022. 10. 21.

1. end = ''와 end = ' '  (띄어쓰기 유무)

print(~~, end=‘’) 할 때 end=''는 한줄로 다 붙여서 출력, end=' '는 한줄인데 다 한칸씩 띄어서 출력 해준다. 두 개는 서로 다른 출력이므로 주의.

2. for i in iter:

for i in list이름: 라고 하면 list 에 있는 원소들 하나씩 i로 접근 가능하다.

list자리에는 iterable한 객체가 올 수 있으므로 set, dictionary, tuple도 접근 가능하다.

주의) dictionary는 순회하면 key값을 반환함!!

3. input()과 sys.stdin.readline()

입력 방식이 느린 input을 사용하면 여러 줄을 입력받을 때 시간초과가 날 수 있다. 이때 input 대신 sys.stdin.readline을 사용할 수 있다. , 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 rstrip()을 추가해줘야한다.

4. 공백 제거하기 rstrip(), lstrip(), strip()

rstrip() = right 오른쪽 공백을 제거, 여러줄의 입력을 받을때, \n도 같이 들어오므로 이를 제거할 때 사용

lstrip은 왼쪽공백, strip은 양쪽공백 제거

5. f-string (문자열 포매팅, 소수점 N째자리까지 출력하기)

print(f"{answer:.3f}%") answer를 소수점 셋째자리까지 출력한다.

6. 함수에서 쓰이는  ->   :

놀랍게도 둘 다 기능이라기보단 주석인데, ->는 해당 함수의 return 값의 형태에 대한 주석으로 쓰이고 : 는 매개변수 형태에 대한 주석이다. #과 같은 역할인듯싶다.

7. int(value, base)

int()int(value, base) 형태이기 때문에 그냥 a = int()라고 하면 안되고 value값을 넣어줘야한다. , a=int(a)가 올바른 표현.

디폴트 값이 value0, base10이기 때문에 a = int() 라고만 하면 a = int(0)과 같으므로 a0으로 초기화되어버린다. 그래서 a = int(a) 라고 해줘야한다.