새소식

Python

헷갈리는 파이썬 문법 다지기 1. 변수, 자료형, 연산자, 입출력문

  • -

파이썬 문법의 모든 내용을 담은 게시글이 아닌 헷갈리거나 자주 까먹는 부분의 문법들만 다룬 내용입니다.

 


 

 

파이썬 주석 처리 

- 한 줄 주석: # 

- 여러 줄 주석: 홑따옴표 세 개 또는 쌍따옴표 세 개  

 

 

변수명 만들 때 

- 변수명은 영어 소문자, 대문자 , 숫자, _ 로만 구성한다.

- 변수명은 숫자로 시작할 수 없다. 

- 대소문자를 구분한다. 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 간격의 문자열 

                      2) a>b, c<0 인 경우, a부터 b+1까지의 c 간격의 문자열 

 

- lang[:] 또는 lang[::] : 문자열 전체

 

 

문자열 연결 (+) 

- 문자열 a와 b를 연결하려고 할 때 공백을 넣고 싶다면 a+ ' ' + b

 

문자열 반복 (*) 

- a를 3번 반복하려면 a*3 

 

문자열 길이 ( len() ) 

 

문자열 포함 ( in, not in)

 

문자열 메소드 

- count('a') : 부분 문자열을 센다. 문자열에 있는 a의 개수

- count('a', 5) : 5까지의 범위 중에서 a의 개수 

- count('a', 1, 5): [1:5] 범위 내의 a의 개수 

 

- find('a') : 부분 문자열  a를 찾아서 첫 인덱스를 알려준다. 

- find('a', 5) : 5까지의 범위 내에서 a를 찾아 첫 인덱스를 알려준다. 

 

- join(리스트) : 리스트에 있는 자료들을 문자열로 연결 

friends = ['alice', 'bob', 'candy']
dash = '-'
dash.join(friends) 

alice-bob-candy

 

- split() : 문자열을 스페이스 기준으로 잘라서 리스트에 저장

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>

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.