본문 바로가기
Development/Python

2. Fast Python (파이썬) - 기본문법 & 자료구조

by Dev. Jkun 2022. 5. 21.
반응형

세팅까지 깔끔하게(?) 넘어갔으면 빠르게 기본문법이나 자료구조를 보면 될것같다. 필요할 때 이 포스팅에서 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 : 몇개씩 자를건지

직접 느껴본것이지만 이 정도면 찾아가면서 아니면 한번씩 실행해보면 빠르게 많은 도움이 된다.

반응형

댓글