'전체 글'에 해당되는 글 88건

함수

코딩 연습/Python 2018. 10. 4. 01:18

함수는 긴 코드를 보다 간결하고 보기 쉽게 보조해주는 기능이다.


어떤 상황에서 함수의 필요성이 생기는지 살펴보자.


1
2
3
4
5
6
7
8
9
10
11
name1 = "jeremi"
name2 = "paul"
name3 = "ryan"
name4 = "selena"
name5 = "adrianne"
 
print("hello, {}".format(name1))
print("hello, {}".format(name2))
print("hello, {}".format(name3))
print("hello, {}".format(name4))
print("hello, {}".format(name5))
cs


각각 변수에 이름을 지정해주었다.

그리고 'hello, 이름'의 형태로 출력하려고 한다.


문제는 이러한 변수와 print 함수의 개수가 기하급수적으로 늘어나면 어떻게 될까?

그리고 'hello'에서 'hi'로 변경하고 싶다면 수정해야할 코드량이 그만큼 늘어날 것이다.


1
print("hello, {}".format(name))

cs


지속적으로 반복되는 이 코드를 함수 활용으로 코드량을 줄이고 수정도 용이한 형태로 만들어보자.


def 함수명(매개변수):

return 반환값


기본 함수 형태를 확인하고, 


1
2
def hello_friend(name):
    print("hi, {}".format(name))
cs


우리가 만든 함수는 hello_friend 이름을 가졌고, name은 매개변수로 입력 받은 값을 넘겨주는 역할을 한다.

return인 반환값이 없어도 hello_friend 함수 호출시 print함수가 항상 작동한다. 


1
2
3
4
hello_friend(name1)
>> hi, jeremi
hello_friend(name5)
>> hi, adrianne
cs


함수 호출은 함수명을 작성하고 넘겨줄 값의 변수를 소괄호에 넣어준다.

우리가 앞서 지정한 변수의 값을 넘겨 받아 출력된다.


수정도 손쉽게 할 수 있다.


1
2
def hello_friend(name):
    print("hello, {}".format(name))
cs


코드를 한 번 살짝 변경하면 달라진 결과물을 얻을 수 있다.

블로그 이미지

쵸잇

,

for와 while은 반복을 수행하는 문법이다.


- 반복문은 동일한 값이나 일정 범위의 값을 일일이 작성하기가 번거로워 생긴 문법이다.

- 반복문을 잘 활용하면 코드 사용량을 줄일 수 있어 자주 쓰이는 문법 중에 하나이다.


1. for 문


- 영어에서 for는 시간(또는 기간)을 나타내는 명사와 함께 쓰여 '~동안에'라는 의미를 갖는다는 걸 알고있다.

- for 문에서는 시간은 아니지만 일정 범위에 해당하는 목록을 지정해서 사용한다.


for 변수명 in 변수로 지정될 데이터의 범위:

반복할 코드


- for 문의 형태이다.


1
2
for num in range(110):
    print(num)
cs


- for 문의 예시이다. 

- range 함수를 활용하여 1~9까지의 숫자를 범위로 지정했다. (컴퓨터언어는 숫자가 0부터 시작이므로 10은 9를 뜻한다)

- 범위에 포함된 숫자 1~9를 변수 num에 하나씩 전달한다.

- 변수 num을 print하면 개수 만큼 9번 반복해서 숫자를 순서대로 하나씩 출력한다.


1
2
3
4
5
6
7
8
9
10
11
12
for num in range(110):
    print(num)
>>
1
2
3
4
5
6
7
8
9
cs


- 범위를 range 함수 말고도 list, tuple, set, dict과 같은 목록 형태의 자료형을 사용할 수 있다. (자료형에 대해선 별도로 다룰 것이다)


1
2
3
4
num_list = [123456789]
 
for num in num_list:
    print(num)
cs


- 숫자 1~9를 리스트로 만들어 num_list 변수의 값으로 지정

- range(1, 10)과 동일하게 리스트의 숫자를 하나씩 num 변수로 보내어 반복 출력한다.



2. while 문


- while 문은 if 문과 for 문의 기능을 내포하고 있다.

- if 문처럼 조건에 부합 여부에 따라 while 문을 작동시켜 코드를 반복한다.


1
2
while True:
    print(1)
cs


- 예시로 조건이 항상 참이 되도록 while 문을 작성하면 print(1) 함수가 무한히 반복되는 무한루프가 발생한다.

(무한루프 : 코드의 한 구간이 끝나지 않고 무한히 반복되는 현상)

- 그럼 숫자 1만 한 번씩 무한히 반복된다.


1
2
3
4
= 1
while a < 10:
    print(a)
    a = a + 1
cs


- 우선 변수 a에 1을 값으로 지정 

- while 문에 변수 a가 10보다 작은 경우에 반복이 되도록 조건을 지정

- 조건이 참인 경우 print 함수는 넘겨받은 변수의 값을 출력한다. 

- 마지막으로 변수의 값에 1을 더해 변수 a에 대입하고 다시 처음으로 돌아간다.

- a가 1씩 증가해 9가 되면 최종적으로 변수가 10이 되므로 반복은 멈추게 된다.

'코딩 연습 > Python' 카테고리의 다른 글

함수  (0) 2018.10.04
클래스(class) (3) - 내장함수 활용 및 클래스 상속  (0) 2018.10.03
클래스(class) (2) - 내장함수 활용하기  (0) 2018.10.02
클래스(class) (1)  (0) 2018.10.01
블로그 이미지

쵸잇

,

1. 스키마 정의


- 간단하게 데이터베이스구조와 구조 안에 포함된 여러 제약조건을 스키마라고 한다.

- DB에는 여러 객체가 존재하는데, 객체 마다 가져야할 특성이 있으므로 객체의 특성에 맞는 속성과 그의 제약조건이 기술된 것이다.

- 제약조건은 예를 들면 전화번호 속성에 정수인 숫자만 입력하도록 조건을 걸어 문자 입력할 경우 오류를 발생시킨다.

- 관점에 따라 외부, 개념, 내부 스키마로 나누어진다.



2. 스키마 특징


- 스키마는 데이터 사전에 저장되는데, 다른 이름으로는 메타데이터라고 한다. 

- 데이터 사전데이터를 설명하는 데이터라고 하는데, 스키마도 일종의 데이터베이스의 구조를 명세하는 데이터라고 보면 되겠다.

- 시간이 지나도 변하지 않는다. 제약조건의 경우 수정이 없으면 계속 유지되어야하는 것이다.

- 스키마는 데이터의 구조적 특성이고, 인스턴스에 의해 규정된다.

- 인스턴스는 객체의 속성에 부합하는 데이터 값을 가지는 것이다. 

- 학생부 객체에서 한 명의 학생에 대한 데이터(이름, 학번, 주소 등)를 인스턴스라고 한다.



3. 스키마의 3계층


외부 스키마 = 서브 스키마 = 사용자 뷰 

- 전체 데이터베이스에서 자신이 필요한 데이터를 가져다 쓸 수 있도록 별도의 스키마를 만든 것이다. 그래서 서브 스키마이다.

- 필요에 따라 스키마를 만들 수 있으므로 외부 스키마는 데이터베이스에서 다수 존재한다.

- 일반 사용자는 쿼리 언어(Query Language)를 이용해서 데이터베이스에 접근한다.


개념 스키마 = 전체 뷰

- 개념 스키마가 그냥 스키마다. 전체 데이터베이스이므로 단 하나이다.

- 여러 객체 간의 관계, 제약 조건, 권한, 보안 등을 정의

- 데이터베이스 관리자(DBA)가 만든다.


내부 스키마 = 저장 스키마

- 실질적으로 저장장치에 저장될 데이터의 구조를 정의한다. 

- 인스턴스의 데이터 크기가 얼마인지 등의 물리적인 구조를 나타낸다.  

'컴퓨터과학 > 데이터베이스' 카테고리의 다른 글

데이터베이스 개념  (0) 2018.10.03
정보 시스템  (0) 2018.10.02
블로그 이미지

쵸잇

,