Python 기본 문법 01

Jaeyong Park·2021년 11월 19일
0
post-thumbnail

Log In

Python

Python is an interpreted high-level general-purpose programming language. Its design philosophy emphasizes code readability with its use of significant indentation. Its language constructs as well as its object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.

파이썬은 1991년 귀도 반 로섬에 의해 개발되었다.
...
중략
...

뭐 여튼 쉽게 생각하면 컴퓨터가 0110101010101010 이면 그거를 사람의 언어로 바꿀 무언가가 필요하다.

(와... 뭔말인지도 모르겠다.)

파이썬 문법으로

print("hello world")

귀도 만세.

파이썬 문법

박재용(은) 밥을 먹었다. vs 박재용(는) 밥을 먹었다.

뭐 둘다 쓰라면 쓰겠지만 문법파괴자가 존재한다.
그리고 0과1인 컴퓨터는 문법이 파괴하면 연산자체가 불가하게 설게되어있다.

그럼 몇 가지의 문법을 알아보자.

1. Data Type

말 그대로 데이터의 type이다.
타입에는 여러가지 종류가 있다.

크게는
1. Numeric(숫자)
2. Dictionary(딕셔너리 형) - 모르면 외우자 일단.
3. Boolean(부울형. True or False)
4. Set(세트 타입)
5. Sequence Type(나열이 가능한 타입)
6. Binary Type(그림엔 없지만 메모리라 생각하자)

오늘은 3가지만 봐야지. Boolean, Sequence에서 String, 그리고 Numeric이다.

1-1. Boolean

이건 부울이라는 사람이 고안한 형태인데 참, 거짓을 나타낸다. TF테이블 극혐.

불리언은 쉽게 보면 말 그대로 True or False라고 생각하면 쉽다.

a = 3
b = 5
print(a==b)

--> False

a = 1
b = 1
print(a==b)

--> True

1-2. String

컴퓨터 프로그래밍과 형식 언어 이론에서 문자열은 기호의 순차 수열을 말한다. 스트링이라고도 한다. 이러한 기호는 미리 정의된 집합이나 음소 문자에서 선택한다.

그냥 쉽게 문자!로 보면 된다.
들어올 수 있는 형태는 많다. 숫자, 문자, 기호까지.

a = 1
b = 3
c = "Hello world"
d = "!@#$%!#%!"

etc

1-3. Numeric

여기서도 integer, float, complex_number등으로 나누어 진다.

a = 3
b = 3.3
c = 3+3j

print(type(a)) 
print(type(b))
print(type(c))


결과:
<type 'int'>
<type 'float'>
<type 'complex'>

중요한 점 하나는 만약 a = 1, b="3" 인경우에 두 수를 더하면 어떻게 될까?

a = 3
b = "5"

print(a+b)

결과:Traceback (most recent call last):
  File "/Users/jyp/PycharmProjects/pythonProject/week1_4.py", line 4, in <module>
    print(a+b)
TypeError: unsupported operand type(s) for +: 'int' and 'str'

Type Error는 타입에 문제인데 이런 경우는 숫자랑 str을 더하기 연산자를 사용해서 그렇다. 그냥 두 개의 타입이 달라서 불가능하다고 보면 된다.

a= 3, b=5일때 +를 쓰면 당연하게 8이 나온다.
만약 c = "3"이고 d ="5" 인 경우는 어떻게 될까?

a = 3
b = 5

c = "3"
d = "5"

print(a+b)
print(c+d)

결과:
8
35

문자열 취급을 해서 그냥 나열을 하게 된다.

2. Variable 변수

컴퓨터 프로그래밍에서 변수 또는 스칼라는 아직 알려지지 않거나 어느 정도까지만 알려져 있는 양이나 정보에 대한 상징적인 이름이다. 컴퓨터 소스 코드에서의 변수 이름은 일반적으로 데이터 저장 위치와 그 안의 내용물과 관련되어 있으며 이러한 것들은 프로그램 실행 도중에 변경될 수 있다.

변수는 말 그대로 할당하는 값이다.

만약에 name이라는 단어를 친다고 하자.
print(type(name))을 치면 에러가 나온다. 왜냐하면 name은 사실 메모리를 할당한 것이고 그 메모리에 name이라는 글자를 넣은 것 뿐 어떠한 것도 define , 넣어주지 않았다.
이건 좀 더 deep한 개념 같은데 그냥 익숙해지는 것이 좋을 것 같다.

여튼 name 이라고 할당된 어떤 메모리에 무언가를 넣어야 된다. 집을 지었으면 들어가서 살아야지 그냥 알박기 하면 안된다. 엣헴

개소리는 그만하고
name = "박재용" 이라고 해보자.
컴퓨터는 무조건 순서대로 간다.
수학과인 필자는 그래서 처음에 이게 잘 이해가 안되었다.

a = 1이면 1 = a 지 뭐 또 a = 2를 넣는다. 컴퓨터학과 망해라

일반사회에서 쓰는 = 는 컴퓨터에서는 ==로 생각해야되고
=는 할당의개념이다
name = "박재용" 이라고 하면
name 이라는 공간에 "박재용"이라는 str을 넣어준다는 것이다.
그러니 print(name)을 하면 박재용이 나오고
print(type(name))을 하면 str이 나온다.(type()은 타입을 반환해주는 함수다.)

아 막간을 이용한 꿀팁. 변수 이름을 설정해줄 때
3가지가 있다고 한다.
1. CAMEL 낙타등처럼 중간이 대문자 시작 kidsAge
2. PASCAL 변수에 단어들마다 대문자 시작 KidsAge
3. SNAKE 단어 사이를 밑줄(_) 로 이어줌 kids_age

3. 연산자

  1. '+' 는 더하기
  2. '-' 는 빼기
  3. '*' 는 곱하기
  4. '/' 는 나누기 ==> 결과에 따라 float반환
  5. '//' 는 나누기인데 뒤에 소수점을 반내림 후 integer!
  6. '%' 는 Remainder 나눈 후의 나머지 값만 반환

Log Out

파이썬의 언어에 대해서는 고민하면 고민할수록 많이 나올 것 같다.
일단 재미있는 녀석이다. 0과 1을 내가 볼 수 있는 문자로 찍어준다는 것이 얼마나 감사한 일일까. 하하.

profile
01 Hello World. Login

0개의 댓글