""
, ''
로 문자열을 표현할 수 있다.underscore(_)
, 알파벳
만 적을 수 있다.숫자
까지 가능하다.+
, -
, /
, *
, **
, %
, //
정도가 자주 사용될 만한 연산자들이다.**
: 수학에서 제곱을 뜻한다. `10*3 == 10 10 * 10 == 1000'%
: 나머지 값을 구하고 싶을 때 사용한다. 의외로 자주 사용된다.//
: 나눈 값의 몫만 갖고 싶을 때 사용한다. 이 역시 자주 사용된다.+=
, -=
등으로 연산을 더 짧게 할 수 있다.num = 1
num += 5
print(num) # 6
같은 식을 다르게 표현한다면
num = 1
num = num + 5
print(num) # 6
무슨 큰 차이가 없어 보일지도 모른다.
하지만 실제 개발을 하다 보면 한 글자도 줄여 쓰고 싶은게 개발자 마음이다.
코드를 쓰다보면 길이는 늘어나고, 어떤 부분이 잘못되었나, 어디에 수정을 해야하는가, 어떤 부분이 성능이 오래걸리나 등을 확인하려면 코드는 간단하고 쉽게 보여야한다.
앞으로 언어는 더 간단하게 보일 수 있는 방향
으로 업데이트 될 것이다.
위에 봤던 /
, *
, **
, %
, //
모두 =
를 붙여 사용이 가능하다.
수학에서 배운 내용 대로이니 크게 어렵지 않을 수 있다.
+
연산자를 통해 원하는 결과를 얻을 수 있다.name = "jongho"
print("hi" + name + ", nice to meet you)
# 'hi jongho, nice to meet you'
literal string interpolation
란 방법을 사용하면 쉽다.name = 'jongho'
age = 27
hobby = 'music'
print(f"hi, name is {name}, age is {age}, hobby is {hobby}.")
# hi, name is jongho, age is 27, hobby is music.
아직까지 개발하면서 literal string interpolation을 사용해 본적은 없지만, 이런게 있었다는 사실을 알게 된것만으로도 큰 수확이었던 것 같다.
이전에는 str.format()등을 통해 이런 복잡한 문자열을 표현했는데 역시 문법은 날이 갈수록 사용하기 쉬워지는 것 같다.
https://realpython.com/python-f-strings/
해당 문서를 보면 python에서 복잡한 문자열을 표현하기 위해 어떤 과정등을 거쳤는지 소개해준다.
%-formatting
str.format()
f 문법
{ ... }
안의 내용은 expression
즉 표현식이다.(아주 기가 막히다.)들여쓰기
를 통해 코드의 종속성을 표현한다.name = "jongho"
if name == 'jongho'
print(name)
else
print("Who are you?")
# 'jongho'
코드의 종속성
이란 어려운 말이 아니라 함수나 클래스 처럼 로컬한 범위
를 말한다.{}
를 통해 범위를 표현한다.tap
을 쓰고 사람에 다라 스페이스바 4번 또는 2번을 사용한다고 한다.