티스토리 뷰

Programming

[Python] 파이썬 문법

noonsong 2018. 3. 3. 15:09

Code Academy 의 Python 문법 강의를 들으며 참고용으로 정리한 내용입니다. 

https://www.codecademy.com/ko/tracks/python-ko 

Overview

파이썬은 1991년 2월에 발표된 인터프리터식 프로그래밍 언어(Interpreted language)로, 다른 언어보다 비교적 쉽게 프로그래밍이 가능하다. 

파이썬을 작성하고 실행하는데 Java처럼 컴파일러가  필요하지 않다. 


파이썬의 특징은 문법이 매우 쉽다는 것이다. hello, world 를 출력 --> 

print ("hello, world") 


변수 선언시에도 변수의 형을 미리 정하지 않고 

var = 5
var = 'hello'  


이렇게 그냥 정의해주면 된다. 다른 언어에 비해 무척 간결하다. 


변수선언

var = 5 

var 과 같이 이름을 사용하여 식별자를 나타내고, = 연산자를 사용하여 원하는 값을 지정한다. 

다양한 자료형(int/float/booleans) 을 선언하고 싶다면, 변수의 유형을 선언하지 않고 그냥 원하는 값을 바로 넣으면 된다 (편하다!) 

my_int = 6
my_float = 1.32
my_bool = True   #'True' 나 "True" 라고 쓰면 인식을 못한다. 

#파이썬은 대소문자를 구분(case-sensitive) 하기때문에 조심해야한다

재 선언이필요하다면 
my_int=6
my_int =3
print my_int



명령문

파이썬의 명령문 (Statement) 은 일반 언어의 문장과 비슷하다. 
파이썬에서 변수와 자료형 각각은 명령문이 될 수 없지만, 이들을 이용하여 명령문을 만들 수는 있다. 

JavaScript 의 ; 와 같이, 파이썬에서는 명령문이 공백(Whitespace) 로 구분된다. 
파이썬에서는 아무데나 여백을 넣을 수 없다! 

IndentationError: expected an indented block
파이썬의 공백이 제대로 작동하지않을때, 위의 에러 메세지를 보게 된다. 

def spam():
    eggs = 12
    return eggs    
print spam()

함수 spam()을 정의하고, 그 함수를 정의할 때 다음칸 두번째줄부터 space 4번이 들어가야한다. 


주석

# 로 시작하면 Comment (한줄 ) 

""" ~ """ 는 여러 줄을 주석처리 하는것 

연산자 

덧셈 연산자. Addition (+)
뺄셈 연산자. Substraction (-)
곱셈 연산자. Multiplication (*)
나눗셈 연산자. Division (/)
거듭제곱 연산자. Exponentiation (**)
모듈로 연산자. Modulo (%)

거듭제곱일 때, 2**3 = 8. 2의 3승 이라는 뜻 
모듈로 % 는 어떤 수를 정수로 나누고 난 나머지 값 만을 반환한다.

문자열

파이썬의 또 다른 유용한 자료형은 문자열 (String) 이다. 
  • 선언 : string 처럼 변수를 설정할 필요없이 name = "Yunhee" 처럼 ''나 "" 안에 필요한 문자열을 넣어 사용할 수 있다.
  • 문자열 따옴표 안에 \(백슬래쉬) 를 넣어 이스케이프 처리 할 수 있다. 예를들에 문자열 안에 따옴표를 넣어야 할 경우 따옴표 안에 \를 넣으면 된다. 
  • offset - 자바의 String 을 char 의 배열로 접근 할 수 있었던 것 처럼, 

    Python 또한 offset 을 가지고있다. 각각의 문자 마다 숫자가 붙어있음을 나타내는 방법이다. 
  • 예를들어 문자열 var ="python"을 정의했다면, 왼쪽부터 0, 1, 2, 3, 4, 5 로 호출 할 수 있다. 
    fifth_letter = "YUNHEEE"[4] 를 프린트 하면 E 를 반환한다 .

문자열 Method

  • len() : 문자열의 길이를 잰다.
parrot = "ABCDE"   
print len(parrot)     ##output : 5 자바는 str = "ee"; int= str.length();
  • lower()
print parrot.lower()
  • upper()
print parrot.upper()
  • str() : 소괄호 안에 무엇을 넣든, 해당문자를 출력할 수 있는 문자열의 형태로 반환한다. 문자열이 아닌 것들을 문자열로 만든다. 
str(2) # 스트링 "2" 로 바꿔준다. 

점 표기법 : parrot.upper()
은 문자열 리터럴 과 문자열이 저장된 변수에 사용할 수 있다.
이 메소드(upper, lower)는 문자열에 특화되어있고, 그 외에는 사용하지 않기 때문이다. 

하지만 len() 와 str() 는 다른 모든 종류의 개체 - objects 에서도 사용이 가능하다.  함수처럼 호출 한다. 

[str 으로 변환]
str() 메소드를 사용하여 문자열이 아닌것들을 문자열로 변경하는것을 명확한 문자열 변환이라고 한다. 

print "test" + 123 #이렇게 실행 하면 TypeError 가 발생한다.
print "test"+str(123) #이렇게 실행해야 원하는 값 "test123" 이 출력된다. 

[문자열 포맷팅]
파이썬의 문자열은 한 번 생성 되고 난 뒤엔 변경이 불가능하다 (immutable)
하지만 문자열에 유연성을 부여할 방법으로 문자열 포맷팅(String Formatting) 이 있다. 이는 %기호를 사용한다.

print "%s" % (string_variable)
 
넣고싶은 문자열이 여러개면 여러개의 %s 를 사용한다.

name = raw_input("What is your name?")
quest = raw_input("What is your quest?")
color = raw_input("What is your favorite color?")
print "Ah, so your name is %s, your quest is %s, " \
"and your favorite color is %s." % (name, quest, color)

 

'Programming' 카테고리의 다른 글

[Java] 문자열  (0) 2018.03.30
[Java 문제풀이] String - Anagram  (0) 2018.03.16
[Java 문제풀이] Arrays: Left Rotation  (0) 2018.03.10
[Java 문제풀이] - 피보나치  (0) 2018.03.10
OOP 객체지향 프로그래밍  (0) 2017.12.12
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함