[Python] Python 기초!

바울·2022년 6월 22일
0
post-thumbnail

print?

파이썬에서 제일 기본이되는 명령어이다 화면에 출력을 하고자 할때는 print 명령어를 사용할 수 있습니다. 예를 들어, "Hello World!" 를 화면에 출력하고자 할때는 다음 코드를 실행하면 됩니다.

print("Hello World!")

print의 정확한 문법은 다음과 같습니다.
먼저 print 라는 function(함수) 이름이 위치
그리고 괄호가 위치
괄호 안에 따옴표가 위치
마지막으로 따옴표 안에 출력하고자 하는 string(문자열)이 위치

string?

문자열을 나타내는 data type 입니다. 두개의 따옴표 ("") 사이에 있는 문자열을 string 이라고 합니다. 파이썬이 string 을 출력할때 따옴표들은 제외하고 출력하게 됩니다. 따옴표들은 단순히 print의 괄호 안에 들어가는 값들이 string 이라고 알려주는 역할을 할 뿐입니다.

Data Types?

Data type은 해당 데이터가 숫자인지 문자인지 등의 타입을 이야기 합니다. 예를 들어, 숫자 2 와 문자 "2", 그리고 소수점 숫자 2.0은 사람에게는 문맥상 같은 의미를 가지지만 컴퓨터에게는 3개가 전부 다른 의미를 가집니다. 따라서 정확한 data type의 값을 지정하는것이 중요합니다.

파이썬에서는 다음과 같은 데이터 타입들이 존재 합니다.

String : 큰따움표("") 안에 있는 글자들은 string 입니다. ex) "안녕하세요", "Hello World!", "100"

Integer : 정수 값을 이야기 합니다. ex) 1, 2, 100

Float : 소수점 숫자를 이야기 합니다. ex) 2.0, 3.7, 9.99

Complex Numbers : 실수와 허수를 포함하고 있는 복소수를 이야기 합니다. 파이썬에서는 j를 사용하여 허수를 표현합니다. ex) 1+3j, 2-4j

Boolean : True 나 False 이 2가지 값만 가지고 있으면 조건문에서 많이 사용됩니다. ex)

1 == 1 → True
2 == 3 → False
3 == "3" → False (Data type이 틀리기 때문)

Variables (변수)?

파이썬에서 variables(변수)는 데이터의 별명(식별자)이라고 생각할 수 있습니다. 예를 들어,
이름성바울 입니다.
성별남자 입니다.
위의 두 문장을 읽으시면 아마 다음과 같이 이해를 하셨을 것 같습니다.
이름 = 성바울
성별 = 남자
여기서 이름은 "성바울"를 뜻하고 있고, 성별은 "남자"를 뜻하고 있습니다. 만약 제가 여러분에게 "저의 이름" 이라고 말씀 드리면 여러분은 "성바울" 라고 이해하실 겁니다. 마찬가지로 "저의 성별" 이라고 말씀 드리면 여러분은 "남자"라는 값을 연결시켜 생각하실 겁니다. 만약 다른 사람에 대한 문맥이라면 "이름"과 "성별" 이라는 단어들은 "성바울" 와 "남자" 가 아닌 다른 값을 뜻할 것입니다.
파이썬에서 variables(변수) 는 위의 "이름" 그리고 "성별" 과 같은 역할을 합니다. 즉, 어떠한 특정 값을 저장하고 있는 '명사' 라고 생각하시면 됩니다.
위의 두 문장을 파이썬으로 표현 하면 다음과 같습니다.

name   = "성바울"
gender = "남자"

여기서 variable은 name 과 gender 이고 "성바울"는 name 변수가 나타내는 값이며, 마찬가지로 "남자"는 gender 변수가 나타내는 값입니다. 이름이라는 단어가 나타내는 값은 사람마다 다를 수 있듯이 파이썬에서 변수도 다른 값으로 바뀔 수 있습니다.

다음 처럼 name 변수와 gender 변수의 값을 다르게 바꿀수 있습니다.

name   = "아이유"
gender = "여자"

지금까지 보셨듯이 파이썬 에서 변수는 = 기호의 왼쪽에 위치하고 실제 값은 = 기호의 오른쪽에 나옵니다.

그리고 = 기호는 "assignment" 즉 값 지정을 뜻합니다.

변수가 지정되면 파이썬은 변수의 실제 값을 자동으로 적용합니다. 예를 들어, print문에 실제 string 값을 적용하는 대신에 변수를 사용할 수 있습니다.

name = "성바울"
print(name) ## "성바울" 출력

name = "아이유"
print(name) ## "아이유" 출력

변수 이름을 정하는 것에도 법칙이 있습니다.

변수 이름은 영어 알파벳과 숫자 그리고 underscore 으로만 구성해야 합니다.
변수 이름 첫글자는 알파벳이나 underscore로만 시작해야 합니다.
숫자로 시작될 수 없습니다.
영어 알파벳은 대문자와 소문자가 구분이 됩니다.
올바른 변수 이름 : name, _name, my_name, myName
잘못된 변수 이름 : 7name, my name

변수에 저장할 수 있는 값(value)은 string 뿐만 아니라 다음 처럼 숫자 값도 저장 할 수 있습니다.

age = 23
next_year = age + 1
print(next_year)

#출력
24

연산 및 정수 소수 음수 모두 사용 가능합니다.

Math Expressions - Add

def add ():
  
  int_sum = 3 + 12;
  
 
  return int_sum;

print(add()) --> 15

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

위에 소스를 해석해보면 int_sum변수에 있는 값이 return에 의해 add함수로 반환되어 print(add( ))를 이용해 add함수에 있는 3+12값인 15를 출력한다.

Math Expressions - Divide

def divide():

  result = 66 // 10
 

  return result

print(divide()) --> 6

위에서 봤듯이 divude함수도 똑같다 //은 몫을 출력하는 연산자이다. 66을 10으로 나누면 6이 나온다 이 값이 return에 의하여 divide함수로 반환되어 print(divide( ))로 출력하면 6의 값이 나온다.

Finding a Remainder

def find_remainder():
 
  number = 6

  remainder = number % 5
  
 
  return remainder --> 1

//와 비슷한 %연산자도 있다 %는 나누고 몫을 뺀 나머지 값이다. 그러므로 6을 5로 나누면 1이 남기 때문에 return값은 1이 나온다.

Increment a Number

def increment():

  my_int = 83
  
  my_int += 1
  

  return my_int --> 84

위에 소스에 += 라는 연산자는 다음과 같은 뜻이다.

my_int = 83

my_int = my_int + 1

그러므로 my_int라는 변수의 값이 84가 되어 return값이 84가 나온다.
이외에 -=, *=, /=, 이런 연산자도 있다.

Order of Operators

파이썬 (그리고 일반적으로 다른 프로그래밍 언어도 마찬가지) 을 사용하여 수학 연산을 할때 조심해야 할 점이 있습니다. 그건 바로 어떠한 연산을 하느냐에 따라 실행되는 순서가 달라 수 있다는 점입니다.

다음의 코드를 예를 들어 보겠습니다.

result = 10 + 20 * 3

result 의 값을 예상해보세요. 아마 90이라고 생각하실 수 도 있으신데요, result 의 값은 70 입니다. 결과 값이 70인 이유는 이 + 보다 먼저 실행되기 때문입니다. 즉, 20 3 이 먼저 실행된 후 그 결과 값인 60 에 10이 더해지기 때문에 70입니다.

파이썬 수학 연산 표현들의 순서는 다음과 같습니다.

1. ( )
2. **
3. *, / , 그리고 %
4. + 와 -

만일 실행되는 순서가 동일한 연산들이 있을 경우 (예를 들어 곱하기 와 나누기), 먼저 나오는 연산이 먼저 실행됩니다.

여기서 중요하게 기억해야 하는 점은 괄호 입니다. 괄호안에 포함된 연산은 항상 먼저 실행됩니다. 앞서 본 연산의 값을 70이 아닌 90으로 만들기 위해서는 괄호를 사용하면 됩니다.

result = (10 + 20) * 3

연산의 순서는 혼동되기 쉬어 버그가 날 수 있는 요인이 될 수 있으므로 괄호를 적절히 사용해서 명확히 해주는 것이 코드의 가독성을 높일 수 있습니다.

Concatenating Text Strings

숫자와 마찬가지로 string 도 더할 수 있습니다. 이를 string concatenation 이라고 합니다. 2개 혹은 그 이상의 문자열들을 잇는걸 뜻합니다. 예를 들어, 이전에는 "Hello, World!" 를 출력하기 위해서는 다음과 같이 구현했습니다.

print("Hello, World")

하지만 다음 처럼 구현 할 수도 있습니다.

print("Hello," + "World")

위에서 보았듯이 string 을 잇기 위해서 + 을 사용하면 됩니다. string concatenation 은 언제 사용하면 좋을까요? 특정 문자열만 변수에 저장되어 있을 때 사용하면 편리합니다.

예를 들어, input으로 받은 유저의 이름을 저장한 변수를 사용해서 출력 하고 싶을 경우에는 string concatenation 을 사용하면 편리합니다.

name = input()

print("Hello," + name)

만일 "John" 이란 값이 input으로 입력 되었다면 "Hello, John" 이라고 출력이 되게 됩니다.

Significant Whitespace

Whitespace 란 바로 들여쓰기(indention)을 이야기 합니다. 다른 언어에서는 들여쓰기가 필수사항은 아닙니다. 단순히 코드의 가독성을 높이기 위해서 사용하는 수준입니다. 하지만 파이썬에서는 들여쓰기는 요구사항 입니다. 들여쓰기를 통해 코드의 종속성을 나타냅니다. 예를 들어 JavaScript나 자바등의 다른 언어들은 함수에 종속된 코드를 나타내기 위해서 중괄호 ({ }) 를 사용합니다. 하지만 파이썬에서는 중괄호를 사용하지 않고 들여쓰기를 사용해서 종속된 코드를 나타냅니다.

들여쓰기의 칸 수는 일반적으로 4칸입니다. (2칸을 사용하는 개발자도 있습니다.) 대부분 tab 사이즈를 space 4칸으로 설정해서 tab으로 들여쓰기를 합니다. 들여쓰기는 함수 뿐만이 아니라 if문, for문, class등 파이썬의 모든 것에 적용됩니다.

0개의 댓글