자료구조, 자료형, Data Type


리스트(list) 변경O

 - 배열(array)
 - 순서열(sequance)

 
튜플(tuple) ----> 튜플은 리스트와 다르게 변경이 불가.

 - 문자열
ex).
 "Hello, World!"

 

*차이점

 -순서열내의 데이터를 변경할 수 있는가
  없는가.

 list1 = [1, 2, 3, 4, 5] 리스트

 tuple1 = (1, 2, 3, 4, 5) 튜플

 순서는 C와같이 0번부터 매겨짐 (튜플 리스트 둘다)

 첫번째 저장값을 나타낼때
  list1[0]
  tuple1[0] - 이땐 대괄호

 list1[2] = 10  O
 tuple1[2] = 19  X

리스트는 문자를 변경이 가능하나, 튜플형 자료형은 바뀌지가 않는다.

 

 

string = "Hello, Korea" - 문자형
string = list( str ) - 형변환 문자형 -> 리스트
print( string )

string[0] = 'H'

 print( string )

 string = str( string )

 print( string )

 

num_list = [ 1, 2, 3, 4, 5] 

num_tuple = ( 1, 2, 3, 4, 5)
string = "Hello, korea"

 

 # slice //사용시 마지막 수는 항상 제외됨 주의
 num_list [1:4] 

: = to (여기서 여기까지)
 print( num_list )

 num_tuple = num_tuple[1:4] 새로만들어진다는 개념 따라서 기존메모리는
     낭비되는상태로 계속 존재
 print( num_tuple )

 string = string[0:5]
 print( string )

 

#slice

 num_list2 = num_list
 num_list2[2] = 10
 print( num_list2 )
 print( num_list )

 리스트(다른변수가아닌 리스트만) 일경우 같은자료형을 참조하는 여러개의
 리스트가 존재 가능(한곳에서 변화를주면 2개다 적용↖)


 num_list2 = num_list[:]
 num_list2[2] = 15
 print( num_list )
 print( num_list2 )

 이런경우 slice를이용하였기때문에 새로 생성되어 영향을 끼치지 않는다.

 

 num_list = input()

 print( type( num_list ) )
 print( num_list )

 int( num_list[0] ) 이렇게 해주지 않고 그냥 밑부분처럼 더할시 1+2 가 3
 int( num_list[2] ) 이 아닌 1+2 가 12가 된다.

 print( num_list ) // 위에 말대로 int형으로 바꾸지 않을시 아래에 식은 12가 나온다.
 print( num_list[0] + num_list[2] )   // num_list = list( num_list ) 이부분에서 리스트로 교체
 a = int( num_list[0] )
 b = int( num_list[2] )

 c = a+b

print(c)

 

 

 


사전(dictionary)

집합(set)

 

converter
 
 - 화씨 => 섭씨
  ( 5 * 화씨 - 160 ) / 9.0
 - 섭씨 => 화씨
  9.0 / 5.0 * 섭씨 + 32

실행화면

 변경할 타입을 입력해주세요: F/C
 *C를 입력했다면
  -변환할 섭씨 온도를 입력해주세요: 0

  -입력한 섭씨 0도는 화씨로 32도 입니다.

 *F를 입력했다면
  -변환할 화씨 온도를 입력해주세요: 32
  -입력한 화씨 32도는 섭씨로 0도 입니다.

 


조건문(분기문/branch)

 if expression;(만약 이 표현식이 참이면)
  //then block (블록을 실행한다.)


파이썬의 블록은 들여쓰기로 구분 (매우중요)

ex).


  if 1 == 1: // C랑은다르게 콜론을 붙임
   print("True")
   print("here is then block")
  print("here is not if block")

 애매한 띄어쓰기 안됨 무조건 맞춰줄것

  ㅁㄴㅇㄹ
   ㅁㄴㅇㄹ  X

  ㅁㄴㅇㄹ
  ㅁㄴㅇㄹ O


  다른 조건에서 실행시킬때는 C랑 똑같게 else사용

  if 1 == 1: // C랑은다르게 콜론을 붙임
   print("True")
   print("here is then block")
  else:
  print("here is not if block")

만약 분기점을 하나더 늘리고 싶다면else를 하나더 쓰느것이아닌 
elif를 추가한다.(c언어의 else if)
만약 elif의 조건이 첫번째 if와 동일하다면 첫번째로만난 조건이 성립할시 나머지 조건은
실행시키지 않는다.

 

구성 문자열 판별
s.isdigit() -> 숫자여부 파악, 리턴 : True, False
s.isalpha() -> 영문자 여부 파악 ,리턴 : True, False
s.isalnum() -> 숫자 혹은 영문자 여부파악, 리턴 : True, False
s.islower() -> 소문자 여부 파악, 리턴 : True, False
s.isupper() -> 대문자 여부 파악, 리턴 : True, False
s.isspace() -> 공백 문자여부 파악, 리턴 : True, False
s.istitle() -> 제문 문자열 여부 파악, 리턴 : True, False

 

u’string‘ -> 유니코드 표현 문자열

unicode(‘한글’) -> 유니코드 문자열로 변환

포맷 문자열

설명

%s

문자열 혹은 임의의 객체를 문자열로 변환 한다(str()함수를 이용함)

%r

문자열 혹은 임의의 객체를 문자열로 변환한다(repr()함수를 이용함)

%c

길이가 1의 문자 ‘%c’, ‘%A’

%d

10진수 정수

%i

정수(%d와 별 차이가 없다 )

%u

부호 없는 정수 ‘%u’ %-12의 결과는 ‘42949967284’ 양수 그래로 음수는 양수적 해석을 적용한다.

%o

8진수

%x

16진수를 소문자 출력 ex)12의 결과는 ‘c’

%X

16진수를 대문자로 출력 ex) 12의 결과는 ‘C’

%e

부동 소수점(실수)를 지수 형태로 표현, 유효숫자는 7자리로 표현한다.

‘%e’ %123.45678 의 결과는 1.234568e+002

%E

%e와 동일 함. ,지수 표현을 대문자 E로 표현

%f

부동소수점(실수)을 표현. %f ‘%123.45678’ 결과는 123.456780

%g

부동소수점을 편의 따라서 소수점 형식 혹은 지수 형식으로 변환함.

6자리의 유효숫자로 표현한다.

%G

%g와 동일 단, 지수 표현을 대문자 E로 표현

 


반복문(loop) : while, for

 -기본 형태-

while 반복문실행조건 :

반복할 코드

반복문 실행 조건을 제대로 작성하지 않을 경우 반복문이 실행되지 않거나 무한 루프에 빠질 수도 있습니다.
-예시-

 


>>> count = 1

>>> while count <=9 :

  print("Count = ", count)

  count += 1

Count =  1

Count =  2

Count =  3

Count =  4

Count =  5

Count =  6

Count =  7

Count =  8

Count =  9


for문

C의 for문과 큰 차이를 보여줍니다.
파이썬의 for문의 기본 형태는

for 타깃식별자 in 문자열or리스트or튜플 :

반복할 코드

로 나뉘게 됩니다.

'in' 뒤에 있는 항목의 첫번째부터 마지막까지 순서대로 타깃 식별자에 대입됩니다.


각각의 경우에 대해 알아보겠습니다.


(1) for 타깃식별자 in 문자열

타깃식별자에 문자열의 첫번째 글자부터 마지막 글자까지 순서대로 대입됩니다.

-예시-

>>> for i in "hello" :

  print(i)

h

l

l

o

(2) for 타깃식별자 in 리스트

리스트의 첫번째 항목부터 마지막 항목까지 순서대로 타깃식별자에 대입됩니다.

-예시-
>>> for i in ["aa", 1, "bb", 2, "c", 3] :

  print(i)
aa

1

bb

2

c

3

(3) C와 유사하게 사용하기 - range() 함수 사용

for문을 C와 유사하게 사용하기 위해선 range() 함수를 사용하면 됩니다.

range의 함수의 원형은 다음과 같습니다.

range(stop)

range(start, stop[, step])

 

인자는 정수를 입력합니다.

정수를 하나만 입력할 경우 (stop)

0 ~ 입력한 정수-1 까지 1씩 증가하며 반복되고,

정수를 두개 입력할 경우 (start, stop)

start ~ stop-1 까지 1씩 증가하며 반복되고,

정수를 세개 입력할 경우 (start, stop, step)

start ~ stop-1 까지 step 씩 증가하며 반복됩니다.

즉, 파이썬의

for i in range(0, 10, 1):
과 같은 for문은, C의
for (i=0; i<10; i++)
와 같은 의미입니다.

-예시-

>>> for i in range (5):

  print(i)

0

1

2

3

4

>>> for i in range (1,5):
   print(i)

1

2

3

4

>>> for i in range (1,5,2):

  print(i)

1

3

 

 

 

 


 

'programing > Python' 카테고리의 다른 글

파이썬5  (0) 2016.12.10
파이썬4  (0) 2016.12.04
파이썬 3  (0) 2016.12.03
구구단 출력  (0) 2016.11.28
파이썬 1  (0) 2016.11.26

 

컴퓨터를 보는 두가지 관점

     1. 언어  : 알고리즘에 대해서 구현방법

 

     2. 알고리즘 : 문제를 해결하는 과정

        (추상적인)  수학적인 언어

 

□ 프로그램 언어의 세대

 

 - 1세대 언어 : 절차적 언어, 서브루틴, 함수

    대표적 언어 : C언어, 포트란, 파스칼, 어셈블리

 

 - 2세대 언어 : 객체지향 언어

대표적인 언어 : C++,JAVA, Pytion

 

 - 함수형 언어 : 1세대 ,2세대 언어와는 달리 문법체계가 다름

대표적인 언어 : 하스켈, JAVA 8

 

하지만 Phtion은 2세대 언어 와 함수형언어를 둘다 지원함.

 

□ Phtion의 특징

Phtion은 1991년 교육용 목적으로 만들어짐

     - 어플리케이션 등을 만들 수있음

     - 운영체제는 볼가능

 

 - 대화식 프로그래밍

 - 인터프리터(실행기) 형식의 언어

 

* 컴파일 형식 VS 인터프리터 형식 언어의 차이

 -  컴파일(번역기) 형식 : C, C++,JAVA.....

 - 인터프리터 형식 : Phtion, 루비, PHP, 자바스크립트....

 

  - Phtion2에서 만든것은 3에서 지원안함(마찬가지로 Phtion3에서 만든것은 2에서 지원안함) 

 

□ Phtion 데이터(date) 타입

 

 - 숫자 : 정수(음수, 0,양수), 실수 복소수 까지 지원

 

 - 문자 : 문자열로 취급-----------> C언어는 문자를 받기 위해서는 문자형(char)을 선언하여 문자를 받거나,

문자열을 받기 위해서는 문자형 포인터(char *)을 사용하거나 문자형 함수(string)를 인클루드 해야 사용가능

 

- 거의 모든 프로그래밍 언어는 실수데이터에 대해서 완벽하게 지원하지 못한다.

 

□ 산술연산자

 - +(더하기), -(뺴기), *(곱하기), /(나누기)

 - //(몫), %(나머지)

 - **(지수연산)

 

* 우선순위

1.** 2.//,%  3.*,/ 4. +,-

() : 우선순위를 변경할수 있음.

 

*중위 표기법 : 연산자가 가운데 들어가는 표기법

 

□ 문자열

 - '(작은 따움표), "(큰 따움표) -------> C언어에서는 '(작은 따움표)는 문자형을 사용, "(큰 따움표) 문자열을 받기 위해사용

파이썬에서는 '(작은따움표), "(큰 따움표) 차이가 없음


ex) "Hello", "Korea""(x) ---------->'Hello", "Korea"'(o)
ex) escape sequence
 - 문자열에 표현 할 수 없는 문자표현
 - 엔터, 따움표, 숫자
 - \n,\",\x60

문자열 연산자 : +, *
 - +: 문자열과 문자열을 합칠떄
 - * : 문자열의 반복


□ 문자와 숫자를 더하는법
 'hello' +str(10)

 '10'숫자를 이렇게 선언하면 문자로 인식
 이것을 int('10') 선언하면 숫자로 인식

 

□ 논리연산자
 - and(그리고), or(또는), not(아닌)
 - True(1), False(0)
논리연산자는 not연산자가 높음

 

□ 비교연산자
 - ==(같다),!=(같지않다)
 - >(크다), >=(크거나 같다)
 - <(작다),<=(작거나 같다)


□ 표현식(expression)
 - 연산이 가능한 문장

□ 변수(variable)
 - 가변적인 데이터
<-> 상수 (정수, 실수, 문자열)
 - 값을 저장하고 언제든지 해당 값을 불러와서 사용

□ 할당(asign)
 - 지정
 - 변수에 값을 저장
 - '='
       ex) width =10
 * 중북지정 불가
 * 숫자로 시작할수 없음
 * 변수의 이름 앞에는 영문 대/소 문자만 올수 있다.
 * 특수문자 사용불가(예외 : "_")

□ 파이썬3는 변수이름을 한글로도 가능함.
 - 입력되기전까지는 변수의 내용은 바뀌지 않는다.

 

□ 파일형태
 - 파일이름.py

 

□ 주석 : #

 대화식 프로그램
 - 표준 입력 : 실행 도중에 키보드로부터 값을 읽어들임
 - 파일 입력
 - 네트워크 스크림 입력
---

표준입력함수 = input() ----------> C언어에서는 scanf()
표준 출력함수 = print() ---------->C언어에서는 printf()

 

 

 

 

'programing > Python' 카테고리의 다른 글

파이썬5  (0) 2016.12.10
파이썬4  (0) 2016.12.04
파이썬 3  (0) 2016.12.03
구구단 출력  (0) 2016.11.28
파이썬 2 - 자료형  (0) 2016.11.27

1차 시험은 족보로 찾아서 잘 보았다.

하지만 자격증을 받기까지 시간은 2년.......

그안에 열심히 해서 2차 시험에 붙도록 열심히 노력하자!!!!!!!!!!!!!!!!

 

+ Recent posts

티스토리 친구하기