본문 바로가기
공부기록/Python

6월 8일 (1) python - 설치, 문법

by project100 2023. 6. 8.

 

Download Python

The official home of the Python Programming Language

www.python.org

install 

 

 

 

 

vs code에서 python 검색 install

파이썬(Python)

1991년에 발표된 인터프리터 방식의 프로그래밍 언어

창시자는 귀도 반 로섬(Guido van Rossum)

 

기본문법

1. 세미콜론 ; - 문장의 끝을 나타내는 기호

세미콜론을 붙이지 않는다. 붙여도 상관없지만, 한 줄에 여러 문장을 작성할 경우 외에는 사용하지 않는다.

a = 10; b = 20

 

 2. 주석 - # 한줄, 블록 주석 구분 없음

 

3. 들여쓰기 (매우 중요)

제어문 블록이나 함수의 문장을 작성할 때 반드시 들여쓰기를 해야 한다.

 

자바 예시  - 들여쓰기 안 해도 상관없음

for(int i = 0; i < 10; i++){

println(i);

println("hello");

}

 

파이썬 예시 - 중괄호가 없음

for i in range(10):

    print(i) - for문에 속함

print("hello") - for문에 속하지 않음

 

파이썬에서 들여쓰기 방법은 공백(스페이스)

2칸, 4칸, 탭(tab -8칸) 등 여러가지가 있음

파이썬 코딩 스타일 가이드(PEP 8)애서는 4칸을 기본으로 규정하고 있음.

PEP(Pythin Enhancement Proposals)

 

4. 코드 블록(통일 시키기)

들여쓰기 기준으로 구성. 단, 같은 블록은 들여쓰기 칸 수가 같아야 하고, 공백과 탭 문자를 섞어 쓰면 안 된다.

for i in range(10): - 들여쓰기 칸수가 다르면 안 된다. 실행 에러

  print(i)

    print("hello")

즉, 같은 칸으로 들여쓰기를 해야 한다.

 

권장 코드 스타일

1. 작명 규칙

일반적으로 스네이크 케이스, 특정한 종류에는 파스칼 케이스를 권장함

스네이크 케이스 : 패키지, 모듈, 함수, 변수, 메소드 예) in_num

파트칼 케이스 : 클래스, 예외 예) SomeClass

기타 : 상수는 대문자+밑줄 예)  MAX_LIMIT

 

2. 문법 규칙

1) 한줄은 79글자로 제한

2) import는 파일의 맨 위에 작성하고, 내장모듈, 제3자 모듈, 직접 만든 모듈순으로 작성(라이브러리)

3) 인스턴스 메소드의 첫 인자는 self로, 클래스 메소드의 첫 인자는 cls로 쓰기(자바 this / static)

4) 할당(대입) 연산자 = 앞 뒤에 공백 넣기 예) x=10 -> x = 10

 

파이썬 코드 파일 : xxx.py

 

변수 : 자바스크립트와 같이 자료형은 없음. 할당되는 데이터에 따라 결정된다.

type(변수) : 데이터의 유형을 알아내는 함수

문법) 

1) 단일변수 : 식별자 = 데이터

2) 다수변수 : 식별자1, 식별자2, 식별자3 = 값1, 값2, 값3

- 변수의 개수와 값의 개수가 일치해야 한다. 나열된 순서대로 할당된다.(무조건 식별자 개수만큼 할당)

3) 같은 값을 할당받는 다수 변수 : 식별자1 = 식별자2 = 식별자3 = 값

 

변수의 삭제 : del 식별자

빈 변수 선언 : 식별자 = None (None은 다른 언어의 null과 같음)

 

# 변수
a = 10 # 첫번째 변수
b = 20 # 두번째 변수
# 출력
print('hello world')
print(a + b)
# 블록 주석은 매 라인에 '#'을
# 붙여줘야 한다.
# 변수의 삭제
del b
# print(b)

b = None # 빈 변수 선언 null
# print(a + b)

# 데이터 유형 확인 : type(값)
print(type(a))
print(type(b))

 

데이터의 입출력

1. 입력 - input() 함수

변수에 입력값 저장 -  변수 = input()

화면에 문장 출력 후 변수에 저장

- 변수 = input("입력문구")

입력값은 무조건 문자열이다!

참고) 문자열 -> 정수 : int(str)

         문자열 ->  실수 : float(str)

 

다수의 값을 한번에 받아서 여러 변수에 저장(할당) - split('구분자') - 아무것도 안 쓰면 공백으로 나눔

두 변수에 저장 예) 

변수 1, 변수2 = input().split()

 

입력 받은 다수의 문자열을 분할하여 정수나 실수로 변환  

map(유형, input().split())

a = input()
print(a)

b = input("입력문구") 
print(b)

#간단한 덧셈기
#a = input('첫번째 숫자 : ')
a = int(input('첫번째 숫자 : '))
# b = input('두번째 숫자 : ')
b = int(input('두번째 숫자 : '))
#a = int(a)
#b = int(b)
c = a + b
print("결과 : " + str(c))

x, y = input("두 값을 입력 : ").split(',')
print(x)
print(y)

l, m, n = map(int, input('세 숫자를 입력 : ').split())
print(l + m + n)

2. 출력 - print()함수

값 또는 변수를 출력. ' , ' 로 구분하여 여러 값 또는 여러 변수를 한번에 출력할 수 있음

예) print(1, 2, 3) => 1 2 3  출력 사이 사이에 공백  출력

 

- 출력 값 사이에 특정 값 지정 : sep

예) print(1, 2, 3, sep='/') => 1/2/3

sep  생략 시 자동으로 ' ' 공백 출력

sep에 ' ' 를 지정하면 공백없이 출력

sep에 '\n'를 지정하면 줄바꿈하여 출력

 

- 출력 끝 부분에 대한 설정 : end

print 함수는 기본값으로 출력 후 줄바꿈함

예) print(1, end='|')

      print(2)               => 1|2

 

# 기본 출력
print(1)
print(2)
print(3)
print("abc")
print('def')
print('''ghi''')
print("""jkl""")

a = 1; b = 2; c =3
print(a, b, c)
print(a, b, c, sep="")
print(a, b, c, sep="\n")
print(a, b, c, sep="\t")

print('a''b''c') # 아래와 같음
print('a' + 'b' + 'c')

s1 = 'a'; s2 = 'b'; s3 = 'c'
# print(s1 s2 s3) 오류
print(s1, s2, s3)
print(s1 + s2 + s3)
print(s1, s2, s3, sep=", ")

print(s1, end=", ")
print(s2)
print(s3)

end_value = '-sss-'
print(s1, end=end_value)
print(s2, end=", ")
print(s3)

 

에러코드

NameError: name 'Print' is not defined. Did you mean: 'print'? 

SyntaxError: invalid syntax. Perhaps you forgot a comma?

IndentationError: unexpected indent

NameError: name 'b' is not defined

TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'

ValueError: invalid literal for int() with base 10:

SyntaxError: invalid syntax