파이썬 문법의 모든 내용을 담은 게시글이 아닌 헷갈리거나 자주 까먹는 부분의 문법들만 다룬 내용입니다.
파이썬 주석 처리
- 한 줄 주석: #
- 여러 줄 주석: 홑따옴표 세 개 또는 쌍따옴표 세 개
변수명 만들 때
- 변수명은 영어 소문자, 대문자 , 숫자, _ 로만 구성한다.
- 변수명은 숫자로 시작할 수 없다.
- 대소문자를 구분한다. data와 Data는 다른 변수
- 다음 키워드를 변수명으로 사용하면 안된다.
객체 삭제하기
- del 을 사용하여 객체 삭제 가능하다.
ex. del data
수치자료형 - 복소수
- 복소수형은 실수부와 허수부로 표현한다. 허수부 뒤에는 j또는 J를 붙인다. ex. x= 3+ 5j
x의 type을 찍어보면 complex(복소수형)이라고 찍힌다.
문자열(str)
- 따옴표를 이용하여 표현, 쌍따옴표, 홑따옴표 세 개, 쌍타옴표 세 개 등 다양하게 표현 가능
ex. name= 'Alice'
단어 통쨰로 한 주소에 저장되는 것이 아니라 단어 하나씩 한공간에 하나씩 저장된다.
튜플(tuple)
- 리스트처럼 여러 개의 자료를 저장할 수 있다
- 리스트는 [], 튜플은 () 괄호로 표현
ex. data = (3,6,5,9)
집합 (set)
- 중복되지 않는 여러개의 자료들을 모아서 저장해야하는 경우에 집합을 사용한다.
- { }로 표현
-출력될 때 어떤 순서로 출력이 될지 모름
ex. primes (7,17,3,5,7,19}
print(primes)
=> {17,19,3,5,7}로 출력된다. 중복되는 값은 하나로 저장된다.
사전(dict)
- 키와 값의 쌍으로 구성되는 집합의 일종이다.
ex. count ={1:35, 2:32, 3:30, 4:33}
정수 (int)
- 정수 객체는 수정할 수 없다. (immutable)
- a = 10 이였다가 a= 20을 가르킬 때 똑같은 주소 공간에 값이 바뀌는 것이 아니라 새로운 주소 공간이 만들어지고 그 안에 20이라는 정수가 들어가게 된다.
- c 언어에서는 수정 가능 (mmutable)
실수 (float)
- 소수점으로 표현하기
- 11. 또는 .5와 같이 0을 생략하여 사용하기도 한다.
- 실수의 객체도 수정할 수 없다. (immutable)
- 정수와 실수 자료형을 같이 연산하면 결과는 실수가 된다.
- 실수를 저장할 때 약간의 문제를 일으킬 수도 있다.
ex. 0.2+ 0.1 = 0.30000004 이런식으로 파이썬의 실수 저장방식으로 인해 약간의 오차가 생길 수도 있다.
자료형 변환
실수, 문자 -> 정수로 변환 int()
ex. a= int(5.6)
b = int(-2.9)
c= int('15')
print (a,b,c)
>> 5 -2 15
ex. score = '85'
score + 5
int(score) + 5
>> 90
수치 연산 관련 내장함수
- pow(x, y) : x의 y승을 정수로 반환
math 모듈
- math.fabs() : 절대값 + 실수 출력
- math.pow(x,y) : x의 y승을 실수로 반환
- math.sqrt(x): x의 루트 값
- math.floor(x) : x 이하의 정수 중에서 가장 큰 정수
- math.ceil(x) : x 이상의 정수 중에서 가장 작은 정수
문자열 \ (역슬래쉬)
- 홑따옴표 또는 쌍따옴표 한 쌍을 사용할 때 역슬래쉬는 문자열이 연결됨을 의미한다.
sentence = 'Python is the \
most popular programmming \
language in these days.'
print(sentence)
Python is the most popular programming language in these days.
ex. say 'hello' to mom. 과 같이 강조하는 문자열을 나타내고 싶다면 홑따옴표와 쌍따옴표를 같이 사용한다.
a= "say 'hello' to mom"
c= ''' say 'hello' to mom'''
d= """say 'hello' to mom"""
print (a)
>> say 'hello' to mom
print (c)
>> say 'hello' to mom
print (d)
>> say 'hello' to mom
문자열 슬라이싱 (lang)
- 범위를 이용하여 문자열 일부분에 접근한다.
- lang[a] : 인덱스 a의 문자
- lang[a:b] : 인덱스 a부터 b-1 까지의 문자열
- lang[a:b:c] : 1) a<b , c>0 인 경우 , a부터 b-1까지 c 간격의 문자열
lists = 'alice bob candy david'
lists.split() #스페이스로 분리
['alice', 'bob', 'candy', 'david']
파이썬 입출력문 print()
- 출력하고자 하는 값이 여러 개인 경우에는 콤마로 구분, 출력할 때 각각의 값 사이에 공백 한 개가 추가되어 출력됨
- 홑따옴표나 쌍따옴표 둘 다 이용 가능
- print() 함수 내에 사용하는 특수 문자
print('hello \'world\' !!')
>> hello 'world'!!
print("hello \"world\"!!")
>> hello "world"!!
print('hello "world"')
>> hello "world"
#홑따옴표와 쌍따옴표가 구분되기 때문에 굳이 역슬래쉬 사용 x
print('hello\n world')
>> hello
world
출력문 - %을 이용한 서식 출력
name= "Alice"; score= 95
print('%s got %d score' %(name, score))
>> Alice got 95 score
print('%10s got %5d score' %(name, score))
>> Alice got 95 score #10칸 후 , 5칸 후
math_score= 97.3
print("You got %f in math" %(math_score))
>>You got 97.300000 int math
# %a.bf : 소수점을 포함하여 a칸을 잡고 소수점 아래 b자리 까지 출력
math = 93.5; eng= 88.3
print("Math is %5.2f and Eng is %6.3f" %(math, eng))
>> Math is 93.50 and Eng is 88.300
입력문 - input() 내장 함수
- 키보드로부터 입력 받음
- input으로 받은 내용은 무조건 문자열로 받아짐
- 정수형이나 다른 형으로 바꾸기 위해서는 int(input 내용) 이런식으로 변환하여 사용해야 한다.
x= input('Enter x:')
>>Enter x: 10
print(x)
>> 10
x
>> '10'
type(x) #입력받은 데이터는 항상 문자열로 처리한다.
>><class 'str>