*리스트 자료형

 

- 대괄호 []를 사용해서 여러가지 데이터를 저장할수 있는 자료형이다.

- 순서가 있고 인덱스 0부터 데이터에 접근이 가능하다.

 

 

 

이중 리스트

 

 

삼중 리스트

 

 

 

리스트 더하기

리스트 반복하기

 

- 변수+변수

- 변수*(숫자)

 

 

 

숫자와 숫자는 더할수있는것을 알수있다.

그럼 숫자와 문자열은 어떨까 ?

 

 

정수와 문자열은 더할수없기때문에 형 오류가 발생한다.

 

그렇기 때문에 str이라는 내장함수를 이용하여 정수나 실수를 문자열의 형태로

바꾸어주면 된다.

 

 

 

리스트 값 변경

 

 

**문자열,튜플형의 요소값은 변경할수없지만 리스트는 요소값을 변경할수있다.

 

 

#리스트 함수들

 

리스트에 데이터를 추가하기

 

apeend(x) - 데이터x를 리스트 끝에 추가한다.

insert(i,x) - 인덱스 i에 데이터 x를 삽입한다.

 

 

sort() - 리스트의 요소를 정렬

reverse() - 리스트를 역순으로 바꾸기

index(x) - 리스트 x의값의 위치값 반환

 

리스트에서 데이터 삭제하기

 

remove(x) - 리스트에서 데이터 x를 삭제

             x가 여러개라면 맨 처음 x를 삭제

pop() - 리스트의 맨마지막 데이터를 반환하고 삭제

pop(x) - 리스트에서 인덱스 x에있는 데이터를 반환하고 삭제

 

 

 

count(x) - 리스트에서 데이터 x의 개수를 반환

copy - 리스트를 복사한다.

extend - 리스트를 연결한다.

 

 

*튜플 자료형

 

- 리스트 처럼 여러 데이터를 저장할수있는 자료형이다.

 

- 연산,인덱싱,슬라이싱 동일 사용

 

- 튜플은 데이터값을 변경할수없다.

 

- 데이터를 수정,삭제,추가하는 기능이 없다.

 

#튜플의 특징

- 작은공간을 사용하므로 메모리 효율이 좋다.

 

- 항목이 손상될 염려가 없다.

 

- 딕셔너리의 키로 사용할수있다.

 

- 함수의 인자는 튜플로 전달된다.

 

튜플 () , 리스트 []

 

 

하나의 인자값을 생성하겠다.

 

 

*한개의 인자를 저장할때는 인자값 콤마를 꼭 붙여줘야한다.

 

#리스트와 튜플의 차이점 !

 

- 리스트는 값을 무한으로 바꿀수있고 튜플은 바꿀수없다.

 

- 데이터를 바꾸고싶을때는 리스트를 프로그램이 끝날때까지 데이터를

   바꾸고 싶지않다면 튜플을 사용하자.

 

튜플을 이용하여 여러 변수에 데이터를 저장할수있다.

 

 

 

*딕셔너리 자료형

- 단어 그대로 사전이라는 의미이다.

 

- 리스트나 튜플처럼 순차적으로 해당요소값을 구하지않고

 

  key를 통해서 값을 얻는다.

 

- 야구 = key 값 방망이 = value

 

- 변수 = {'key' : value}

 

-키 값에는 정수,실수,문자열,튜플 사용가능

단 ! 리스트는 데이터값이 많이 바뀌기 때문에 사용이 불가능하다.

 

 

*딕셔너리를 만들때 주의사항

- 딕셔너리에서 key는 고유한 값이므로 중복되는 key값을 설정하면

  하나를 제외한 나머지 것들이 모두 무시된다. 즉 중복되는 key값을 사용하지 말자

 

딕셔너리 안녕이라는 key값에 value값 파이썬을 넣는다.

dic ["안녕"]이라는 키값안에 '파이썬이라는' value값을 출력하는것을 보여준다.

 

딕셔너리는 변수에 대한 key 값도 만들수있다.

var = 1.25

f = {var:"소수점"}

 

var2 = "str"

h = {var2:"문자열"}

 

*주의 key에는 리스트가 들어가지않지만 value에는 리스트값이 들어간다.

 

 

딕셔너리 추가하기

 

 

딕셔너리 삭제하기

 

내장함수 = del

del a[key값] = {key:value}쌍 삭제

 

 

 

#딕셔너리 관련 함수

 

a.keys() - a의 key만을 모아서 객체를 반환한다.

 

 

value 리스트 만들기(value())

 

 

list(a.keys()) - 딕셔너리 키 값들을 객체 리스트로 변환

 

value쌍 모두 지우기(clear)

 

 

딕셔너리 안에 원하는 key값 확인 (in)

 

 

사용자한테 입력을 받겠다.

input () - 내장함수

 

python 2

- 데이터를 입력할때 타입을 정확히 판단할수있는 형태로 넣어야함

 

python3

- 입력한 데이터를 모두 문자열 취급한다.

 

자료형 반환

- input() 문자열로 입력이 되기때문에 앞에 형변환

  int(input("정수입력:"))

 

 

 

내장 함수

int() --> () 정수로 형 바꾸기

 

float() -->() 실수로 형 바꾸기

 

str() --> () 문자열형으로 바꾸기

 

*문자열은 int()로 바꿀수없다.

*정수,소수점은 str() 문자열로 바꿀수있다.

 

# 예제

 

input() 함수를 사용하여 이름,학점,내가사는곳에 대한 값을 입력받고

print() 함수를 이용해 출력하기

 

- 숫자형 자료형

숫자로 이루어진 자료형이다. 정수,실수,복소수,8진수,16진수등이있다.

 

                           항목

                                  사용 예

                           정수

                                313,-313,0

                           실수

                           31.51,-125.232,5.4.3e10

                          복소수

                                 1 + 2j , -3j

                          8진수

                                 0o51,0o42

                         16진수

                                 0x14,0xAB

 

정수는 음의정수와 양의정수 0을 사용

 

실수는 소숫점을 사용

여기서 실수의 4.3e10에 e10은 10의 제곱이다.

e10이 10의 제곱이기때문에 4.3e10은 4.3 * 10**2인것이다.

(e는 대소문자 구분없이 사용가능하다.)

 

8진수와 16진수앞에 들어간 동그라미는 영문자 O가아닌 숫자0이다.

 

복소수

 

파이썬에서 복소수는 j를 사용한다.

 

>>>a = 1+3j

>>>b = 5-4j

 

a와 b 변수에 복소수대입

 

>>>a = 3+6j

>>>b = 2

>>>a * b

(6+12j)

 

a와b변수에 값 삽입 곱한 값 결과

 

*복소수 활용 내장함수*

a.real = 복소수 실수부분 반환

a.imag = 복소수 허수부분 반환

a.conjugate() = 복소수 켤레복소수 반환

abs() 복소수의 절댓값 반환

 

- 문자열 자료형

 

문자,단어등으로 이루어진 자료형이다.

 

문자열 자료형을 만들때에는 " " , ' ' 큰 따옴표와 작은따옴표를 사용해 문자열을 둘러 싸야한다.

 

Ex)

 

"Hello nice to meet you"

 

"This pizza is very delicious"

 

'david guetta'

 

- 문자열 연산

 

저번 기초문법에서 보았듯이

 

>>>food = "pizza"

>>>taste = "is very delicious"

>>>food + taste

'pizza is very delicious'

 

food라는 변수에 "pizza" taste라는 변수에 "is very delicious"를 대입해

둘을 더한값을 출력하는것을 볼수있다.

 

문자열도 곱할수가있다.

 

Ex)

 

>>> print("*"*30)
******************************

 

*표시를 30번 곱해서 나타낸 값이다.

 

- 문자열 인덱싱과 슬라이싱

 

인덱싱 - 가리킨다. [시작번호 0]

슬라이싱 - 자른다. [시작번지 : 끝번지]

 

파이썬의 문자열 숫자는 0부터시작이다.

"Hello python"

이 문장에 H는 숫자0 e는 1 l은 2가 되는것이다.

 

인덱싱(indexing)

 

>>>a = "Hello python"

>>>a[2]

'l'

>>>a[0]

'H'

>>>[5]

' '

*숫자표시엔 공백도 들어가있는것을 볼수있다.*

 

>>>a[-1]

'n'

' - ' 마이너스 기호를 사용하면 뒤에서부터 문자열을 인덱싱한다.

 

슬라이싱(slicing)

 

>>> a = "Hello python"
>>> a[0:3]
'Hel'

 

0부터 3의자리 앞자리까지의 수를 자른다.

 

>>> a[0:5]
'Hello'
>>>

H e l l o ' '

0 1 2 3 4 5   마찬가지로 공백도 포함이다. 공백의 숫자가 5이기때문에

                  Hello 까지의 문자열을 슬라이싱 한 것이다.

 

슬라이싱을 할때 처음숫자가 항상 0일 필요는없다.

 

>>> a[3:5]
'lo'

[ : ] 를 문자열을 전부 슬라이싱한다.

>>> a[:]
'Hello python'

 

슬라이싱도 인덱싱과 마찬가지로 마이너스( - )기호를 사용할수있다.

 

>>> a[-2]
'o'

 

슬라이싱 예제

 

 

 

 >>> a = "20170804sunny"
>>> year = a[:4]
>>> day = a[4:8]
>>> weather = a[8:]
>>> year
'2017'
>>> day
'0804'
>>> weather
'sunny'

 

 

- 문자열 바꾸기 

문자열,튜플은 요소값을 변경할수없다.

그렇기에 슬라이싱 기법을 사용한다.

 

Suneyday를 Sunnyday로 바꿔보자

 

 

>>> a = "Suneyday"
>>> a [3:4]
'e'
>>> a[:3] + 'n' + a[4:]
'Sunnyday'

 

 

 

 

a[3:4] 는 'e'를 가리킨다. e를 가리키는 범위를 알기때문에 문자열을 바꿀수가있다.

a[:3] = Sun , a[4:] = yday 이다.

그렇기에  e는 슬라이싱되었기때문에 'n'이라는 문자를 추가함으로서

 a[:3] + 'n' + a[4:] = 'Sunnyday' 라는 문자열을 새로 만들수있는것이다.

 

- 문자열 포매팅 (formatting)

 

문자열 내에 어떤 특정 값을 변화시키는 방법

 

 


 

                       코드

                           설명

                        %s

                        문자열(string)

                        %c

                  문자 1개 (character)

                        %d

                       정수(integer)

                        %f

                부동 소수(floating-point)

                        %o

                            8진수

                        %x

                           16진수

                        %%

                 Literal % (문자'%' 자체)

 

문자열 포매팅 따라해보기

 

 

 

-정렬과 공백

 

%s를 활용해 정렬과 공백만들기

 

처음문장은 hi를 오른쪽으로 정렬 %12s는 문자열의 전체길이

즉 hi를 오른쪽에 정렬하고 앞공간은 공백처리하는것이다.

 

 

 

 

 

 

 

 

 

 

 

       h

       i

 

%-12s는 왼쪽으로 정렬이다.

그렇기에 뒤쪽공간 10칸을 공백처리한다.

 

- 소수점 표현

 

 

- 문자열 관련 함

 

내장함수를 사용할때는 (변수 '.'  함수이름)

파이썬에서 기본적으로 제공하는 함수이다.

 

문자개수 세기(count)

- 문자열 중 ()인자값안에있는 데이터의 갯수를 반환한다.

 

ex) a = "hobby"

    a.count('b')

 

문자열의 위치(find)

 

ex) a = "python is best choic"

    a.find('b')

 

원하는 데이터가 없을경우 - 1로 반환한다.

 

문자열 삽입(join)

- abcd 문자열의 각각의 문자 사이에 변수a의 값을 삽입하겠다.

 

ex) a = ","

    a.join('abcd')

>>> a = ","

>>> a.join('ab')

'a,b'

>>> a = "!"

>>> a.join('abc')

소문자를 대문자로 바꿔주는 함수(upper)

a = "hi"

a.upper()

'HI

** 이미 문자열이 대문자일경우엔 변화가없음 **

 

대문자를 소문자로 바꾸는 함수 (lower)

a = "GOOD"

a.lower()

'good'

 

왼쪽 공백 지우기 (lstrip)

>>> a = " hi "

>>>a.lstrip()

'hi '

 

오른쪽 공백 지우기(rstrip)

>>>a = " hi "

>>>a.rstrip()

' hi'

 

양쪽 공백 지우기 (strip)
>>>a = " hi "

>>>a.strip

'hi

 

문자열 바꾸기(replace)

>>>a = "Hello python"

 

>>>a.replace("Hello","Good bye")

 

'Good bye python'

 

 

 

문자열 나누기(split)

 

 

()의 아무값이 없으면 공백을 기준으로 Hello 와 python을 나눔

( : ) 와 같은 특정값이 있다면 괄호안의 값을 구분자로 문자열을 나눔

 

 

파이썬의 기초문법을 따라해보기

 

파이썬의 연산자

 

1.산술 연산자

                  연산자

                          기호

                       사용 예

                   덧셈

                            +

                     3 + 5 = 8

                   뺄셈

                            -

                     4 - 3 = 1

                   곱셈

                            *

                     5 * 3 = 15

                  나눗셈

                            /

                     7 / 2 = 3.5

                  나눗셈

                           //

                     7 // 2 = 3

                  나머지

                           %

                     7 % 2 = 1

                  제곱근

                           **

                     10 ** 2 = 100

 

 

다음 연산자는 사칙연산에 쓰이는 산술 연산자이다.

다음 연산자로 에디터를 사용해 사칙연산을 해보자

 

 

숫자와 연산자만 입력해주면 된다.

마치 계산기와 비슷하다.

 

다음은 변수에 숫자와 문자열을 대입해 계산하는 방법이다.

 

a라는 변수에 4 b라는 변수에 3을대입해서 더하면 7이라는 결과값을 보여준다.

 

문자열은 " " 큰따옴표를 사용해서 입력해야만 오류가 나지않고 제대로 된 값을 출력해준다.

a라는 변수에 "Hello"를 대입하고 print(a)를 통해 출력한다.

여기서 print()는 출력함수이다.

 

문자열도 숫자연산과 마찬가지로 a와b변수에 대입해서 더한값을 출력해낼수있다.

 

**변수란 ?

값을 저장하기 위한 저장공간이다.

그렇기에 숫자나 문자열을 대입해서 변수를 출력하면 대입된 값이 출력되는것이다.

 

파이참

 

파이썬 프로그래밍을 하기위한 또다른 에디터이다.

IDLE에디터 보다 훨씬 편이함. 

 

 

http://www.jetbrains.com 파이참을 다운받기위한 주소

 

+ Recent posts