C 변수의 정의



변수란 어떤 값을 담는 그릇이라 생각 하면 됩니다.

값의 변화가 가능하며 숫자, 문자열, 포인트 등등 다양한 종류가 있습니다.





데이터 형의 종류



변수에는 다양한 데이터 종류가 있습니다.

예를 들어 숫자형에는 int, double, float이 있으며 해당 데이터 형에는 문자열 입력이 안됩니다.


 데이터형의 종류

 

  

  • int : 정수형 ( 2,147,483,648 ~ 2,147,483,647 )

  • char : 문자형 ( -128 ~ 127 )

  • float : 부동호 소수점 

  • double : 실수형




변수 사용 예제



 int main(int argc, char** argv) 


 {


int sum = 0 ;



int a = 10 ;



int b = 20 ;


sum = a + b ;


printf("%d + %d = %d", a, b, sum);


return 0;

 } 



반응형

'프로그램 > C' 카테고리의 다른 글

[C] 연산자  (0) 2017.03.07
[C] 함수  (0) 2017.03.05
[C] 주석 사용법  (0) 2016.11.23
[C] C 시작 ( Console 출력 )  (0) 2016.08.26
[C] 무료 개발 툴 Dev-C++ 설치  (0) 2016.08.24

파이썬 클래스 사용법 #2



다시 클래스에 대해 이어서 설명 해 보겠다. 


원래 난해하고 쉽지 않은 내용이니 좌절하지 말고 끝까지 보길 바랍니다.


자 다른 예로 설명해 보겠다.


음료 자판기를 예를 들어 설명해 보겠다.


간단하게 돈 넣으면 음료수 2개중 한개를 선택해 음료수가 나오게 하겠다.


==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


total_money = 10

product = '음료1','음료2'

price = 2, 3


in_money = input("돈을 넣어주세요(2~3)")

sel_drink = input("음료를 선택해 주세요(1~2)")


if sel_drink == 1 and in_money >= 2:

    print"%s 나왔습니다."%product[0]

    total_money = total_money + 2

elif sel_drink == 2 and in_money >= 3 :

    print"%s 나왔습니다." % product[1]

    total_money = total_money + 3


print"자판기에 %d원 있습니다."%total_money

==========================================================

결과 :  

돈을 넣어주세요(2~3)3

음료를 선택해 주세요(1~2)1

음료1 나왔습니다.

자판기에 12원 있습니다.

==========================================================


이제 여기서 거스름 돈도 주는 기능을 넣고 싶고 음료수도 더 추가 하고 싶다.


어떻게 되겠는가.. 프로그램 전반적으로 다시 다 수정 해야 된다.


하지만 다음과 같이 위의 기능을 클래스로 만들어 뒀으면


==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


class vend_machine :

    total_money = 10

    in_money = 0

    sel = 0

    product = '음료1', '음료2'

    price = 2, 3


    def input_money(self):

        self.in_money = input('돈을 넣어주세요')


    def get_drink(self):

        sel = input('음료수를 선택해주세요')

        if sel == 1 and self.in_money >= 2:

            print"%s 나왔습니다." % self.product[0]

            self.total_money = self.total_money + 2

        elif sel == 2 and self.in_money >= 3:

            print"%s 나왔습니다." % self.product[1]

            self.total_money = self.total_money + 3

        print"자판기에 %d원 있습니다." % self.total_money



vm = vend_machine()

vm.input_money()

vm.get_drink()

==========================================================

결과 :  

돈을 넣어주세요3

음료수를 선택해주세요1

음료1 나왔습니다.

자판기에 12원 있습니다.

==========================================================


클래스 부분만 수정 하고 


클래스를 사용하는 부분 

   vm = vend_machine()

   vm.input_money()

   vm.get_drink()

)


은 변경 할 필요가 없이 수정이 가능하다. 


다음은 음료수를 추가해 보고 거스름돈도도 나오게 해보자


==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


class vend_machine :

    total_money = 10

    in_money = 0

    sel = 0

    product = '음료1', '음료2', '음료3'

    price = 2,3,4


    def input_money(self):

        self.in_money = input('돈을 넣어주세요')


    def get_drink(self):

        sel = input('음료수를 선택해주세요')

        if sel == 1 and self.in_money >= 2:

            print"%s 나왔습니다." % self.product[0]

            self.total_money = self.total_money + 2

            self.in_money = self.in_money - 2

        elif sel == 2 and self.in_money >= 3:

            print"%s 나왔습니다." % self.product[1]

            self.total_money = self.total_money + 3

            self.in_money = self.in_money - 3

        print"자판기에 %d원 있습니다." % self.total_money

        print"거스름돈 %d원 있습니다." % self.in_money

        self.in_money = 0


vm = vend_machine()

vm.input_money()

vm.get_drink()

==========================================================

결과 :  

돈을 넣어주세요5

음료수를 선택해주세요1

음료1 나왔습니다.

자판기에 12원 있습니다.

거스름돈 3원 있습니다.

==========================================================


클래스만 수정 하였고 클래스를 사용하는 부분은 전혀 수정을 가하지 않았다.


또한 이렇게 클래스를 만들어 두면 다른 프로그램에서 사용 할 수 있다.


이것을 프로그램의 재 사용성이라고 하며 


재 사용성을 높여 프로그램의 생산성, 유지보수성을 향상 시킬수 있다.


 

이전 클래스 설명 가기 ====> click

다음 클래스 설명 가기 ====> click




반응형

'프로그램 > Python' 카테고리의 다른 글

[Python] 모듈 #1  (0) 2016.11.12
[Python]클래스(3)  (0) 2016.11.02
[Python]클래스 (1)  (0) 2016.09.16
[Python]파일(File) 사용법  (0) 2016.09.16
[Python]사용자 입력  (0) 2016.09.16

파이썬 클래스 사용법



클래스에 대해 알아보겠다.


클래스는 무엇인가 DATA + 함수 즉 자료와 행동 두 가지를 모두 묶어서 관리 할 수 있는 사용자 자료 형이다.


간단한 예를 통해 이해를 도와 보자


더하기 예제

==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-

a = 1

b = 2

sum = a + b

print sum

==========================================================

결과 :  

3

==========================================================


더하기 하는 예제 이다 여기서 1,2 말고 다른 값도 더하고 싶다 그럼 어떻게 하나


==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-

a = 1

b = 2

c = 3

d = 4

e = 5

f = 6

sum = a + b

print sum

sum = c + d

print sum

sum = e + f

print sum

==========================================================

결과 :  

3

7

11

==========================================================


이렇게 변수를 늘리고 연산 작업을 계속 늘여 써야 가능 할텐데 우린 함수라는 것을 배웠으니


다음과 같이 처리가 가능 할 것이다.


==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


def sum(a, b) :

    print a+b


sum(1,2)

sum(3,4)

sum(5,6)

==========================================================

결과 :  

3

7

11

==========================================================


연산 작업은 함수로 만들어서 처리가 가능 하다 하지만


더한 값을 또 더하고 싶다면 어떻게 하나?? 함수를 수정해 더한 값을 저장 하게 끔 해야 한다.


==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


def sum(a, b) :

    retval = a + b

    print retval

    return retval


a = sum(1,2)

b = sum(a,1)

c = sum(a,b)

==========================================================

결과 :  

3

4

7

==========================================================


위와 같이 값이 관리 될 수 있도록 하면서 함수를 사용하고 싶을 때는 클래스를 사용한다.


==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


class calc :

    lastValue = 0


    def sum(self,a ):

        self.lastValue = self.lastValue + a

        print self.lastValue


c = calc()

c.sum(1)

c.sum(2)

c.sum(5)

==========================================================

결과 :  

1

3

8

==========================================================


위와 같이 클래스만 관리하면 따로 함수도 만들 필요도 없고 변수도 클래스 안에서 모두 관리 가능하다.


다음 클래스 설명 가기 ====> click

반응형

'프로그램 > Python' 카테고리의 다른 글

[Python]클래스(3)  (0) 2016.11.02
[Python]클래스 (2)  (0) 2016.09.16
[Python]파일(File) 사용법  (0) 2016.09.16
[Python]사용자 입력  (0) 2016.09.16
[Python] 함수 (3)  (0) 2016.09.16

파이썬 파일 사용법



이번 강좌는 파일 생성, 읽기, 쓰기에 대해 알아보도록 하겠다.


파일 생성

==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


file = open("newfile.txt", 'w')

file.close()

==========================================================

결과 :  

==========================================================


프로그램을 실행 한 곳에 newfile.txt라고 파일이 생성 된 것을 확인 해 볼 수 있다.


open은 파일을 생성, 읽기, 추가 등을 할 수 있다.


open( 파일명, 모드 ) 모드는 r(읽기), w(쓰기), a(추가) 


경로 지정 파일 생성

==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


file = open("c:\\newfile.txt", 'w')

file.close()

==========================================================

결과 :  

==========================================================


c:\\ 경로에 newfile.txt이 생성 된것을 확인 할 수 있다.



파일 쓰기

==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


file = open("c:\\newfile.txt", 'w')

file.write("안녕하세요 파일씨~\n")

file.write("반가워요")

file.close()

==========================================================

결과 :  

==========================================================


c:\\ 경로 newfile.txt에 "안녕하세요 파일씨~\n", "반가워요" 2줄의 문장이 입력 된 것을 확인 할 수 있다.


모드는 w로 하여 write 함수를 사용해 파일에 입력 할 수 있다.


파일 읽기1

==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


file = open("c:\\newfile.txt", 'r')

line = file.readline()

print line

line = file.readline()

print line

file.close()

==========================================================

결과 :  

안녕하세요 파일씨~


반가워요

==========================================================


파일 open 모드를 'r' 로 한 다음에 readline을 이용하여 한줄 씩 파일을 읽어 올 수 있다.


파일 읽기2

==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


file = open("c:\\newfile.txt", 'r')

lines = file.readlines()


for line in lines :

    print line


file.close()

==========================================================

결과 :  

안녕하세요 파일씨~


반가워요

==========================================================


readlines를 이용하여 여러줄을 읽어 올 수 있다.



파일 내용 추가 하기

==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


file = open("c:\\newfile.txt", 'a')


file.write("\n잘가요")


file.close()

==========================================================

결과 :  

==========================================================


open 모드를 a 로 주면 파일 맨 끝에 내용을 추가 할 수 있다.



앞에 예제들을 보면 항상 프로그램을 끝 마치기 전에 파일 close를 한다.


이것을 하지 않으면 파일에 문제가 생기거나 메모리에 문제가 생길 수 있으니 항상 해준는 것이 좋다.


하지만 이렇게 번거로운 작업을 매번 하기 힘드니 with 문을 이용해 close 하는 것을 잊지 않아 항상


with를 사용해 프로그램 짜는 습관을 갖는 것이 좋다.



close를 하지 않고 with문 사용하기

==========================================================

#!/usr/bin/python

# -*- coding: utf-8 -*-


with open("c:\\newfile.txt", 'a') as file :

    file.write("\n다음에 봐요")    #들여 쓰기가 되어야 한다.

==========================================================

결과 :  

==========================================================


위와같이 close를 안해도 with 블록을 벗어나면 자동으로 close가 된다.





반응형

'프로그램 > Python' 카테고리의 다른 글

[Python]클래스 (2)  (0) 2016.09.16
[Python]클래스 (1)  (0) 2016.09.16
[Python]사용자 입력  (0) 2016.09.16
[Python] 함수 (3)  (0) 2016.09.16
[Python] 함수 (2)  (0) 2016.09.11

+ Recent posts