[Python,Django]

Python 파이썬 기초 문법

럭키🍀 2020. 3. 6. 22:32

여러 언어를 쓰다보니 print인지 console.log인지도 헷갈릴 때가 있다.

그러다보니 자료형이나 함수 선언 등도 당연히 그래서 정리하려고 한다.

 

파이썬이란

 

1.자료형

Numbers(숫자형)

# 기본적인 사칙연산
print(5 + 6) #11
print(5 - 2) # 3
print(3 * 8) # 24
print(3 ** 3) # 27 제곱
print(8 / 2) # 4.0 float형
print(8 // 2) # 4 int형
print(8 % 3) # 2 나머지

String(문자열)

음수를 넣어 인덱싱할 수 있으나 이때는 1부터 시작한다.

test = "Hello World!"
print(test) # Hello World!

test = 'Hello!'
print(test) # Hello!

#문자열 슬라이싱
test_str = 'Leopold'
print(test_str[0]) # L
print(test_str[1]) # e
print(test_str[-1]) # d
print(test_str[-2]) # l
print(test_str[2:5]) # opo
print(test_str[3:6]) # pol
print(test_str[:5]) # Leopo
print(test_str[3:]) # pold

범위를 인덱스로 지정해서 호출하는 것도 가능하다.

*주의할 점은 콜론 앞의 숫자는 포함되지만 뒤의 숫자는 포함되지 않는다.

 

List(리스트)

List는 배열이다.

List 안에는 여러가지 자료형을 담을 수 있다.

List에도 문자열 슬라이싱에서 말한 것들을 적용할 수 있다.

이중 List에서 인덱싱은 다음과 같이 할 수 있다.

이렇게 인덱스를 지정해서 직접 값을 바꿔줄 수 있습니다.

a = [] # a = list()와 동일
b = [1, 3, 5,7]
c = ['Jay', 'Kimmy', 'Hailey', 'L3ion7']
d = [7, 9, ['Zoe', 'L3ion7']]

#리스트 슬라이싱
print(b[-1]) # 5
print(c[-2]) # Hailey
print(d[-1][0]) # Zoe

리스트의 인덱싱

# List 값 수정
test = [1, 2, 3, 4, 5]
test[3] = 6
print(test) # [1, 2, 3, 6, 5]

# List 연속된 값 수정
test = [1, 2, 3, 4, 5]
test[2:3] = ['a', 'b', 'c']
print(test) # [1, 2, 'a', 'b', 'c', '4', '5']

# List 요소 삭제
test = ['a', 'b', 'c', 'd', 'e']
test[2:4] = [] print(test) # ['a', 'b', 'e']
# del 함수 사용
test = ['a', 'b', 'c', 'd', 'e']
del test[2]
print(test) # ['a', 'b', 'd', 'e']

List의 내장함수들

#append(x) 한번에 하나의 인자를 넣는다.
test = [1, 2]
test.append(3) # 맨 뒤에 값 추가
print(test) # [1, 2, 3]

#sort() 함수는 List를 정렬한다
#역순으로 정렬하기 위해서는 sort 함수에 reverse 옵션을 True로 설정해준다.
test = [3, 1, 2, 5, 4]
test.sort()
print(test) # [1, 2, 3, 4, 5]
test.sort(reverse=True)
print(test) # [5, 4, 3, 2, 1]

#reverse() 함수는 현재의 List를 역순으로 뒤집어 준다.
test = [3, 1, 2]
test.reverse()
print(test) # [2, 1, 3]

#이외에도 index(),insert(),remove(),pop(),count()등 이 있다.

Tuple(튜플)

튜플은 리스트와 비슷하다. 차이는 소괄호로 묶이고 하나의 요소만 있을때 반드시 콤마(,)가 와야한다

또한 튜플은 값을 변경할 수 없다.다른 인덱싱,슬라이싱,병합,반복은 모두 동일하다.

tp1 = ()
tp2 = (1,) #요소가 하나뿐이므로 ,가 와야한다
tp3 = (1, 2, 3, 4, 5)
tp4 = (1, 2, (3, 4, 5))
tp5 = 1, 2, 3 #소괄호가 없어도 된다

Dictionary(딕셔너리)

Dictionary는 키=값 형태로 이루어진 자료형이다.

이렇게 대응 관계를 나타내는 자료형을 연관 배열 혹은 Hash라고 한다. 대표적인 예로는 루비의 Hash와 C#의 Dictionary가 있다.

#딕셔너리 선언과 인덱싱의 여러 방법
dic1
= dict()
dic2 = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'} #이게 제일 편하다
dic3 = dict([('name', 'L3opold7'), ('phone', '010-1234-5678')])
dic4 = dict(firstname='Myungseo', lastname='Kang')
dic5 = {'ls': ['a', 'b', 'c']}
print(dic2)# {'k1': 'v1', 'k3': 'v3', 'k2': 'v2'}
print(dic2['k2']) # v2
print(dic3) # {'phone': '010-1234-5678', 'name': 'L3opold7'}
print(dic3['name']) # L3opold7
print(dic4) # {'firstname': 'Myungseo', 'lastname': 'Kang'}
print(dic4['firstname']) # Myungseo
print(dic5['ls']) # ['a', 'b', 'c']

Set(집합)

2.반복문3.조건문

 

4.함수 선언-Function5.함수선언-Lambda(익명함수)6.클래스 선언

 

 

 

'[Python,Django]' 카테고리의 다른 글

Django Rest Framework 2.실습-Serializer,ViewSets  (0) 2020.03.16
Django Rest Framework 1.이론2  (0) 2020.03.14
Generic View  (0) 2020.03.13
Django Rest Framework 0.이론1  (0) 2020.03.13
Anaconda 에서 vs code 에디터 사용하기  (0) 2020.03.06