# [python study note] 추상화

### 1\. 파이썬에서 등호의 의미

같다의 의미가 아닌 지정 연산자

**지정연산자란?**

오른쪽에 있는 값을 왼쪽 변수에 지정해 주는 것

---

### 2\. return문

함수 값을 돌려주는 역할, 함수를 즉시 종료시키는 역할

start가 출력되고 리턴이 출력된다.

리턴문은 함수를 출력하면서 종료시키는 역할을 하기 때문에 end는 출력되지 않고 hello world가 출력된다.

```plaintext
def ex(x):
    print('start')
    return x * x
    print('end') #dead code(의미 없는 코드)
    
print(ex(5))
print('hello world')

출력
start
25
hello world
```

---

### 3\. print함수와 return문

가장 아래에 있는 printEx(3)을 먼저 계산한다.

파라미터로 정수 3이 넘어가 콘솔에 9가 출력된다.

printEx문에는 return문이 없기 때문에 return값이 없다는 의미에서 none값이 리턴된다.

```plaintext
def printEx(x):
    print(x * x) #9
    
print(printEx(3)) #None
```

---

### 4\. scope (범위)

**로컬변수** : 함수 내에서 정의한 변수. 그 함수 내에서만 사용가능함

```plaintext
def ex():
    x = 5
    print(x)
    
ex() #5
print(x) #NameError: name 'x' is not defined

x가 로컬변수 이기때문에 함수 내에서만 사용이 가능하다.
```

**글로벌변수** : 함수 밖에서 정의한 변수. 로컬변수와 달리 모든 곳에서 사용할 수 있다.

```plaintext
x = 5

def ex():
    print(x)
    
ex() #5
print(x) #5
```

---

### 5\. 상수 (Constant)

절대로 바뀌지 않는다.

상수의 이름을 지을때는 모든 글자를 대문자로 한다.

1. 일반 변수와 상수를 쉽게 구분하기 위해
    
2. 실수 방지. 절대 수정하지 않겠다 !
