- 명칭
- 코멘트(comment)
- 코드에 관한 설명, 개발자 멘트 등
- 주석 -> 해석 -> AI가 코드 자동완성 스타일 제공
- 문서화 작업 시 중요한 부분
- 문서 자동화 -> Swagger 등 툴 제공(fastapi는 기본 설치하면 자동 처리)
- 문법
# 1줄 주석
'''
여러 줄 주석
원래는 문자열인데, 주석처럼 활용함.
함수, 클래스 내부에 1열에 위 주석으로 사용하면 함수 ,클래스 사용 시 툴팁으로 주석 제공
def add(x,y) :
'''
더하기 함수. 함수 1열에 넣었기 때문에 함수 주석이 되어 툴팁 제공함.
'''
'''
def add(x,y):
'''
더하기 함수. 함수 1열에 넣었기 때문에 함수 주석이 되어 툴팁 제공함.
parameters
- x : 첫번째 입력값
- y : 두번째 입력값
returns
- x+y, 더한 값을 반환
'''
return x+y
#함수/클래스명 ( 까지 작성하면 자동 툴팁으로 제공됨
add(1,2)
결과값 : 3
- 목적
- 데이터를 담는 그릇(기초적 기본 해석)
- 데이터를 가리키는 참조값을 가진 그릇
- 변수를 통해서 데이터에 접근할 수 있다
- 특징
- 변수가 가진(참조)하는 데이터는 다른 값(다른 타입 등)으로 대체될 수 있음
- 유형
- 1 -> 2 : 동일 타입 (O)
- 1 -> "1" : 다른 타입 (O)
- 단, 동일 타입만 유지하고 싶다면 어노테이션 표기하고 가이드.(강제성은 없음.)
- 예약어, 내장함수 등 사전에 정의된 함수명, 키워드, 변수 등에 데이터 변경 시도를 하면 안됨. print 같은 단어를 변수명으로 쓰지 말 것.
# 변수 = 값
# a라는 변수에 1이라는 값을 담았다.
# a라는 변수는 1이라는 값(메모리 상에 어딘가 존재함)을 참조한다.
a = 1
# 대화형 창에 변수를 넣고 실행하면 참조하는 값을 출력함
a
결과값 : 1
# 변수에 도트연산자를 붙이면 함수 사용 가능(a.)-> 객체라는 의미
# 파이썬의 모든 구성은 객체로 구성된다고 할 수 있음
a.
1.
#1도 객체다!!
결과값 : 0
# a라는 변수는 이제 2를 참조한다.
a = 2
# type : 내장함수. 내장함수는 바로 사용 가능함.
# type(변수) : 변수가 참조하는 데이터의 타입을 출력함.
a, type(a)
결과값 : (2, int)
# a라는 변수는 문자열 "hi"을 참조한다.
a = "hi"
a, type(a)
결과값 : 'hi', str
- 모든 변수 자체의 메모리적 크기는 동일하다 (참조값(메모리 주소)만 가지면 됨)
- 결론
- 파이썬 변수의 타입은 값이 세팅될 때 결정된다
- 타입 추론형
# 자바스크립트 샘플
var a = 1
- <-> C/C++, java : 변수 선언 시 타입이 결정됨
# 자바 샘플
int a = 1;
- 변수(변하는 값) <-> 고정밧(불변) : 상수
- 상수처럼 사용
- 관습
- 변수명을 모두 대문자로 표기
- 의미론적으로 부여, 실제는 변수임
- 환경변수(env), 학습 시 고정값
- 단, typing 패키지를 통해서 우회 처리 가능함
PI = 3.14
# 변수명이 길어지면 _로 연결 (스네이크 표기법)
MAX_POOL_SIZE = 100
- 타입의 기본값(시그니처 표현)
- 숫자 리터럴
- 정수 : 0(10진수), 0b(2진수), 0o(8진수), 0x(16진수)
- 부동소수 : 0.0
- 문자열 리터럴 -'', "", '''....''', """...."""
- 불린 리터럴
- 특수 리터럴
- 컬렉션 리터럴
- 특징
- True를 제외한 모든 리터럴은 조건식에서 False를 반환함 -> 조건식을 간결하게 표현할 수 있음
- 관습적 표현, 회사 문화임
- 이름 짓는 규칙
- 대상
- 스타일
- 파이썬
- 스네이크 표기법 (단어 간 _로 연결함)
- 소문자로 표기
- ex) your_name
- 자바
- 카멜 표기법
- 첫글자는 소문자, 이어지는 단어의 첫번째 글자는 대문자
- ex) yourName
- 클래스명
- 첫글자 대문자, 이어지는 글자 소문자, 추가되는 단어는 첫글자 대문자
- 구성
- 첫글자
- 이후 글자
- 기타 특수문자는 사용하지 않는 것이 좋음.
a = 1
_ = 2
a10 = 3
# 시작을 숫자로 했기 때문에 에러임
#1a = 10
#각국 문자
스코어 = 100
- 기타
- 이름의 길이는 상관없음. 적당히 쓰면 됨.
- 데이터가 가지는 의미를 변수명에 나타내야 좋음.
- 완전한 코드 한 줄이 완성되면 표현하는 표식
- 대부분의 언어는 ;활용
- 파이썬은 생략이 일반적, 사용해도 ok
print(1); print(2); print(3)
결과값 :
1
2
3
- 특징
- .... -1, 0, 1, ....
- 간격 : 1(양)
- 데이터 특성 상 이산형, 순서형 등으로 표현될 수 있음
# 변수명은 의미있게 네이밍 해야함
age = 100 # 10진법 표현
age
결과값 : 100
# 진법 예시
0b10101010, 0o512, 0xff
결과값 : (170, 330, 255)
- ....0.0....
- 값과 값 사이의 간격 : 무한대
- 연속형 데이터 -> 회귀문제 등 대표적인 데이터(원주율 등)
# 변수값 나열
# 여러 개의 변수를 한 번에 초기화 할 수 있음
a, b, c = 10, 11, 12 # 분해
b
결과값 : 11
a, b, c = (10, 11, 12) # 튜플 -> 단순히 값을 묶는 역할
b
결과값 : 11
_, b, _ = (10, 11, 12) # _는 받고 버리기. 변수로 사용하지 않겠다는 의미(자리만 채우는 것)
_
결과값 : 12
#일반 연산자 동일하게 작동하는가?
a = 1
b = 2
a+b, a-b, a*b, a/b, a%b, a//b
결과값 : (3, -1, 2, 0.5, 1, 0)