list는 다양한 타입의 자료형을 묶어서 처리할 때 유용하게 사용할 수 있는 자료형 이다.

list의 사용은 대괄호"[ ]" 로 정의하고  사용하고, 순서를 지정할 수 있다. 또한 중복된 데이터를 가질수도 있다.

 

list.append(x)

list에 요소를 추가하는 메서드다.

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fruits.append('수박')
print(fruits)
-------------------
['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나', '수박']

 

list.count

다음을 보세요. fruits 에 2개의 "바나나" 를 가지고 있다. 

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
cnt = fruits.count('바나나')
print(cnt)
-------------------
2

 

list.extend(iterable)

iterable 은 list, tuple,range,str,list,dict 등을 말한다.

extend는 list에 iterable을 append 시킨다. 

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fruits.extend(['수박','딸기'])
print(fruits)
----------------------------
['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나', '수박', '딸기']


fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
tuple1 = ('수박','딸기') #튜플
fruits.extend(tuple1)
print(fruits)
-------------------------
['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나', '수박', '딸기']

 

list.insert(i, x)

insert 는 임의의 자리 i 에 x 요소를 삽입하는 메소드이다. 첫번재 인자인 i 는 인덱스이며, x 는 넣기를 원하는 요소를 넣으면 된다. 

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fruits.insert(2,"수박")
print(fruits)
----------------------------
['오렌지', '사과', '수박', '배', '바나나', '키위', '사과', '바나나']

 

list.remove(x)

이 메소드는 x 에 해당하는 첫번째 요소를 리스트에서 제거 한다.

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fruits.remove("바나나")
print(fruits)
-------------------------
['오렌지', '사과', '배', '키위', '사과', '바나나']

 

list.pop([i])

이 메소드는 i 가 주어질 경우에는 i 번째 인덱스에 있는 요소를 제거하고 리스트를 리턴한다.

만약, i가 주어지지 않을 경우에는 리스트의 마지막 요소를 제거한다.  

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fruits.pop()
print(fruits)

fruits.pop(2)
print(fruits)
--------------------------
['오렌지', '사과', '배', '바나나', '키위', '사과']
['오렌지', '사과', '바나나', '키위', '사과']

 

list.clear()

이 메소드는 리스트의 모든 요소를 제거한다. 

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fruits.clear()
print(fruits)
-------------------------
[]

 

list.index(x, start, end)

리스트에서 x 값을 가지는 요소를 찾아서 index 를 리턴해 준다.

여기서 start 와 end 는 리스트의 첫번째 요소부터 시작하는데  x 값을 가지는 값이 start 와 end  사이에 몇번째 인덱스인지를 리턴해 준다.

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fru1 = fruits.index("배")
print(fru1)
fru2 = fruits.index('사과',2,6)
print(fru2)
------------------------
2
5

 

list.sort(*, key=None, reverse=False)

이 메소드는 순서를 재정렬해 준다. reverse=False 는 오름차순 정렬이고, reverse=True 는 내림차순 정렬이다.

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fruits.sort()
print(fruits)

fruits.sort(reverse=True)
print(fruits)
-----------------
['바나나', '바나나', '배', '사과', '사과', '오렌지', '키위']
['키위', '오렌지', '사과', '사과', '배', '바나나', '바나나']

 

아래 예제는 key 에 lambda 와 같은 함수를 넣어 정렬을 하는 예를 보여준다. 정의 하지 않을 경우, 기본은 key=None 이다.

fruits = [[50, "사과"], [60, "바나나"] , [40, "오렌지"]]
fruits.sort(key=lambda x:x[0], reverse=True)
print(fruits)
-----------------
[[60, '바나나'], [50, '사과'], [40, '오렌지']]


fruits = [[50, "사과"], [60, "바나나"] , [40, "오렌지"]]
fruits.sort(key=lambda x:x[1], reverse=True)
print(fruits)
------------------
[[40, '오렌지'], [50, '사과'], [60, '바나나']]

 

list.reverse()

이 메소드는 리스트의 요소들의 전체 순서를 바꾼다.

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fruits.reverse()
print(fruits)
------------------
['바나나', '사과', '키위', '바나나', '배', '사과', '오렌지']

 

list.copy()

이 메소드는 리스트를 복사하는 역할을 한다. 

fruits = ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fruits2 = fruits.copy()
print('fruits2 : ', fruits2)

fruits2.append("수박")
print('fruits2 : ' , fruits2)
print('fruits : ' , fruits)
--------------------
fruits2 :  ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']
fruits2 :  ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나', '수박']
fruits :  ['오렌지', '사과', '배', '바나나', '키위', '사과', '바나나']

 

'파이썬 시작하기' 카테고리의 다른 글

파이썬의 함수  (0) 2024.08.07
파이썬의 변수 사용  (0) 2024.08.06
비주얼 스튜디오 코드 설치 및 파이썬 환경 셋팅  (0) 2024.08.06
파이썬 첫걸음 - Python 설치  (0) 2024.07.08
파이썬의 특징  (0) 2024.07.08

파이썬으로 코드를 작성하다보면 길어지는 코드를 보다 간결하고 직관적이게 

작성할 필요성이 생긴다.

그래서 파이썬은 스타일 가이드를 제시하고 있는데 몇가지 중요한 항목을 정리했다.

 

1. 탭을 사용하지 말고, 들여 쓰기 4 스페이스를 사용하라.

    4개의 스페이스는 작은 들여 쓰기와 큰 들여쓰기를 하기에 좋은 방법으로 제시된다.

    그리고, 탭과 스페이스를 섞어서 사용되는 것은 권장하지 않는다.

 

2. 한줄에 최대 79자 이상을 늘여서 쓰는 것은 자제하라.

    코드가 길어질 경우 가급적 줄넘김을 해 주시는 것이 좋다.

 

3. 함수, 클래스 등의 코드블록 사이에 2개의 blank line을 넣어서 가독성을 높여 준다.

 

4. 주석은 코드와 같은 줄로 사용하는 것보다는 별도의 줄에 작성하라.

    다른 줄에 주석을 작성하는 것이 가독성에 더 좋다.

 

5.DocString을 사용하라.

   DocString은 소스 코드에 포함된 document 이다.

   Docstring은 주석이 아니고 코드의 특정 컴포넌트에 대한 문서라고 할 수 있다.

def func_print():
    """이것은 바로

    프린터 함수를 사용하는 방법을 담은 DocString 입니다.
    """
    return None

print(func_print.__doc__)

-----------------------------
이것은 바로

    프린터 함수를 사용하는 방법을 담은 DocString 입니다.

 

 

6. Imports 는 한줄로 사용되기 보단 각기 다른 행에 사용되어져야 한다.

# Correct:
import os
import sys

# Wrong:
import os, sys

 

 

7. 클래스와 함수의 이름은 일관성이 있어야 한다. 

    클래스의 경우는 UpperCamelCase 를 사용하고, 함수와 메서드는 lowercase_with_underscores 를 사용한다.

    UpperCamelCase 는 식별자의 첫단어는 대문자로 표기하는 것이다. 예를 들어, CallMyClass 와 같이 표기한다.

    lowercase_with_underscores 의 예는, file_name 과 같이 사용한다.

 

8. Binary Operator 앞 또는 뒤로 줄바꿈은 어떻게?

아래 연산자 이후의 줄바꿈은 코드의 길이가 달라 가독성이 떨어짐을 확인할 수 있다.

# Wrong:
# operators sit far away from their operands
income = (gross_wages +
          taxable_interest +
          (dividends - qualified_dividends) -
          ira_deduction -
          student_loan_interest)

 

아래 줄바꿈의 연산자를 작성할 경우에는 한눈에 연산자를 확인할 수 있다. 

# Correct:
# easy to match operators with operands
income = (gross_wages
          + taxable_interest
          + (dividends - qualified_dividends)
          - ira_deduction
          - student_loan_interest)

 

 

 

 

프로그램을 코딩하다보면, 반복되는 코드가 필요한 경우가 있다. 그럴 땐 반복해서 작성해야 하는가?

물론, 아니다. 프로그래머는 최대한 게을러야 한다. 보다 쉽고, 편하고, 적게 일해야 한다.

함수는 반복되는 코드를 재사용하기위해 만든다.

함수를 잘 만들면 코드의 가독성을 높이고, 유지보수를 쉽게 하며 프로그램의 오류를 줄일 수 있다.

왜?? 재사용을 하니 코드의 길이가 짧아 지니 가독성이 좋아지고,

가독성이 좋으니 프로그램의 로직을 이해하기 쉬워지고,

코드를 읽기 쉬워지니 오류가 생길 여지가 들어든다.

 

파이썬에서의 함수는 def 로 시작한다. 이 예약어는 "이제부터 함수를 시작하겠다" 라는 선언이다.

함수는 파라미터를 가질 수 있고, 결과 값을 return 할 수 있다.

파라미터는 함수를 실행할 때 사용할 값을 함수에게 주는 것이다.

예) def sample(n) ==> 여기서 n 이 파라미터

 

그리고, return 의 의미는 함수를 호출한 곳으로 함수에서 실행하여 만든 결과 값을 돌려주는 것이다.

예를 들어, 믹서에게 사과를 넣어 주고 "사과 주스를 만들어줘" 한다면..

믹서는 함수가 되고, 사과는 파라미터, 사과주스는 return 해야하는 결과 값이다.

 

1. 함수 정의 하기

 

n을 파라미터로 가진 함수를 호출하기

>>> def sample(n):
    	print(n)

sample("파이썬 세상")    

------------------
파이썬 세상

 

 

함수 호출 시 파라미터를 지정하지 않았지만 함수에서 기본값을 지정하여 사용되는 경우도 있다.

아래 예제의 경우에는 함수 호출 시 retries 난 reminder 에 값을 넣어줘도 되고, 안 넣어줘도 된다. 

>>> def ask_ok(prompt, retries=4, reminder='Please try again!'):
    	while True:
        	reply = input(prompt)
        	if reply in {'y', 'ye', 'yes'}:
            	return True
        	if reply in {'n', 'no', 'nop', 'nope'}:
            	return False
        	retries = retries - 1
        	if retries < 0:
            	raise ValueError('invalid user response')
        	print(reminder)

 

 

한가지 주의 해야 할 점은, 파라미터의 기본값은 함수 정의 시점에 정의 되어 진다는 점입니다.

그래서 아래 예제의 결과값은 "딸기"가 아니라 "사과"가 됩니다.

i = "사과"

def f(arg=i):
    print(arg)

i = "딸기"
f()

 

 

기본값은 최초 호출시 한번만 값이 구해집니다. 그래서 아래 함수를 호출하게되면 리스트에는 순차적인 값이 쌓이게 됩니다.

def f(a, L=[]):
    L.append(a)
    return L

print(f("사과"))
print(f("딸기"))
print(f("참외"))

-----------------------------
['사과']
['사과', '딸기']
['사과', '딸기', '참외']

 

 

위의 함수를 호출 시 호출할때마다 값이 연동되는 것을 방지하려면?

5, 4, 3, 2, 1....그렇습니다. 호출할 때 리스트를 비워주면 되겠지요. 

def f(a, L=[]):
   L.clear()
   L.append(a)
   return L

print(f(1))
print(f(2))
print(f(3))

---------------------------
['사과']
['딸기']
['참외']

'파이썬 시작하기' 카테고리의 다른 글

list 자세히 보기  (0) 2024.09.02
파이썬의 변수 사용  (0) 2024.08.06
비주얼 스튜디오 코드 설치 및 파이썬 환경 셋팅  (0) 2024.08.06
파이썬 첫걸음 - Python 설치  (0) 2024.07.08
파이썬의 특징  (0) 2024.07.08

제어 구문은, 만약에(if), 반복(for) 등을 말합니다.

 

조건문을 쓰는 경우는, 원하는 값과 같은지 다른지 큰지 적은지 등의 조건을 주어

원하는 조건에서만 코드가 실행될 수 있도록 합니다.

 

반복은, 같은 일을 10번을 수행한다고 했을 때 동일한 코드를 10번 작성한다는 건

정말 힘든 일이고, 비효율적인 일이죠. 마약에 100번, 1000번을 수행하라고 한다면

똑같은 코드를 100번, 1000번을 작성할 순 없겠죠.

이럴 때 사용하는 구문이 반복문입니다.

 

프로그래밍에서 자주 사용되는 구문이므로 익숙해지시길 바랍니다.

 

1. if 문

if문은 한개의 조건이 있을 수 있고, 여러개의 조건이 있을 수 있습니다.

여러 조건을 and 로 묶어 조건을 만들 수도 있고, 순차적인 조건을 가질 수도 있습니다.

a = 1
b = 4
if(a == 1 and b == 3):
    print("true")
elif a == 1 :
    print("a is 1")
else:
    print("false")

------------
a is 1

 

 

2. match 문

match 문은 if 문과 비슷하게 사용할 수 있다.

하지만 차이점이 있는데 if 문은 비교 조건을 쓸 수 있지만 match 문은 같을 경우만 코드를 실행하게 한다.

# point is an (x, y) tuple
match point:
    case (0, 0):
        print("Origin")
    case (0, y):
        print(f"Y={y}")
    case (x, 0):
        print(f"X={x}")
    case (x, y):
        print(f"X={x}, Y={y}")
    case _:
        raise ValueError("Not a point")

 

 

3. for 문

아래는 변수에 있는 문자를 순차적으로 찍는 코드 입니다.

# Measure some strings:
... words = ['고양이', '사자', '스마트폰']
>>> for w in words:
...     print(w, len(w))
...
고양이 3
사자 2
스마트폰 4

 

 

반복문에서도 break, continue, else 등의 제어 구문이 있습니다.

코드를 수행하다가 break 문을 만나면 반복문을 중단합니다.

>>> for n in range(2, 10):
...     for x in range(2, n):
...         if n % x == 0:
...             print(n, 'equals', x, '*', n//x)
...             break
...     else:
...         # loop fell through without finding a factor
...         print(n, 'is a prime number')
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3

 

 

continue 를 만나면 코드의 진행을 멈추고 다음 반복문을 진행합니다.

>>> for num in range(2, 10):
...     if num % 2 == 0:
...         print("Found an even number", num)
...         continue
...     print("Found an odd number", num)
...
Found an even number 2
Found an odd number 3
Found an even number 4
Found an odd number 5
Found an even number 6
Found an odd number 7
Found an even number 8
Found an odd number 9

 

 

4. range() 함수

range(10) 은 0부터 9까지 10개의 인덱스를 만듭니다.

그리고, range(5,10) 은, 5부터 9까지의 인덱스를 만듭니다.

range(0,10,3) 은 0부터 9까지 3step의 인덱스를 만듭니다.

아래 예제를 보시죠.

>>> list(range(5, 10))
[5, 6, 7, 8, 9]

>>> list(range(0, 10, 3))
[0, 3, 6, 9]

>>> list(range(-10, -100, -30))
[-10, -40, -70]

 

 

변수에 있는 문자를 인덱스로 뽑으려면 range() 와 len() 을 사용하여 작성할 수 있습니다.

a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
...     print(i, a[i])
...
0 Mary
1 had
2 a
3 little
4 lamb

 

변수, 변수는 내용물을 바꾸어 채울 수 있는 주머니와 같습니다.

변수에 1을 넣고 싶으면 1을 넣고, 5를 넣고 싶으면 5를 넣을 수 있습니다.

대신 변수의 형(Type)에 따라서  숫자를 넣을 수 있고, 문자를 넣을 수 있습니다.

어떤 것을 넣을 것인지 미리 정의 내리는 것이 데이터 형을 선언한다고 하는 것입니다.

변수에는 int형, text형, list 형 등이 있습니다. 

 

1. 숫자 (int)

파이썬의 숫자에 대한 opeerator 는 +, -, *, / 가 있습니다.

아래 예제를 보시면, 직관적으로 계산하고 있음을 알 수 있습니다.

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5  # division always returns a floating-point number
1.6

 

 

정수형은 int 로 표현합니다. 예를 들어1, 2, 3 등. 그리고, 3.1, 6.5 등은 float 형입니다.

그리고, 아래 예제와 같이 연산을 합니다.

>>> 17 / 3  # classic division returns a float
5.666666666666667
>>>
>>> 17 // 3  # floor division discards the fractional part
5
>>> 17 % 3  # the % operator returns the remainder of the division
2
>>> 5 * 3 + 2  # floored quotient * divisor + remainder
17

 

 

파이썬에서 거듭제곱에 대한 연산을 어떻게 할까? 바로 ** 연산자를 사용합니다.

아래 예제를 보세요.

>>> 5 ** 2  # 5 squared
25
>>> 2 ** 7  # 2 to the power of 7
128

 

 

변수가 있고 그 변수에 값을 넣을 때는 "=" 를 사용합니다.

프로그래밍에서의 "="는 같다는 의미가 아니고 변수에 값을 넣는 다는 의미 입니다.

참고로 같다는 표현은 "==" 와 같이 씁니다.

>>> width = 20
>>> height = 5 * 9
>>> width * height
900

  

 

2. 문자 (Text)

"string" 이라고도 표현을 하는데 "car", "hat", "building" 등과 같은 문자를 의미 합니다.

아래 예제를 살펴 보세요.

>>>'spam eggs'  # single quotes
'spam eggs'
>>> "Paris rabbit got your back :)! Yay!"  # double quotes
'Paris rabbit got your back :)! Yay!'
>>> '1975'  # digits and numerals enclosed in quotes are also strings
'1975'

 

 

" ' ", " " ", 등은 " \ " 을 사용하여 표현 합니다.

아래 예제를 보시면서 이해 해 보세요.

>>> 'doesn\'t'  # use \' to escape the single quote...
"doesn't"
>>> "doesn't"  # ...or use double quotes instead
"doesn't"
>>> '"Yes," they said.'
'"Yes," they said.'
>>> "\"Yes,\" they said."
'"Yes," they said.'
>>> '"Isn\'t," they said.'
'"Isn\'t," they said.'

 

 

줄바꿈은 " \n " 을 이용하여 아래와 같이 사용 할 수 있습니다.

>>> s = 'First line.\nSecond line.'  # \n means newline
>>> s  # without print(), special characters are included in the string
'First line.\nSecond line.'
>>> print(s)  # with print(), special characters are interpreted, so \n produces new line
First line.
Second line.

 

 

변수 + 변수, 또는 변수 + 문자 를 표현 할때는 아래와 같이 사용합니다.

>>> prefix + 'thon'
'Python'

 

 

문자열의 인덱스를 아래와 같이 표현할 수 있습니다.

예를 들어, "파이썬" 을 word 라는 변수에 넣는다면 word[0] 은 "파" 가 됩니다.

>>> word = 'Python'
>>> word[0]  # character in position 0
'P'
>>> word[5]  # character in position 5
'n'

 

 

마찬가지로 word[-1] 로도 표현할 수 있습니다. 음수는 뒤에서 부터 시작하고 -1 부터 시작합니다.

>>> word[-1]  # last character
'n'
>>> word[-2]  # second-last character
'o'
>>> word[-6]
'P'

 

 

또한 문자열을 자를 수 있습니다. 예를 들면, word = "파이썬을 배웁시다" 를 자른다면

다음과 같이 표현할 수 있습니다. word[1:3] 을 출력하면, "이썬" 이 됩니다.

>>> word[0:2]  # characters from position 0 (included) to 2 (excluded)
'Py'
>>> word[2:5]  # characters from position 2 (included) to 5 (excluded)
'tho'

 

 

아래와 같이 표현 할 수도 있습니다. 아래 예제도 참조하세요.

>>> word[:2]   # character from the beginning to position 2 (excluded)
'Py'
>>> word[4:]   # characters from position 4 (included) to the end
'on'
>>> word[-2:]  # characters from the second-last (included) to the end
'on'

 

 

문자열의 인덱스를 그림으로 표현하면,

 +---+---+---+---+---+---+
 | P | y | t | h | o | n |
 +---+---+---+---+---+---+
 0   1   2   3   4   5   6
-6  -5  -4  -3  -2  -1

 

 

마지막으로, 문자열의 길이를 알고 싶을 땐, len() 함수를 사용하세요.

s = '파이썬 세상은 아름다워'
>>> len(s)
12

 

 

3. 리스트 (list)

리스트는 여러 다른 값들을 하나의 주머니에 넣은 형태라고 생각하면 됩니다.

이 리스트에는 숫자 또는 텍스트를 혼용해서 넣을 수도 있는데 쉽표로 구분하여 넣습니다.

일반적으로는 같은 형의 값을 넣습니다.

아래 예제를 살펴보세요.

>>> squares = [1, 4, 9, 16, 25]
>>> squares
[1, 4, 9, 16, 25]

 

 

리스트는 이어붙이기와 같은 연산도 가능합니다.

>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

 

리스트 변수를 또다른 리스트 변수에 대입하여 동일한 리스트를 만들 수도 있고,

리스트에 값을 추가할 수도 있습니다.

>>> rgb = ["Red", "Green", "Blue"]
>>> rgba = rgb
>>> id(rgb) == id(rgba)  # they reference the same object
True
>>> rgba.append("Alph")
>>> rgb
["Red", "Green", "Blue", "Alph"]

 

 

또한 리스트의 길이를 변경할 수도 있고, 삭제할 수도 있습니다.

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> # replace some values
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> # now remove them
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # clear the list by replacing all the elements with an empty list
>>> letters[:] = []
>>> letters
[]

 

이제 기본적인 변수는 마쳤습니다.

보다 더 많은 기능들이 있지만 프로그래밍에 익숙해지면서 하나씩 알아 가면 되겠습니다.

'파이썬 시작하기' 카테고리의 다른 글

list 자세히 보기  (0) 2024.09.02
파이썬의 함수  (0) 2024.08.07
비주얼 스튜디오 코드 설치 및 파이썬 환경 셋팅  (0) 2024.08.06
파이썬 첫걸음 - Python 설치  (0) 2024.07.08
파이썬의 특징  (0) 2024.07.08

파이썬을 개발하기 위한 개발 환경으로는 아래와 같은 것이 있습니다.

 

1. Visual Studio Code (VS Code)
VS Code는 가볍고 강력한 코드 편집기입니다.
Python 확장팩을 설치하여 Python 개발을 지원합니다.

 

2. PyCharm
JetBrains에서 제공하는 강력한 Python 전용 IDE입니다.
무료 커뮤니티 버전과 유료 프로페셔널 버전이 있습니다.

 

3. Jupyter Notebook
대화형 환경으로 데이터 과학 및 머신러닝 작업에 자주 사용됩니다.
코드, 시각화, 텍스트를 하나의 문서에서 실행 및 관리할 수 있습니다.

 

이중에서 파이썬을 사용하기 위해 비주얼 스튜디오 코드를 선택했습니다.

비주얼스튜디오 코드를 선택한 이유는 확장성이 좋고, 가볍기 때문입니다.

PyCharm 과 Jupyter Notebook 은 사용해 보지 않았습니다. 기회가 되면, 사용해 보고 비교 평가를 해보겠습니다.

 

그외에, 가상 환경을 구성하게 해주는 Python 표준 라이브러리인 'venv' 가 있습니다.

프로젝트별로 독립적인 패키지 환경을 설정할 수 있습니다.

그리고, 패키지 및 환경 관리 도구인 Anaconda 가 있습니다.

데이터 과학 및 머신러닝 작업에 최적화된 배포판이라고 합니다.

 

자, 그럼 비주얼 스튜디오 코드를 설치해 보겠습니다.

비주얼 스튜디오 공식 웹사이트를 방문하여 최신 버전을 다운로드 받습니다.

 

아래 화면에서 라이선스를 읽어 보실 분들은 읽어 보시고 "동의 합니다"  체크 > 다음

 

원하는 옵션 체크하고 > 다음

 

설치를 눌러 줍니다.

 

설치 중.......

 

 

이제 종료를 눌러 주세요.

 

 

자, 이제 비주얼 스튜디오 코드를 열어 봅니다.

이제 비주얼 스튜디오 코드를 사용할 준비가 되었습니다.

 

하지만, 비주얼 스튜디오 코드에서 파이썬을 사용하기 위해선 파이썬 확장 모듈을 설치해야 합니다.

좌측 아이콘에서 Extensions 를 찾아서 클릭하세요.

그리고, 검색창에 "Python" 이라고 검색하시면 아래 맨 처음에 보이는 파이썬 모듈을 선택하여 설치합니다.

 

이제 모든 설치 및 세팅 과정은 끝났습니다.

예제에 나오는 샘플 코드는 비주얼 스튜디오 코드에서 작성하시면 되는데

좌측 Explorer 에 폴더를 지정해주고, 파이썬 파일을 생성해 줍니다.(New File)

 

그리고, 예제 샘플 코드를 작성해 줍니다.

상단에 Terminal 메뉴가 있습니다. 

Terminal > New Terminal 을 연 다음에

프로젝트 폴더로 이동합니다. (Terminal 을 열면 자동으로 폴더로 이동합니다.)

그리고, python 명령어를 이용해 파이썬 파일을 실행 시킵니다.

 

예를들면, C:\python\projects\exam01> python main.py

 

이렇게 예제를 실습하면 됩니다.

다음 포스트에는 파이썬의 기본 과정을 시작하겠습니다.

 

'파이썬 시작하기' 카테고리의 다른 글

파이썬의 함수  (0) 2024.08.07
파이썬의 변수 사용  (0) 2024.08.06
파이썬 첫걸음 - Python 설치  (0) 2024.07.08
파이썬의 특징  (0) 2024.07.08
파이썬 공부..그래 이제 부터 시작이야  (0) 2024.07.08

구글이 최근 발표한 환경 보고서에 따르면, 회사의 온실가스 배출량이 크게 늘어났습니다. 2023년 배출량은 4년 전인 2019년에 비해 절반 가까이 증가했습니다. 이는 주로 두 가지 이유 때문입니다:

1. 데이터 센터 사용 증가: 데이터 센터는 우리가 인터넷에서 하는 모든 활동을 가능하게 하는 대형 컴퓨터 창고라고 생각하면 됩니다. 인터넷 사용이 늘어날수록 이 센터들은 더 많은 전기를 사용합니다.

2. 인공지능(AI) 기술 발전: AI는 컴퓨터가 사람처럼 생각하고 학습하도록 만드는 기술입니다. 하지만 이 기술은 일반적인 컴퓨터 작업보다 훨씬 더 많은 에너지를 필요로 합니다.

구글은 2030년까지 환경에 해를 끼치지 않는 방식으로 운영하는 것을 목표로 하고 있습니다. 하지만 AI 기술을 더 많이 사용하게 되면서 이 목표 달성이 어려워질 수 있다고 인정했습니다.

전문가들은 이런 상황에 대해 우려를 표하고 있습니다. 우리가 클라우드(인터넷 상의 저장 공간)에 저장하는 모든 것들이 환경에 영향을 미친다는 사실을 많은 사람들이 모르고 있기 때문입니다. 특히 한 번 저장하고 거의 사용하지 않는 데이터(다크 데이터라고 함)가 많은 에너지를 낭비하고 있다고 합니다.

구글은 환경 친화적인 에너지를 사용하려 노력하고 있지만, 세계 각 지역마다 차이가 있습니다. 예를 들어, 유럽과 미국의 데이터 센터는 대부분 깨끗한 에너지를 사용하지만, 중동이나 아시아의 센터들은 아직 그렇지 못합니다.

결론적으로, 인터넷과 AI 기술의 사용이 늘어날수록 에너지 사용량도 증가하고 있습니다. 이는 환경에 부담을 줄 수 있어 전문가들이 우려하고 있으며, 기업들은 이 문제를 해결하기 위해 노력하고 있습니다.

 

뉴스 소스 - BBC

파이썬을 설치하는 건..."쉽다"라고 해야 겠지.

 

첫번째, Python 공식 웹사이트 방문

이곳을 방문하세요(https://www.python.org/)

그리고, Downloads 를 과감히 눌러 주세요. 

현재 버전으로 Python 3.12.4 가 있네요.

 

두번째, 설치 파일 실행

아래 설치 화면에서 "Add Python to PATH" 체크박스를 체크합니다.

이는 Python 실행 파일을 시스템 PATH에 추가하여 명령 프롬프트에서 Python을 쉽게 실행할 수 있게 합니다.
"Install Now" 버튼을 클릭하여 기본 설정으로 설치하거나, "Customize installation"을 클릭하여 설치 경로 및 추가 옵션을 선택할 수 있습니다.

 

설치가 완료되면, "Setup was successful" 메시지가 표시됩니다. 

"Close" 버튼을 클릭하여 설치를 완료합니다.

 

세번째, 설치가 완료되면 정상적으로 설치가 완료 되었는지 확인해야 겠지요.

명령 프롬프트를 열고 python --version 명령을 입력하여 Python이 정상적으로 설치되었는지 확인합니다. 

설치된 Python 버전이 표시되면 성공적으로 설치된 것입니다.

 

네번째, pip 패키지 관리자 확인

Python 설치 시 함께 설치된 pip 패키지 관리자를 확인하기 위해 pip --version 명령을 입력합니다. pip 버전 정보가 표시되면 pip도 정상적으로 설치된 것입니다.

 

이제 파이썬 설치가 완료 되었습니다.

다 끝났습니다...가 아니라 "이제 시작입니다."

파이썬의 특징은 뭘까..

그래..뭔가 거창한게 있을거야.

 

첫째, 파이썬 코드는 읽기 쉽고 간결하다.

다른 프로그래밍 언어를 알고 있다면, 파이썬은 이미 알고 있는 언어 처럼 친숙하게 다가왔다.

 

둘째, 파이썬은 자료형을 선언할 필요가 없다.

명시적으로 자료형을 선언해야 하는 C# 이나 JAVA 의 경우는

프로그램 개발시 실수를 하는 경우가 더러 발생한다. 그런데 파이썬은 자료형 선언을 할 필요가 없다.

파이썬이 다 알아서 결정해 주니까.

 

셋째, 파이썬은 인터프리터 언어이다. 

파이썬은 인터프리터 언어이기 때문에 코드를 한 줄씩 해석하고 실행한다.

이는 빌드가 필요한 언어와 다르게 개발자가 코드를 수정하고 바로 결과를 확인할 수 있게 한다. 그래서 편하다.

 

넷째, 파이썬은 풍부한 표준 라이브러리와 다양한 서드파티 라이브러리를 제공한다.

이러한 라이브러리들은 데이터 분석, 웹 개발, 인공지능 등 다양한 분야에서 활용된다고 한다.

 

다섯째, 파이썬은 크로스 플랫폼이다.

파이썬은 윈도우, 맥OS, 리눅스 등 다양한 운영 체제에서 동작한다.

그래서 플랫폼에 대한 고민을 할 필요가 없다.

 

여섯번째, 파이썬은 객체 지향적이다.

와우~ 인터프리터 언어가 객체 지향적이라니..

파이썬은 객체 지향 프로그램이을 지원하여, 클래스와 상속을 이용해 코드를 좀 더 아름답게 구조화 할 수 있다.

 

일곱번째, 파이썬은 오픈소스이다.

누구나 좋아하는 무료..그래서 파이썬을 쓸 땐 돈이 필요없다. 그래서 많은 사람들이 파이썬을 사용한다.

물론, 무료라서 라기 보단 쉽기도 하고, 쓸 수 있는 곳이 많으니까.

 

여덟번째, 파이썬의 확장성이 좋다.

C# 이나 Java 에서 파이썬으로 만든 코드를 통합하여 사용할 수 있다.

이는 프로젝트에서 많은 잇점을 준다. C# 이나 Java 로 짜는 코드 보다 파이썬이 유리할 때가 있다.

이럴 땐, 파이썬으로 코드를 만들고 이를 java 프로젝트에서 가져다 사용하는 것이다.

 

이렇게 정리를 해 놓고 보니, 파이썬이 더 친숙하게 느껴진다.

 

파이썬을 처음 접하게 된건 5년쯤 전이다.

처음 느낌은 "재미있다" 였다.

그래서 결심했다. 이걸 한번 배워 보자.

그리고, 어따 써 먹어보자.

그런데....일과 생활에 바쁘다 보니 공부해야지 하는 생각이 점점 희미해져 갔다.

그러부터 5년 후

바로 지금..

다시 파이썬 책을 꺼내 들었다.

이제 부턴 진짜 시작이다.

이걸로, 엄청난 걸 만들어 봐야지..

 

그런 의미에서 나의 공부 기록을 이곳에 적기로 했다.

 

 

'파이썬 시작하기' 카테고리의 다른 글

파이썬의 함수  (0) 2024.08.07
파이썬의 변수 사용  (0) 2024.08.06
비주얼 스튜디오 코드 설치 및 파이썬 환경 셋팅  (0) 2024.08.06
파이썬 첫걸음 - Python 설치  (0) 2024.07.08
파이썬의 특징  (0) 2024.07.08

+ Recent posts