카테고리 없음

[부캠] Python의 기본 요소와 문법 그리고 컨벤션

리하이 2021. 1. 19. 23:33

오늘 정말 많은 것을 배웠다. 그냥 어영부영 알고있던 지식들을 다질 수 있었다 🐥

그중에서 내가 놓치고 갔던 것들을 위주로 정리를 해보려고한다.

  • Variable (List vs Array)
  • Print formating 
  • 컨벤션

Variable

파이썬의 기본 자료형은 다음과 같이 존재한다.

 

파이썬의 가장 특징적인 자료구조는 바로 list(리스트) 일것이다.

리스트는 시퀀스 자료형으로써, 여러 데이터들의 집합을 의미한다.

여기서 특징은 리스트의 원소는 데이터 타입이 서로 다를수 있다.

ex) [1,'abc',[1,2,3],4.4]

파이썬의 리스트는 slicing,  concateation, append, extend, insert, remove, del 등의 연산을 제공한다.

 


Array와 list 의 차이?

Array 

- 같은 데이터 타입을 가진 변수들을 하나로 나타낸 자료구조

- 정적이다. 

- 변수들이 연속적으로 메모리에 할당되어있다.

장점

- 검색에 용이하다. (일일이 접근하지 않고, 변수 크기*인덱스+시작 메모리주소 만으로 접근이 가능하다.)

- 메모리 관리가 편하다.

단점

- 배열의 크기, 타입을 미리 선언해야한다.

- 데이터 삭제시 해당 공간이 비어있다.

 

array의 변수 저장 방식

 

List

- 순서가 존재하는 데이터들이 모인 자료구조

- 불연속적으로 메모리에 할당된다

- 포인터로 접근이 가능하다

장점

- 미리 크기, 데이터 타입을 정할 필요가 없다

- 원소의 삽입 삭제가 용이하다

- 메모리 낭비가 심하지 않다

단점

- 검색시 O(n) 의 시간이 걸린다.

리스트의 저장 방식


Print Formating 

프린트 포맷팅에는 크게 3가지가 있다.

1. % string

print('%d %d %d',(1,2,3))
# 1 2 3

2. format 함수

print('{} {} {}'.format(1,2,3))
# 1, 2, 3

##순서를 지정할 수 있다.
print('{2} {1} {0}'.format(1,2,3))
# 3 2 1

##변수명을 지정할 수 있다.
print('{one} {two} {three}'.format(one:1,two:2,three:3))
# 1 2 3

3. fstring (요즘 제일 많이 사용 + 간편!)

one=1
two=2
three=3
print(f'{one} {two} {three}')
#1 2 3

Python 컨벤션

코드를 작성할때 가독성이 쉬워야하기 때문에, 여러 약속들이 존재한다.

(약속은 권장이지 필수가 아니다.)

Python Enhancement Proposal 8 (PEP 8)에서 파이썬 코딩 스타일에 대한 가이드를 제시하고 있다. 

pythonstudy.xyz/python/article/511-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%BD%94%EB%94%A9-%EC%8A%A4%ED%83%80%EC%9D%BC

 

예제로 배우는 파이썬 프로그래밍 - 파이썬 코딩 스타일

PEP 8 파이썬 코딩 스타일 Python Enhancement Proposal 8 (PEP 8)은 파이썬 코딩 스타일에 대한 가이드를 제시하고 있다. PEP 8은 2001년 귀도 반 로썸에 의해 처음 제안되었으며, python.org 의 PEP 링크에 자세히

pythonstudy.xyz

1. 들여쓰기 4칸을 권장

for i in range(10):
    print(i)

2. 한 줄은 최대 79자까지

if boost_camper_female_tutor == 'shane' and boost_camper_male_tutee == 'jack' and boost_camper_tutor_age=='20':
    print('yes')
    
if boost_camper_female_tutor == 'shane' \
    and boost_camper_male_tutee == 'jack'\
    and boost_camper_tutor_age=='20':
    print('yes') 

3. 불필요한 공백은 피함

4. = 연산자는 1칸 이상 띄우지 않음

5. 불필요한 주석은 삭제

6. 코드의 마지막에는 반드시 1칸 추가

7. 변수명 소문자 i, 대문자 O, 대문자 I 금지

8. 함수명은 소문자, _로 구분

 


들은 내용을 모두 정리를 해야할지, 내가 채우는 부분만 중점으로 포스팅할지 늘 고민이다.ㅎㅎ 

조금씩 개선해나가자.