IT Log

Python (1) 본문

Python

Python (1)

newly0513 2020. 6. 16. 11:17
728x90
반응형

Python이란?

  • 고급 수준의 해석 및 대화형 객체지향 스크립팅 언어
    • 가독성을 위해 설계되었으며, 들여쓰기를 사용하여 범위를 지정
    • 영어와 비슷한 구문을 가지고 있으며, 학습이 간단
    • 이식성이 뛰어나 유지보수에 용이하며, 다른 플랫폼과 쉽게 통합

Python 구문

  • 들여 쓰기를 사용하여 코드 블록을 표현
  • 동일한 블록 내의 모든 명령문은 같은 양의 들여쓰기를 해야함
  • 줄 바꿈으로 문장을 마침 (예외사항 있음)
  • ;으로 한 줄에 여러 명령문을 작성
# 들여쓰기
if 5 > 2:
  print("Five is greater than two!")
  
  
# 줄 바꿈 예외사항(한 명령을 여러줄로 표현)
total = item_one + \
        item_two + \
        item_three
        
또는

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']
        
또는

paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""

# 한 줄에 여러 문장
import sys; x = 'foo'; sys.stdout.write(x + '\n')

Python 주석

  • 한 줄 주석은 #으로 시작
  • 여러 줄 주석은 ...으로 시작하여 ...으로 마무리
# 한 줄 주석

print("Five is greater than two!")
# print("Five is greater than two!")
print("Five is greater than two!")
// 2번째 print는 출력되지 않음

  
# 여러 줄 주석

...
print("Five is greater than two!")
print("Five is greater than two!")
print("Five is greater than two!")
...
// 전부 출력되지 않음

Python 변수

  • 변수에 값을 할당하는 순간 변수가 생성
  • 변수가 설정된 후에도 유형을 변경할 수 있음
  • 문자열은 '(작은 따옴표)나 "(큰 따옴표)를 사용하여 선언
  • 여러 변수를 동시에 선언 가능
  • 출력 시 숫자와 문자열 사이의 혼합은 불가
  • global을 이용하여 선언시 해당 변수는 global 변수가 됨
x = 5
y = "John"

# 변수 유형 변경
x = 5
x = 'John'
// 숫자타입에서 문자타입으로 변경됨

# 동시 선언
a = b = c = 1
a,b,c = 1,2,"john"
// a=1, b=2, c="john"

# 출력
x = "awesome"
print("Python is " + x)
// Python is awesome

x = 5
y = 10
print(x + y)
// 15

x = 5
y = "John"
print(x + y)
// 출력되지 않음

# Golbal variable
x = "awesome"
def myfunc():
  x = "fantastic"
myfunc()
print("Python is " + x)
// 결과는 Python is awesome

x = "awesome"
def myfunc():
  global x
  x = "fantastic"
  myfunc()
print("Python is " + x)
// 결과는 Python is fantastic

Python 데이터 타입

  • 기본적으로 아래와 같은 타입이 내장
    1. Text : str
    2. Numeric : int, float, complex
    3. Sequence : list, tuple, range
    4. Mapping : dict
    5. set : set, frozenset
    6. Boolean : bool
    7. Binary : bytes, bytearray, memoryview
  • type()을 사용하여 해당 객체이 데이터 타입을 확인
x = "Hello World"				#str	
x = 20						#int	
x = 20.5					#float	
x = 1j						#complex	
x = ["apple", "banana", "cherry"]		#list	
x = ("apple", "banana", "cherry")		#tuple	
x = range(6)					#range	
x = {"name" : "John", "age" : 36}		#dict	
x = {"apple", "banana", "cherry"}		#set	
x = frozenset({"apple", "banana", "cherry"})	#frozenset	
x = True					#bool	
x = b"Hello"					#bytes	
x = bytearray(5)				#bytearray	
x = memoryview(bytes(5))			#memoryview

또는

x = str("Hello World")				#str	
x = int(20)					#int	
x = float(20.5)					#float	
x = complex(1j)					#complex	
x = list(("apple", "banana", "cherry"))		#list	
x = tuple(("apple", "banana", "cherry"))	#tuple	
x = range(6)					#range	
x = dict(name="John", age=36)			#dict	
x = set(("apple", "banana", "cherry"))		#set	
x = frozenset(("apple", "banana", "cherry"))	#frozenset	
x = bool(5)					#bool	
x = bytes(5)					#bytes	
x = bytearray(5)				#bytearray	
x = memoryview(bytes(5))			#memoryview

# 데이터 타입 확인
x = 5
print(type(x)) 
// 결과는 int

Python 예약어

  • 상수, 변수 또는 다른 식별자 이름으로 사용할 수 없음
and exec  not assert finally or
break for pass class from print
continue global raise def if return
del import try elif in while
else is  with except lambda yield

Python 식별자

  • 변수, 함수, 클래스, 모듈 또는 기타 객체를 식별하는데 사용되는 이름
  • 문자 A-Z, a-z, _로 시작
  • @, $, %와 같은 문장 부호 허용하지 않음
  • 대소문자를 구분하고, 예약어는 허용되지 않음
  • Class 이름은 대문자로 시작하고 그 외 식별자는 소문자로 시작
  • 단일 밑줄로 식별자를 시작하면 개인용
  • 두 개의 밑줄로 식별자를 시작하면 강력한 개인용
  • 두 개의 밑줄로 끝나는 경우 언어정의 특수이름
728x90
반응형
Comments