파이썬 기초 문법 정리 - 소프트웨어 이야기
파이썬 문법 익히기파이썬은 가장 대중적이면서도 쉽게 다가갈 수 있는 언어 중 하나에요.보통 프로그래밍 언어를 새로 깔면 'Hello World'를 출력해 ...
파이썬 기초 문법 정리 :: 소프트웨어 이야기

# [소프트웨어 이야기](https://software-creator.tistory.com/)

- [분류 전체보기 (37)](/category)
  - [기타 (1)](/category/%EA%B8%B0%ED%83%80)
  - [안드로이드 (Android) (5)](/category/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%20%28Android%29)
  - [플러터(Flutter) (11)](/category/%ED%94%8C%EB%9F%AC%ED%84%B0%28Flutter%29)
  - [코딩 배우는 법을 배우기 (10)](/category/%EC%BD%94%EB%94%A9%20%EB%B0%B0%EC%9A%B0%EB%8A%94%20%EB%B2%95%EC%9D%84%20%EB%B0%B0%EC%9A%B0%EA%B8%B0)
  - [서버 (3)](/category/%EC%84%9C%EB%B2%84)
  - [파이썬 (4)](/category/%ED%8C%8C%EC%9D%B4%EC%8D%AC)
  - [독서 (1)](/category/%EB%8F%85%EC%84%9C)
  - [IT 발자취 (2)](/category/IT%20%EB%B0%9C%EC%9E%90%EC%B7%A8)

- [홈](/)
- [태그](/tag)
- [미디어로그](/media)
- [위치로그](/location)
- [방명록](/guestbook)

## [파이썬 기초 문법 정리](/18)

2019\. 4. 11. 00:12

반응형

파이썬 기초 문법 정리

### 파이썬 문법 익히기

파이썬은 가장 대중적이면서도 쉽게 다가갈 수 있는 언어 중 하나에요.

보통 프로그래밍 언어를 새로 깔면 'Hello World'를 출력해봅니다.

프로그래밍 언어가 제대로 설치 되었는지 확인하기 위해서요.

```

xxxxxxxxxx

print('Hello World')

```

위의 코드를 실행해 보세요.

잘 출력되나요? 파이썬 설치가 성공적으로 되었어요.

그럼 이제부터 기본적인 파이썬 문법을 알아보도록 할께요.

변수, 조건문, 리스트 등이 가장 기초적인 파이썬 문법입니다.

### 변수

프로그래밍은 기본적으로 어떤 데이터를 저장하고, 이를 자유롭게 처리하는 것이에요.

데이터를 쓰려면, 쓰기 전에 어딘가에 저장을 해두어야해요.

어떤 데이터가 들어간 공간을 변수라고 합니다.

```

xxxxxxxxxx

a = 10 print(a)​

```

a라는 변수에 10을 넣고 출력을 해보았습니다.

```

xxxxxxxxxx

a = 20print(a)​b = 30​print(b)​sum = a + b​print(sum)​c = 50d = 40​result = 50 - 40​print(result)​

```

변수는 여러개를 만들 수 있고 더하고 뺄 수도 있어요.

```

xxxxxxxxxx

a = 50b = 40​result = a / bprint(result)​result = a // b # 나눴을 때 몫입니다. #는 주석인데, #이 달려있으면 그 뒤에 있는 건 컴퓨터가 무시해요!print(result)​result = a % b # 나누었을 때 나머지에요.print(result)

```

곱하거나 나누어 줄 수도 있죠.

변수에는 정수뿐만 아니라 실수나 문자도 넣을 수 있습니다.

```

xxxxxxxxxx

name = 'mike'​print(name)​city = 'seoul'​print(city)​a = 10.5​print(a)​

```

참 거짓을 나타내는 변수도 있죠.

```

xxxxxxxxxx

live_in_seoul = Trueprint(live_in_seoul)​live_in_tokyo = Falseprint(live_in_tokyo)​

```

##### 문제 1.1

###### 변수 a에 숫자 10을 넣고 출력해보세요.

##### 문제 1.2

###### 변수 city에 문자 seoul을 넣고 출력해보세요.

##### 문제 1.3

###### 변수 a에 20, 변수 b에 30을 넣고 둘을 더해보세요.

변수는 데이터를 저장하는 가장 간단한 방법이에요.

근데 변수는 한번에 하나의 데이터만 담을 수 있습니다.

여러 데이터를 담고 싶으면 어떻게 해야할까요?

### 리스트

많은 데이터를 한꺼번에 다루려면 리스트를 사용합니다.

```

xxxxxxxxxx

names = ['mike', 'jane', 'tom']print(names)​print(names[0]) # 리스트의 첫번째 값을 가져옵니다. 컴퓨터는 항상 0부터 시작해요.​print(names[1])print(names[2])​# print(names[3]) # 에러가 생깁니다. 리스트의 길이보다 큰 인덱스에 접근하려고해서 그래요.​

```

리스트에 있는 값에 접근하려면 인덱스를 써야됩니다.

인덱스는 names\[0\]에서 \[0\] 같은 걸 말하는데요.

항상 0부터 시작하고, 리스트의 길이보다 작아야합니다.

names 리스트는 길이가 3이니 2까지만 쓸 수 있죠.

```

xxxxxxxxxx

odd_number = [1, 3, 5, 7, 9]​print(odd_number)​user_data = [ 20, 'mike', 'seoul' , True]print(user_data)

```

리스트에는 같은 종류의 변수뿐만 아니라 다른 종류의 변수도 섞어 쓸 수 있어요.

숫자, 문자 섞어서 쓸 수 있어요.

리스트는 여러 데이터를 쓸 수 있어 편리하지만, 어느 위치에 있는지(인덱스)를 알아야해요.

인덱스를 모르고도 쓸 수 있는 저장 방식이 있을까요?

### 사전 (딕셔너리)

사전은 '키'를 써서 데이터를 접근하고 사용합니다.

```

xxxxxxxxxx

user = {}user['age'] = 25user['address'] = 'seoul'​print(user)​print(user['age'])​print(user.get('age')) ​user['age'] = 90​print(user.get('age'))​

```

사전을 쓰려면 user = {} 처럼 적어줘야 합니다.
위 코드에선 'age' 와 'address'가 키로 쓰였습니다.

사전에서 값을 가져오는 방식은 2가지인데요.

user\['age'\] 처럼 가져올 수도 있고, user.get('age')처럼 가져올 수도 있어요.

보통은 user.get('age')처럼 쓰는 걸 권장해요. 키가 없어도 에러가 생기지를 않거든요.

다음은 조건문에 대해서 알아볼께요.

##### 문제 2.1

###### 홀수만 5개 있는 리스트를 만들어서 출력해보세요.

##### 문제 2.1

###### 도시 이름을 3개 넣은 리스트를 만들어서 출력해보세요.

##### 문제 2.3

##### 과일(fruit) 사전을 만들어보세요. 키는 color, size로 해주세요.

### 조건문 IF 문

조건문은 어떤 조건을 만족할 때 실행되는 명령을 말합니다.

우리 일상으로 비유를 해보자면

"스타벅스에 가면, 아메리카노를 시킨다"
"아침 8시가 되면, 일어나서 아침을 먹는다"

같은 게 조건문이 될 수 있겠죠.

그럼 파이썬의 조건문을 알아볼께요.

```

xxxxxxxxxx

live_in_seoul = True​if live_in_seoul:    print('서울에 살아요')    live_in_seoul = False​​if live_in_seoul:    print('서울에 살아요')

```

조건문은 if문 안에 있는 조건을 만족하면 실행됩니다.

위의 코드에서 첫번째 if문은 실행되고 두번째는 실행되지 않겠죠

```

xxxxxxxxxx

name = 'jane'​if name == 'jane':    print('이름이 제인이에요')else:    print('이름이 제인이 아니에요.')

```

else 문은 if문과 함께 쓰이는데요.

if 문을 만족하지 못하는 경우에 실행됩니다.

```
age = 35

if age > 30:
    print('30살보다 많습니다.')
else:
    print('30살보다 적어요.')

```

if 문은 다양하게 응용이 가능하답니다.

기초 중의 기초라고 할 수 있죠.

### 조건문 For 문

다른 많이 쓰이는 조건문은 For 문입니다.

위에서 리스트를 사용할 때 인덱스 하나하나 접근을 했죠.

리스트가 작아서, 3,4개 데이터만 있으면 괜찮지만

100개, 1000개면 어떻게 처리할까요?

이럴 때 for 문이 필요합니다.

for 문은 반복적인 작업을 쉽게 처리할 수 있게 해줘요.

```
odd_number = [1, 3, 5, 7, 9, 11, 13]

for num in odd_number: # num 은 odd_number에 있는 변수에요.
    print(odd_number)

```

odd\_number란 리스트에 있는 숫자를 하나하나 확인하면서 출력을 합니다.
처음의 num은 1
다음의 num은 3
마지막 num은 13

이런 식으로 되겠죠.

for문은 if문과 함께 쓰이는 경우가 많습니다.

짝수만 출력하는 함수를 만들어볼께요.

```

xxxxxxxxxx

number = [1,2,3,4,5,6,7]​for num in number:    if num % 2 == 0:        print(num)​

```

num을 2로 나눴을 때 0인것만 출력하고 있어요.

For문은 실행중에 멈출 수도 있는데요. break를 쓰면 되요.

```

xxxxxxxxxx

ages = [10, 21, 25, 33, 44, 55, 66]for i in ages:    if i > 30:        print('여기서 멈출께요')        break

```

위의 코드는 리스트에 있는 값이 30을 넘는 순간 멈추도록 했습니다.

for 문은 원할 때 언제든지 끝낼 수 있어요.

##### 문제 3.1

###### For문을 써서 1부터 10까지의 합을 구한 뒤 출력하세요.

##### 문제 3.2

##### For문과 If 문을 써서 홀수만 출력해보세요.(20까지만 출력하세요)

### 함수

함수는 같은 일을 반복하지 않기 위해서 사용합니다.
예컨데 변수 3개를 더하는 경우를 생각해 볼께요.

```

xxxxxxxxxx

a = 10b = 20c = 30​result = a + b + c​print(result)​d = 11e = 21f = 31​print(result)

```

변수에 값을 넣고 더하는 작업으 반복하고 있죠. 엄청 번거로운 일입니다.

함수를 만들면 이런 번거로움을 덜 수 있어요.

```

xxxxxxxxxx

def add(x, y, z): # add 함수. x,y,z는 입력값    return x + y + z # 함수 내에서 계산을 하고 함수 밖으로 내보냅니다.         result = add(10, 30 , 50) # 함수로 계산한 결과는 result에 들어가게 됩니다. ​​print(result)​​result = add(5, 7, 11)​print(result)​​result = add(1, 3, 4)​print(result)

```

함수를 항상 def를 앞에 적어줘야해요.

그리고 입력과 결과값(함수 내에서 계산한 값)이 있어야 합니다.

일단 여러 함수를 써보다 보면 개념이 이해가 될 거에요.

```

xxxxxxxxxx

def subtract(x, y):    return x - y        result = subtract(20 , 10)print(result)​result = subtract(35, 22)​print(result)

```

곱하는 함수도 만들어볼께요.

```
def multiply(w, x, y, z):
    return w * x * y * z

result = multiply(2, 3, 4, 5)
print(result)

result = multiply(10, 20, 30, 40)
print(result)

```

함수를 항상 만들어 쓸 필요는 없고 내장 함수(파이썬 언어를 만든 사람들이 미리 만든 함수)를 쓰면 편합니다.

```
a = "Good morning, man"
a.upper() # - 대문자로 바꿔줍니다.

a.lower() #  소문자로 바꿔줍니다.
a.count('m') # m이 몇개나 있는지 세줍니다.

a = "Life is too short"
a.replace("Life", "Your height")

a = "I regret what I did to you"
a.split()  # split은 문자열을 나누는 함수다.  값을 넣지 않으면 공백으로 잘라줍니다
['I', 'regret', 'what', 'I', 'did', 'to', 'you']

d = "home,mother,sweet"
d.split(",")
['home', 'mother', 'sweet']

a.swapcase() # 대문자와 소문자를 바꾸어준다.

str(3) # str은 문자열로 만들어주는 함수이다. str(3)을 실행하면 문자열이 된다.

len("hi") # 길이를 알려주는 함수이다.

```

##### 문제 4.1

###### 삼각형의 넓이를 구하는 함수를 만들어보세요.

# (삼각형 공식 : 밑변의 길이 x 높이 / 2)

##### 문제 4.2

###### 원의 넓이를 구하는 함수를 만들어보세요.

# (원의 넓이 공식 : 3.14 x 반지름 x 반지름)

### 추천 사이트 및 책

- 기본적인 문법

  - 튜토리얼 포인트 : [https://www.tutorialspoint.com/python/](https://www.tutorialspoint.com/python/)

    - 문법을 간단하게 설명해주고 있어요.
  - 코드카데미 : [https://www.codecademy.com/learn/learn-python](https://www.codecademy.com/learn/learn-python)

    - 하나 하나 실행해보며 파이썬 배우기 좋아요.
  - 점프 투 파이썬 : [https://wikidocs.net/book/1](https://wikidocs.net/book/1)

    - 웹상의 무료 자료 중엔 좋습니다.
- 크롤링

  - 파이썬으로 웹 크롤러 만들기, 라이언 미첼 : [http://www.yes24.com/Product/Goods/71047040?scode=032&OzSrank=1](http://www.yes24.com/Product/Goods/71047040?scode=032&OzSrank=1)

    - 전 1판으로 봤는데, 코드 깔끔하고 깊이가 있었습니다.
  - 파이썬을 이용한 웹 크롤링과 스크레이핑, 카토 코타 : [http://www.yes24.com/Product/Goods/59307498?scode=032&OzSrank=1](http://www.yes24.com/Product/Goods/59307498?scode=032&OzSrank=1)

    - 번역 훌륭하고 따라해보기 좋아요
- 백엔드

  - 깔끔한 파이썬 탄탄한 백엔드, 송은우 : [http://www.yes24.com/Product/Goods/68713424?scode=032&OzSrank=1](http://www.yes24.com/Product/Goods/68713424?scode=032&OzSrank=1)

    - 저자의 뛰어난 역량과 쉬운 설명이 돋보입니다.
    - 책 다 따라하면 레벨업 되어 있을 거에요.
- 데이터 분석

  - 파이썬 라이브러리를 활용한 데이터 분석 : [http://www.yes24.com/Product/Goods/11043328?scode=032&OzSrank=1](http://www.yes24.com/Product/Goods/11043328?scode=032&OzSrank=1)

    - 파이썬 데이터 분석 라이브러리 첨 배우기에 좋아요
- 업무 자동화

  - 파이썬과 비즈니스 자동화 : [http://www.yes24.com/Product/Goods/66368636?scode=032&OzSrank=2](http://www.yes24.com/Product/Goods/66368636?scode=032&OzSrank=2)

    - 좀만 응용하면 업무에 써먹을만한 수준의 코드를 알려줍니다.
  - 일 잘하는 평사원의 업무 자동화 : [http://www.yes24.com/Product/Goods/60745026?scode=032&OzSrank=3](http://www.yes24.com/Product/Goods/60745026?scode=032&OzSrank=3)

    - 첫 책으로는 나쁘진 않는데 깊이가 좀 아쉬워요..

### 문제 해답

##### 문제 1.1

###### 변수 a에 숫자 10을 넣고 출력해보세요.

```
a = 10
print(a)

```

##### 문제 1.2

###### 변수 city에 문자 seoul을 넣고 출력해보세요.

```
city = 'seoul'
print(city)

```

##### 문제 1.3

###### 변수 a에 20, 변수 b에 30을 넣고 둘을 더해보세요.

```
a = 20
b = 30
print(a + b)

```

##### 문제 2.1

###### 홀수만 5개 있는 리스트를 만들어서 출력해보세요.

```
odd_number = [1, 3, 5, 7, 9]
print(odd_number)

```

##### 문제 2.1

###### 도시 이름을 3개 넣은 리스트를 만들어서 출력해보세요.

```
cities = ['seoul', 'daegu', 'busan']
print(cities)
print(cities[2])

```

##### 문제 2.3

###### 과일(fruit) 사전을 만들어보세요. 키는 color, size로 해주세요.

```
fruit = {'color': 'White' }
fruit['size'] = 20

print(fruit)

```

##### 문제 3.1

###### For문을 써서 1부터 10까지의 합을 구한 뒤 출력하세요.

```
sum = 0
for i in range(1, 10):
    sum += i

print(sum)

```

##### 문제 3.2

###### For문과 If 문을 써서 홀수만 출력해보세요.(20까지만 출력하세요)

```

xxxxxxxxxx

for i in range(1, 21):    if i % 2 == 1:        print(i)

```

##### 문제 4.1

###### 삼각형의 넓이를 구하는 함수를 만들어보세요.

###### (삼각형 공식 : 밑변의 길이 x 높이 / 2)

```

xxxxxxxxxx

def triangle_area(width, height):    return width * height / 2​area = triangle_area(30, 10)print(area)

```

##### 문제 4.2

###### 원의 넓이를 구하는 함수를 만들어보세요.

###### (원의 넓이 공식 : 3.14 x 반지름 x 반지름)

```

xxxxxxxxxx

def circle_area(radius):    return 3.14 * radius * radius​​area = circle_area(5)print(area)

```

반응형

공유하기

게시글 관리

**소프트웨어 이야기**

#### ' [파이썬](/category/%ED%8C%8C%EC%9D%B4%EC%8D%AC)' 카테고리의 다른 글

[파이썬 정규표현식 배워보기](/32)(4)2021.01.09[파이썬 \- 데이터 분석 라이브러리 (numpy, pandas, matplotlib) 익히기](/22)(4)2019.04.24[파이썬 크롤링 시작하기 \- html 구조와 간단한 크롤링](/20)(5)2019.04.17

NAME

PASSWORD

HOMEPAGE

SECRET

#### [\+ Recent posts](/category)

- [![post image](https://tistory1.daumcdn.net/tistory/2949782/skin/images/blank.png)엔비디아 창업자 젠슨황이 말하는 1000조원 가치의 기⋯](/38)
- [![post image](https://tistory1.daumcdn.net/tistory/2949782/skin/images/blank.png)오픈AI CEO인 샘알트만이 말하는 13가지 성공비법](/37)
- [![post image](https://tistory1.daumcdn.net/tistory/2949782/skin/images/blank.png)놀라운책, 프로그래머의 뇌를 읽고](/36)
- [![post image](https://tistory1.daumcdn.net/tistory/2949782/skin/images/blank.png)힐트 Hilt 안드로이드에서 의존성 관리하기](/35)

Powered by [Tistory](http://www.tistory.com/), Designed by [wallel](http://wallel.com/)

[Rss Feed](https://software-creator.tistory.com/rss) and
[Twitter](https://www.twitter.com/),
[Facebook](https://www.facebook.com/),
[Youtube](https://www.youtube.com/),
[Google+](https://plus.google.com/)

## 티스토리툴바