01장 ~ 02-2 (p.16 ~ p.71)

 

점프 투 파이썬으로 파이썬 공부를 시작했다. 작심 3일로 끝나지 말아야 한다..

 

이러면 안된다..

파이썬은 인간 친화적이고 간결한 특성 덕분에 공동작업과 유지 보수가 용이해서 최근에 점점 개발하는 업체와 사용자 수가 증가하고 있다. 나중에는 다른 언어들에게 밀릴 수도 있겠지만 현재로서는 가장 각광받고 있는 언어임에는 틀림없는 것 같다.(출처 : IT WORLD) 구글에서 만든 소프트웨어의 50% 이상이 파이썬으로 제작되었다는 말도 있을 정도다.

파이썬이 배우기 쉬운 편인 것도 있지만 이런 이유들 때문에 입문 언어로 파이썬을 선택한 점도 있다.

 

블로그에는 챕터별 주제와 공부한 내용 중에서 중요하거나 헷갈리는 부분을 기록할 것이다.

 


 

1장 : 파이썬이란 무엇인가?

 

1장은 본격적인 공부 전, 파이썬이 무엇인지에 대해서와 개발 환경 구축에 대해 설명하는 내용으로 구성되어 있었다.

파이썬의 특징과 장단점을 소개한 후 파이썬의 설치 방법과 사용자가 입력한 코드를 실행하는 환경인 인터프리터의 실행 방법, 인터프리터로 간단한 기초 문법 실습, 끝으로는 인터프리터로 작성하기에는 불편한 여러 줄의 복잡한 소스 코드를 작성할 때 사용하는 여러 가지 에디터에 대한 소개와 설명으로 이루어졌다. 그중에서 나는 가장 깔끔하고 편리해 보이는 '비주얼 스튜디오 코드(VSCode)'를 사용할 것이다.

https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

 

 

 

2장 : 자료형

 

2장부터는 본격적으로 기본 문법들을 배우는데 그중에서도 가장 기초라고 할 수 있는 자료형을 배웠다.

 

 

02-1 숫자형

 

숫자 형태로 이루어진 자료형으로, 아래와 같이 정수형, 실수형과 드물게 사용되는 8진수형, 16 진수형 같은 것도 존재한다.

#숫자형 기본
a = 123
b = -3.45
c = 4.24e-10 # = 4.24*10^10(컴퓨터식 지수표현 방식)
d = 0o177 # 8진수형
e = 0x8ff # 16진수형

#사칙연산
a + b # 덧셈
a - b # 뺄셈
a * b # 곱셈
a / b # 나눗셈
a ** b # 제곱
a % b  # 나눗셈 후 나머지 반환
a // b # 나눗셈 후 몫 반환

 

 

02-2 문자열 자료형

 

문자열이란 문자, 단어 등으로 구성된 문자들의 집합.

# 문자열의 예
a = "Life is too short, You need Python"
"b"
"123" # 숫자형 같지만 따옴표로 둘러싸여 있어서 문자열"
len(a) # 문자열 길이 구하기

여러 줄인 문자열을 변수에 대입하고 싶을 때는 '\n'을 삽입해서 줄 바꿈을 하거나 작은따옴표 3개(''') 또는 큰따옴표 3개(""")로 여러 줄의 문장을 감싸면 된다.

 

문자열 인덱싱 : 문자열 내의 각 문자의 위치 표시

문자열 슬라이싱 : 문자열 내에서 설정한 범위만큼 뽑아내기

# 문자열 인덱싱
a = "Life is too short, You need Python"
i = a[-1]  # (마이너스가 붙으면 뒤에서부터)
>>> 'n'

# 문자열 슬라이싱
s = a[0] + a[1] + a[2] + a[3]
>>> 'Life' 
s2 = a[0:4] # = 0 <= a < 4
>>> 'Life'

 

문자열 포매팅 : 문자열 안에 어떤 값을 삽입하는 방법

# 문자열 포매팅
"I eat %d apples." % 3
>>> 'I eat 3 apples.'

"I eat %s apples." % "five"
>>> 'I eat five apples.'

number = 10
day = "three"
"I ate %d apples. so I was sick for %s days." % (number, day)
>>> 'I ate 10 apples. so I was sick for three days.'
# 정렬과 공백
"%10s" % "hi"
>>> '        hi'
"%-10sjane" % 'hi'
>>> 'hi        jane'

# 소수점 표현
"%10.4f" % 3.42134234
>>> '     3.4213'
# format 함수 사용
"I eat {0} apples".format(3)
>>> 'I eat 3 apples'

"I eat {0} apples".format("five")
>>> 'I eat five apples'

number = 10
day = "three"
"I ate {0} apples. so I was sick for {1} days.".format(number, day)
>>> 'I ate 10 apples. so I was sick for three days.'

"I ate {number} apples. so I was sick for {day} days.".fotmat(number=10, day=3)
>>> 'I ate 10 apples. so I was sick for 3 days.'

"{0:<10}".format("hi")
>>> 'hi        ' # 왼쪽 정렬
"{0:>10}".format("hi")
>>> '        hi' # 오른쪽 정렬
"{0:^10}".format("hi")
>>> '    hi    ' # 가운데 정렬
"{0:=^10}".format("hi")
>>> '====hi====' # 공백 채우기
y = 3.42134234
"{0:0.4f}".format(y)
>>> '3.4213'
# f 문자열 포매팅 (파이썬 3.6 버전부터 사용 가능)
name = '홍길동'
age = 30
f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
>>> '나의 이름은 홍길동입니다. 나이는 30입니다.'

f'{"hi":<10}'
>>> 'hi        ' # 왼쪽 정렬
f'{"hi":>10}'
>>> '        hi' # 오른쪽 정렬
f'{"hi":^10}'
>>> '    hi    ' # 가운데 정렬
f'{"hi":=^10}'
>>> '====hi====' # 공백 채우기
y = 3.42134234
f'{y:0.4f}'
>>> '3.4213' # 소수점

 

문자열 관련 함수

# 문자 수 세기 (count)
a = "hobby"
a.count('b')
>>> 2

# 위치 알려주기1 (find)
a = "Python is the best choice"
a.find('b')
>>> 14
a.find('k')
>>> -1 # (존재하지 않으면 -1)

# 위치 알려주기2 (index)
a = "Life is too short"
a.index('t')
>>> 8
a.index('k')
>>> 오류 반환

# 문자열 삽입 (join)
",".join('adcd')
>>> 'a,b,c,d'

# 소문자를 대문자로 바꾸기 (upper)
a = "hi"
a.upper()
>>> 'HI'

# 대문자를 소문자로 바꾸기 (lower)
a = "HI"
a.lower()
>>> 'hi'

# 왼쪽 공백 지우기 (lstrip)
a = " hi "
a.lstrip()
>>> 'hi '

# 오른쪽 공백 지우기 (rstrip)
a = " hi "
a.rstrip()
>>> ' hi'

# 양쪽 공백 지우기 (strip)
a = " hi "
a.strip()
>>> 'hi'

# 문자열 바꾸기 (replace)
a = "Life is too short"
a.replace("Life", "Your leg")
>>> 'Your leg is too short'

# 문자열 나누기 (split)
a = "Life is too short"
a.split()
>>> ['Life', 'is', 'too', 'short'] # 공백을 기준으로 나눔
b = "a:b:c:d"
b.split(':')
>>> ['a', 'b', 'c', 'd'] # : 기호를 기준으로 나눔

+ Recent posts