Development/Python
2. Fast Python (파이썬) - 기본문법 & 자료구조
Dev. Jkun
2022. 5. 21. 16:00
반응형
세팅까지 깔끔하게(?) 넘어갔으면 빠르게 기본문법이나 자료구조를 보면 될것같다. 필요할 때 이 포스팅에서 Ctrl (Command) + F 로 찾아서 쓰면 편함
스타일
파이썬을 만든 '귀도반로섬' 이 제시한 PEP-8 이 있는데 사람마다 스타일이 다르지만 가독성/유지보수적인 측면을 위해 준수해보고자 하는 노력이 나쁘지는 않을 것 같다. 그리고 세미콜론(;) 은 사용하지 않는다.
자료형
파이썬은 변수 선언시 따로 형을 지정하지 않는다. 파이썬은 객체지향 언어이고 원시자료형이 없으므로 모든 값을 객체로 간주. 결과적으로 모든 데이터의 자료형은 그 데이터의 클래스 이다. 아래와 같은 형태로 터미널/콘솔에서 실행해보면 된다.
typeValue = 100
print(type(typeValue))
# <class 'int'>
말 그대로 typeValue 변수에 100 을 할당했으나 type 함수로 자료형을 확인해보면 결과를 클래스로 표기된다.
typeValue = True or False # <class 'bool'> 참,거짓 (Boolean)
typeValue = 100 # <class 'int'> 정수
typeValue = '100' # <class 'str'> 문자열
typeValue = 100.0 # <class 'float'> 부동소수점수
typeValue = 3+4j # <class 'complex'> 복소수
typeValue = ['JKUN','NET'] # <class 'list'> 리스트
typeValue = ('JKUN','NET') # <class 'tuple'> 튜플
typeValue = {'domain' : 'JKUN.NET'} # <class 'dict'> 딕쇼너리(Key Value)
typeValue = {'JKUN','NET'} # <class 'set'> 세트(순서보장안됨,중복불가,집합연산가능)
print(type(typeValue))
형변환하는 함수로는 다음과 같이 있다.
- int() : 정수변환
- float() : 실수/부동소수점 변환
- str() : 문자열 변환
- chr() : 문자변환
- bool() : Boolean 형 (참,거짓) 으로 변환
- type() : 자료형 확인
들여쓰기 (Indent)
파이썬의 디자인 철학에 따라보면 들여쓰기는 필수며 매우매우 중요하다. 그리고 최초 사용되어진 들여쓰기는 지속적으로 모두사용되어야 한다. 아니면 모두 오류!!
if True:
print("JKUN.NET") # 4칸 들여쓰기 또는 탭
for n in range(0,10):
print(n) # 2칸 들여쓰기
## 에러!!!!
개발 전 코딩컨벤션에서 정의하고 가는게 제일 좋지 않을까 싶다.
조건문
x = True
if x == True:
print("x 는 참")
elif x == "True":
print("x 는 문자열 True")
else:
print("에라 모르겠다!")
예외처리
try:
# 코드작성
Blog = "jkun.net"
if Blog != "jkun.net":
raise Exception('Oh. my god!!!') # 예외발생
except Exception as e:
# 예외시 수행할 작업
finally:
# 반드시 수행
2항 연산자
2항 연산자는 참의 논리를 갖는다.
x = 'JKUN' or []
print(x) # 'Hello'
3항 연산자
myName = 'JKUN'
z = 'OK' if myName == 'JKUN' else 'NO'
print(z) # 'OK'
반복문
# for
for item in items:
print(item)
# while
while C:
# todo
함수
함수정의 키워드는 def 이다.
# Basic
def xySum(x, y):
return x + y
# 전역변수사용
x = 10
y = 10
def xySum():
global x, y
return x + y
# 튜플형 인자
def byTuple(*args):
print(args)
byTuple(1,2,3)
# (1,2,3)
# 딕쇼너리
def byDic(**args):
print(args)
byDic(a = 1, b = 2)
# {'a' : 1, 'b' : 2}
# 람다 (한줄만 작성가능)
lmd = lambda n: n * 2
print(lmd(5))
# 10
클래스
class ClassName:
def methodName(self):
print('JKUN.NET')
슬라이싱
범위를 지정해 객체들을 도출. 이 부분은 설명보다야 무조건 예제 삼아 이것저것 실행해보는게 이해가 제일 빠름. 실제로 많이 사용되기도 하니 한번씩 예제를 사용해보는게 도움이 됨.
sliceValues[start : end : stop]
# start, end 모두 양수/음수 를 가질수 있음.
# start : 슬라이싱 시작
# end : 슬라이싱 끝
# step : 몇개씩 자를건지
직접 느껴본것이지만 이 정도면 찾아가면서 아니면 한번씩 실행해보면 빠르게 많은 도움이 된다.
반응형