코드의 가독성을 개선하고 코드의 일관성을 유지하기 위한 규칙을 제공하는 가이드. 절대적인건 아니니 상황에 따라 판단하자. 아래는 몇 개만 따로 정리해둔 것이고 더 자세한 내용은 제목을 클릭해보자.
- 들여쓰기를 할 때는 공백 4개(또는 tab 키)를 사용한다.
- 2항 연산자는 연산자 전에 줄바꿈한다.
- 표현식 및 명령문에 불필요한 공백은 자제한다.
- 변수명은 특수문자와 공백은 사용할 수 없으며, 숫자로 시작할 수 없다.
- 클래스명은 카멜 케이스(CamelCase) 형식으로 작성한다.
- 함수명은 스네이크(snake_case) 형식으로 작성한다.
다른 언어와 혼동해서 잘못 이해하는 경우가 많다. 용어는 꼭 제대로 학습하자. 제목 클릭클릭.
파이썬에서는 데이터, 함수, 클래스, 모듈, 패키지 등을 모두 객체로 취급한다.
객체는 메모리(저장공간)을 차지하고, 자료형(data type)과 식별 번호(identity)를 가진다.
💁♀️id()
함수를 사용하면 객체의 식별 번호를 알 수 있다.
즉, 파이썬의 변수는 값을 갖지 않고, 단지 객체를 참조하는 이름에 불과하다(참조 타입)
⇒ 변수는 값을 저장하는 상자가 아니라 단순한 이름일 뿐!
💁♀️원시 타입(primiltive types) : 변수에 직접 값이 저장되는 타입이다.
예를 들어 x=10은 x가 10이라는 값을 갖고 있다고 말할 수 없고, x가 객체 10을 참조한다고 본다.
is
연산자(idendtity) : 두 객체가 동일한 주소에 할당된 '동일한 객체'인가를 비교==
연산자(equality) : 두 객체의 '데이터 값'을 비교(객체비교x)개별 자료형(숫자, 문자)과는 달리 묶음 자료형(리스트, 튜플, 집합, 딕셔너리)은 따로 만들어지기 때문에 ‘다른 객체’다.
예1) a=3, b=3 은 동일 객체, 동일 값이고 a=[1,2,3], b=[1,2,3]은 동일 값이지만 다른 객체다.
예2) a=”wecode”, b="wecode!” 일 때, a와 b[:-1]의 데이터 값은 같지만 서로 다른 객체다.
예3) 단, a is a[:] 의 값은 객체에 아무 변화가 없기 때문에 true 값이 나온다.**
print()
파이썬에서 화면에 출력을 하고자 할때는 print 명령어를 사용한다.
print("따옴표 안에는 문자열(string)이 들어간다!")
# 따옴표 안에는 문자열(string)이 들어간다!
Data type은 해당 데이터가 숫자인지 문자인지 등의 데이터의 종류를 말한다. 예를 들어, 숫자 2 와 문자 "2", 그리고 소수점 숫자 2.0은 사람에게는 문맥상 같은 의미를 가지지만 컴퓨터에게는 3개가 전부 다른 의미를 가진다. 따라서 정확한 data type의 값을 지정하는것이 중요하다.
큰따움표("") 안에 있는 글자들은 문자열(string) 이다.
ex) "안녕하세요", "Hello World!", "100"
ex) 1, 2, 100
ex) 2.0, 3.7, 9.99
실수와 허수를 포함하고 있는 복소수다. 파이썬에서는 j를 사용하여 허수를 표현한다.
ex) 1+3j, 2-4j
True 나 False 이 2가지 값만 가지고 있으면 조건문에서 많이 사용된다.
ex)
1 == 1 → True
2 == 3 → False
3 == "3" → False (Data type이 틀리기 때문)
파이썬에서 variables(변수)는 데이터의 별명(식별자)라고 생각할 수 있다. 예를 들어
local = "서울"
weather = "맑음"
# 여기서 '=' 기호는 "assignment" 즉 값 지정을 뜻한다.
물론 변수 값은 변경 가능하다. weather = "흐림" 으로 입력하고 print()문을 사용해 변수를 출력하면 "맑음"이 아닌 "흐림" 값이 나올 것이다.
변수 이름을 정하는 것에는 법칙이 있다.
올바른 변수 이름: name, _name, my_name, myName
잘못된 변수 이름: 7name, my name
변수에 숫자 값을 넣으면 변수를 이용해 연산들을 실행할 수 있다.
+
: 덧셈-
: 뺄셈*
: 곱셈/
: 나눗셈%
: 나머지**
: 제곱//
: 몫x = y
: x에 y를 할당x += y
: x에 y를 더하고 결과를 x에 할당x -= y
: x에서 y를 빼고 결과를 x에 할당x *= y
: x에 y를 곱하고 결과를 x에 할당x /= y
: x에서 y를 나누고 결과를 x에 할당x %= y
: x에서 y를 나눈 나머지의 결과를 x에 할당x //= y
: x에 y만큼 제곱을 하고 결과를 x에 할당x **= y
: x에서 y를 나눈 몫의 결과를 x에 할당==
: 같다!=
: 다르다x > y
: x가 y보다 크다x < y
: x가 y보다 작다x >= y
: x가 y보다 크거나 같다x <= y
: x가 y보다 작거나 같다x or y
: x와 y 둘중에 하나만 참이어도 참이다x and y
: x와 y 모두 참이어야 참이다not x
: x가 거짓이면 참이다True
참False
거짓falsy, truthy란?
falsy
: false는 아니지만 거짓으로 평가되는 값
- None
- 0으로 인식되는 값(0, 0.0, 0/1)
- 빈 자료형("”, (), [], {}, range(0))
truthy
: true는 아니지만 참으로 평가되는 값(falsy 외의 값)- falsy, truthy는
bool(변수명)
으로 확인 가능하다.a = [] bool(a) # False
x in 리스트(또는 튜플, 문자열)
: 리스트(또는 튜플, 문자열) 안에 x가 있으면 참이다x not in 리스트(또는 튜플, 문자열)
:리스트(또는 튜플, 문자열) 안에 x가 없으면 참이다( )
> **
> *
, /
, %
> +
, -
# 연산자 우선순위 예시
print(10+20*3)
> 70
숫자와 마찬가지로 문자열(string) 도 더할 수 있다. 이를 string concatenation
이라고 하며, 2개 혹은 그 이상의 문자열들을 잇는걸 뜻한다. 예를 들어, 아래의 예시는 모두 같은 결괏값을 출력한다.
name="World"
print("Hello, World")
print("Hello, " + "World")
print("Hello, " + name)
보다 복잡한 문자열에는 일일히 +
를 입력하기가 쉽지 않다. 이럴 경우에 사용되는 방법이 literal string interpolation
이다. formating string(f-string)
이라고도 하는 이 방법은 문자열 앞에 f를 붙이고 중괄호{}를 사용해 파이썬의 표현식을 삽입할 수 있다.
name="World"
print(f"Hello, {name"})
문자열이 여러 줄일 경우에는 따옴표를 세 개를 쓰면 된다(""").
print(f"""내용이 몇 줄에 걸쳐서 있지만
따옴표 3개를 입력하면 오류 없이 출력된다.
작은따옴표를 사용해도 된다!""")
Whitespace 란 바로 들여쓰기(indention)을 이야기 한다. 다른 언어에서의 들여쓰기는 단순히 코드의 가독성을 높이기 위해서 사용하는 수준이지만, 파이썬에서는 들여쓰기는 코드의 종속성을 나타내기 때문에 필수적으로 사용해야 한다.
예를 들어. JavaScript나 자바등의 다른 언어들은 함수에 종속된 코드를 나타내기 위해서 중괄호 ({ }) 를 사용한다.
function func() {
... code here
}
하지만 파이썬에서는 중괄호를 사용하지 않고 들여쓰기를 사용해서 종속된 코드를 나타냅니다.
def func():
... code here
들여쓰기의 칸 수는 일반적으로 4칸이며, 대부분 tab으로 들여쓰기를 한다.