파이썬1

수민·2022년 8월 30일
0

개발

목록 보기
41/45

Python 변수 (Variables)

변수 (Variable)는 메모리에 데이터를 저장하는데 사용되는 공간의 이름입니다.

변수에 저장되는 데이터 또는 객체는 프로그램 안에서 계속해서 변할 수 있습니다.

변수를 선언하고 사용하는 방법에 대해 알아봅니다.

순서는 아래와 같습니다.

변수 선언과 할당

변수 이름 정하기

변수 선언과 할당

파이썬에서는 변수의 선언과 할당이 동시에 이루어집니다.

선언과 할당

age = 10

print(age)
print(type(age))
10
<class 'int'>
age라는 변수에 숫자 10을 할당했습니다.

파이썬에서는 변수의 자료형을 따로 지정해주지 않아도 값에 따라 자동으로 결정되는데,

파이썬 내장함수 type()을 이용해서 변수의 자료형을 확인해보면 int 형인 것을 알 수 있습니다.

새로운 값 할당하기

age = 10
print(age)

age += 1
print(age)
10
11
코드 안에서 새로운 값이 할당되지 않는 동안 변수의 값은 그대로 유지됩니다.

할당 연산자 +=를 이용해서 변수에 1을 더해주면, 이제 변수의 값은 11이 됩니다.

Python 연산자 (Operators) - 할당 연산자 페이지를 참고하세요.

다양한 자료형
age = 11
deposit = -33000
ratio = 1.5
fruit = 'apple'

print(age, type(age))
print(deposit, type(deposit))
print(ratio, type(ratio))
print(fruit, type(fruit))
11 <class 'int'>
-33000 <class 'int'>
1.5 <class 'float'>
apple <class 'str'>
변수에는 정수, 실수, 문자열 등 다양한 값을 할당할 수 있습니다.

자료형을 확인해보면, 각각 int, float, str 형임을 알 수 있습니다.

문자열 연결
age = 11 + 1
fruit = 'pine' + 'apple'

print(age)
print(fruit)
12
pineapple
숫자끼리 더하면 값이 더해지고,

문자열을 더하면 문자열이 연결됩니다.

파이썬의 이러한 기능을 문자열 연결 (string concatenation)이라고 합니다.

Python 문자열 (Strings) 페이지를 참고하세요.

동시에 선언, 할당하기
a = b = c = 10
d, e, f = 10, 35.2, 'pineapple'
동일한 값을 갖는 변수를 동시에 선언할 수도 있고,

각각 다른 값을 동시에 할당할 수도 있습니다.

변수 이름 정하기
파이썬 코드에서 변수의 이름을 정하는 방법을 소개합니다. (Python 공식문서 - Naming Conventions)

  1. 의미를 알 수 있게 하자.
    a = 10 # Bad
    age = 10 # Good
    예를 들어, 나이를 나타내는 변수의 이름은 ‘a’ 대신 ‘age’로 하는 것이 좋습니다.
  1. 소문자 ‘l’/대문자 ‘O’/대문자 ‘I’는 피하자.
    l = '1ong' # Bad!
    O = '0range' # Bad!
    I = 'line' # Bad!
    소문자 l은 숫자 1과 구분하기 어려울 수 있습니다.

대문자 O는 숫자 0과 구분하기 어려울 수 있습니다.

대문자 I는 소문자 l과 구분하기 어려울 수 있습니다.

  1. 변수와 함수의 이름은 소문자로.
    def hello():
    print('Hello')

hello()
변수와 함수의 이름은 기본적으로 소문자로 지정합니다.

  1. 문자열의 연결은 언더스코어 ()을 사용하자.
    가독성을 높이기 위해서 단어 간의 연결은 언더스코어 (
    )를 사용합니다.

함수
def say_hello():
print('Hello')

say_hello()

변수
fruitsnumber = 20 # Bad
num_fruits = 20 # Good

  1. 클래스의 이름은 CapWords 스타일로.
    class MemberInfo():
    pass
    클래스의 이름을 정할 때에는 CapWords와 같이 단어의 첫 글자에만 대문자를 사용합니다.
  1. 상수는 모두 대문자로.
    PI = 3.14
    TEMP = 300
    파이썬에서 사용하는 상수에는 모두 대문자를 사용합니다.

함수를 사용하는 이유는 무엇일까?

프로그래밍을 하다 보면 똑같은 내용을 반복해서 작성하고 있는 자신을 발견할 때가 종종 있다. 이때가 바로 함수가 필요한 때이다. 즉 반복되는 부분이 있을 경우 "반복적으로 사용되는 가치 있는 부분"을 한 뭉치로 묶어서 "어떤 입력값을 주었을 때 어떤 결괏값을 돌려준다"라는 식의 함수로 작성하는 것이 현명하다.

함수를 사용하는 또 다른 이유는 자신이 만든 프로그램을 함수화하면 프로그램 흐름을 일목요연하게 볼 수 있기 때문이다. 마치 공장에서 원재료가 여러 공정을 거쳐 하나의 상품이 되는 것처럼 프로그램에서도 입력한 값이 여러 함수를 거치면서 원하는 결괏값을 내는 것을 볼 수 있다. 이렇게 되면 프로그램 흐름도 잘 파악할 수 있고 오류가 어디에서 나는지도 바로 알아차릴 수 있다. 함수를 잘 사용하고 함수를 적절하게 만들 줄 아는 사람이 능력 있는 프로그래머이다.

def는 함수를 만들 때 사용하는 예약어이며, 함수 이름은 함수를 만드는 사람이 임의로 만들 수 있다. 함수 이름 뒤 괄호 안의 매개변수는 이 함수에 입력으로 전달되는 값을 받는 변수이다. 이렇게 함수를 정의한 다음 if, while, for문 등과 마찬가지로 함수에서 수행할 문장을 입력한다.

간단하지만 많은 것을 설명해 주는 다음 예를 보자.

위 함수는 다음과 같이 풀이된다.

"이 함수의 이름(함수 이름)은 add이고 입력으로 2개의 값을 받으며 결괏값은 2개의 입력값을 더한 값이다."

여기에서 return은 함수의 결괏값을 돌려주는 명령어이다. 먼저 다음과 같이 add 함수를 만들자.

이제 직접 add 함수를 사용해 보자.

변수 a에 3, b에 4를 대입한 다음 앞에서 만든 add 함수에 a와 b를 입력값으로 넣어 준다. 그리고 변수 c에 add 함수의 결괏값을 대입하면 print(c)로 c의 값을 확인할 수 있다.

매개변수와 인수

매개변수(parameter)와 인수(arguments)는 혼용해서 사용되는 헷갈리는 용어이므로 잘 기억해 두자. 매개변수는 함수에 입력으로 전달된 값을 받는 변수를 의미하고 인수는 함수를 호출할 때 전달하는 입력값을 의미한다.

[같은 의미를 가진 여러 가지 용어들에 주의하자]

프로그래밍을 공부할 때 어려운 부분 중 하나가 용어의 혼용이라고 할 수 있다. 우리는 공부하면서 원서를 보기도 하고 누군가의 번역본을 보기도 하면서 의미는 같지만 표현이 다른 용어를 자주 만나게 된다. 한 예로 입력값을 다른 말로 함수의 인수, 매개변수 등으로 말하기도 하고 결괏값을 출력값, 반환 값, 돌려주는 값 등으로 말하기도 한다. 이렇듯 많은 용어가 여러 가지 다른 말로 표현되지만 의미는 동일한 경우가 많다. 따라서 이런 용어를 기억해 놓아야 머리가 덜 아플 것이다.

일반적인 함수

입력값이 있고 결괏값이 있는 함수가 일반적인 함수이다. 앞으로 여러분이 프로그래밍을 할 때 만들 함수는 대부분 다음과 비슷한 형태일 것이다.

출처 :https://codetorial.net/python/variables.html
https://wikidocs.net/24#_4

profile
헬창목표

0개의 댓글