파이썬 #1

jjinny_0609·2023년 2월 24일
0

파이썬

목록 보기
1/3
post-thumbnail

파이썬

파이썬(Python)은 1991년 Guido van Rossum에 의해 개발된 인터프리터 언어입니다. 초기에는 Amoeba 운영체제를 위한 스크립트 언어로 개발되었으나, 현재는 다양한 운영체제에서 사용되고 있습니다. 파이썬은 다음과 같은 특징을 가지고 있습니다.

  1. 문법이 간결하고 직관적입니다.
    파이썬은 들여쓰기를 사용하여 블록을 구분하고, 괄호나 세미콜론을 사용하지 않습니다. 이를 통해 코드의 가독성이 향상되고, 문법적 오류가 줄어듭니다.

  2. 객체 지향 프로그래밍을 지원합니다.
    파이썬은 클래스와 객체를 이용한 객체 지향 프로그래밍을 지원합니다.

  3. 다양한 라이브러리와 프레임워크가 존재합니다.
    파이썬은 다양한 분야에서 사용되며, 이를 위한 라이브러리와 프레임워크가 많이 존재합니다. 예를 들어, 데이터 분석을 위한 pandas, NumPy, matplotlib, 머신러닝을 위한 scikit-learn, 딥러닝을 위한 TensorFlow, PyTorch 등이 있습니다.

  4. 크로스 플랫폼 지원
    파이썬은 다양한 운영체제에서 동작할 수 있습니다.

  5. 동적 타입 언어입니다.
    파이썬은 변수의 타입을 런타임 시점에 결정합니다. 이를 통해 코드 작성이 더 유연해지고, 개발 생산성이 향상됩니다.

파이썬은 이러한 특징을 가지고 있어 데이터 분석, 웹 개발, 머신러닝, 딥러닝 등 다양한 분야에서 사용되고 있습니다. 또한, 파이썬은 커뮤니티가 활발하며, 온라인 자료와 도구가 많이 제공되어 있어 초보자부터 전문가까지 쉽게 사용할 수 있습니다.

파이썬과 자바의 차이점

자바와 파이썬은 모두 대표적인 프로그래밍 언어이며, 각각의 특징은 다음과 같습니다.

문법
자바는 C++과 유사한 문법을 가지며, 강한 타입 체크와 세미콜론(;)으로 문장을 마감하는 것이 특징입니다.
파이썬은 간결하고 직관적인 문법을 가지며, 타입 체크가 약하고 세미콜론(;)을 사용하지 않습니다.

성능
자바는 컴파일 언어로서, 컴파일 과정에서 코드가 최적화되기 때문에 빠른 실행 속도를 가지며, 대규모 시스템 개발에 적합합니다.
파이썬은 인터프리터 언어로서, 실행 시점에 코드를 해석하기 때문에 실행 속도가 상대적으로 느리지만, 간단한 문제 해결이나 프로토타입 제작에 용이합니다.

객체 지향 프로그래밍
자바는 객체 지향 프로그래밍을 강조하는 언어로서, 클래스와 객체를 이용한 프로그래밍을 지원합니다.
파이썬도 객체 지향 프로그래밍을 지원하지만, 자바보다 유연한 방식으로 객체를 다룰 수 있습니다.

개발 생산성
파이썬은 간결하고 직관적인 문법을 가지고 있어, 개발 생산성이 높습니다.
자바는 더 많은 코드를 작성해야 하고, 디버깅이나 빌드 등의 작업이 필요하기 때문에 개발 생산성이 상대적으로 낮습니다.
자바와 파이썬은 각각 특징이 다르지만, 언어 선택은 프로젝트의 목적과 상황에 따라 결정되어야 합니다.

파이썬 들여쓰기의 중요성

파이썬은 들여쓰기를 안하면 다음과 같은 오류를 발생시킨다.

IndentationError: expected an indented block after function definition on line 1
(들여쓰기 오류: 줄 1에서 함수 정의 다음에 들여쓰기된 블록이 필요합니다)

파이썬 주석 사용법

파이썬에서 주석(comment)은 코드에서 실행되지 않으며, 코드의 이해를 돕기 위해 사용됩니다. 주석은 '#' 기호로 시작합니다. '#' 기호 뒤에 있는 모든 내용은 주석 처리되며, 해당 라인에서는 실행되지 않습니다.

# 이것은 주석입니다.
print("Hello, World!") # 이 라인은 출력됩니다.

# print("이 라인은 주석 처리됩니다.")

위의 예시에서 첫 번째와 세 번째 라인은 모두 주석 처리되어 실행되지 않습니다. 두 번째 라인에서는 문자열 "Hello, World!"이 출력됩니다. 마지막 주석 처리된 라인은 '#' 기호로 시작하므로 실행되지 않으며, 코드에서 무시됩니다.

또한, 여러 줄의 주석을 작성할 때는 ''' 또는 """ 기호를 사용합니다. 이 기호 사이에 있는 모든 내용은 주석 처리됩니다.

"""
이것은 여러 줄의 주석입니다.
여러 줄에 걸쳐서 내용을 작성할 수 있습니다.
주로 함수나 클래스의 설명을 작성할 때 사용됩니다.
"""
print("Hello, World!") # 이 라인은 출력됩니다.

파이썬 자료형

파이썬의 자료형은 다음과 같습니다:

숫자형 (Numeric Types) : 정수형(Integer), 실수형(Float), 복소수형(Complex)

문자열 (String) : 문자들의 연속된 집합

리스트 (List) : 순서가 있는 값들의 목록

튜플 (Tuple) : 순서가 있는 값들의 목록 (수정 불가능)

딕셔너리 (Dictionary) : 키와 값의 쌍으로 이루어진 자료형

집합 (Set) : 중복을 허용하지 않는 값들의 집합

불리언 (Boolean) : 참(True) 또는 거짓(False) 값을 갖는 자료형

바이트 (Byte) : 0부터 255까지의 정수로 이루어진 자료형

바이트 배열 (Byte Array) : 수정 가능한 바이트의 배열

파이썬은 동적 타입 언어이기 때문에, 변수의 타입은 런타임에 결정됩니다. 따라서 변수를 선언할 때 자료형을 명시하지 않아도 됩니다.

자바와 다르게 아래 3가지가 추가되었습니다. (일단 배열 형태로 저장시킨다고 생각하면됨)

  • 리스트
  • 튜플
  • 딕셔너리

파이썬 자료형

숫자형

숫자형 예제)

type()

Python 내장 함수인 type() 함수는 주어진 객체의 자료형을 반환합니다.

예를 들어, 다음과 같은 코드를 실행하면 변수 x의 자료형인 정수형을 출력합니다.

x = 5
print(type(x))  # <class 'int'>

type() 함수를 사용하면 변수나 값의 자료형을 빠르게 확인할 수 있습니다.


문자열

문자열 예제)


리스트(list)

파이썬에서 리스트(List)는 여러 개의 데이터를 순서대로 저장할 수 있는 자료형입니다. 리스트는 대괄호([])를 사용하여 만들며, 각 요소(element)는 쉼표(,)로 구분됩니다. 예를 들어 다음과 같이 리스트를 만들 수 있습니다.

my_list = [1, 2, 3, 4, 5]

리스트는 인덱스(index)를 사용하여 각 요소에 접근할 수 있습니다. 인덱스는 0부터 시작하며, 대괄호([]) 안에 숫자로 지정하여 요소에 접근할 수 있습니다. 예를 들어 위에서 만든 my_list의 첫 번째 요소에 접근하려면 다음과 같이 할 수 있습니다.

my_list[0]

리스트에는 다양한 연산이 가능합니다. 예를 들어 리스트를 더하면 두 리스트를 이어 붙인 새로운 리스트를 만들 수 있습니다.

my_list1 = [1, 2, 3]
my_list2 = [4, 5, 6]
new_list = my_list1 + my_list2

리스트의 길이는 len() 함수를 사용하여 구할 수 있습니다.

len(my_list)

리스트의 요소를 추가하거나 삭제할 수도 있습니다. 요소를 추가하는 방법으로는 append() 메서드를 사용하면 됩니다.

my_list.append(6)

요소를 삭제하는 방법으로는 del 키워드를 사용하여 해당 요소를 삭제하거나, remove() 메서드를 사용하여 해당 값을 가진 요소를 삭제할 수 있습니다.

del my_list[0]
my_list.remove(2)

위와 같이 리스트에 대한 다양한 기능을 사용하여 원하는 대로 리스트를 조작할 수 있습니다.

리스트 예제)

리스트 예제 2)

리스트 예제 3)

0~99 까지가 출력된다.

리스트 예제 4)

리스트 예제 5)

리스트 예제 6)


튜플(tuple)

파이썬에서 튜플(Tuple)은 값의 변경이 불가능한(immutable) 시퀀스(sequence) 자료형입니다. 리스트(List)와 유사하지만, 리스트와 달리 값의 추가, 삭제, 수정이 불가능하며, ()(괄호)를 사용하여 생성합니다.

예를 들어, 다음과 같이 튜플을 생성할 수 있습니다.

# 튜플 생성
my_tuple = (1, 2, 3, 4, 5)
print(my_tuple)  # (1, 2, 3, 4, 5)

튜플은 값의 변경이 불가능하기 때문에, 값을 수정하거나 추가, 삭제하는 메소드나 연산자는 사용할 수 없습니다. 하지만, 인덱스를 사용하여 요소에 접근하거나, 슬라이싱을 사용하여 일부 요소를 추출하는 등의 작업은 가능합니다.

# 튜플 인덱싱
my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[0])  # 1

# 튜플 슬라이싱
my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[1:3])  # (2, 3)

튜플은 리스트와 비교하여 값이 변경되지 않기 때문에, 불변성(immutability)을 요구하는 경우에 사용하거나, 함수나 메소드의 반환값으로 여러 개의 값을 반환할 때 사용하는 것이 일반적입니다.

튜플 예제1)

튜플 예제2)

튜플 예제3)

리스트(list) & 튜플 연습문제

#1 영화 제목을 movie_rank 이름의 리스트에 저장해보세요(순위 정보는 저장하지 않습니다.)
순위 영화
1 닥터 스트레인지
2 스플릿
3 럭키

movie_rank = ["닥터 스트레인지", "스플릿", "럭키"]
print(movie_rank)

#2 movie_rank 리스트 맨 마지막에 "배트맨"을 추가하라

movie_rank.append('배트맨')
print(movie_rank)

#3 movie_rank 리스트에는 아래와 같이 네 개의 영화 제목이 바인딩되어있다.
"슈퍼맨"을 "닥터 스트레인지"와 "스플릿" 사이에 추가하라
movie_rank = ['닥터 스트레인지', '스플릿', '럭키', '배트맨']

movie_rank = ['닥터 스트레인지', '스플릿', '럭키', '배트맨']
movie_rank.insert(1,"슈퍼맨")  # insert(1:index위치, 추가할 값)
print(movie_rank)

#4 movie_rank 리스트에서 '럭키'를 삭제하라
movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨']

movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨']
movie_rank.remove('럭키')
print(movie_rank)

#5 movie_rank 리스트에서 '스플릿'과 '배트맨'을 삭제하라
movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨']

movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨']
rank_to_revmove = ['스플릿', '배트맨']
movie_rank = [rank for rank in movie_rank if rank not in rank_to_revmove]
#movie_rank.remove('스플릿')
#movie_rank.remove('배트맨')
print(movie_rank)

#6 다음 코드를 실행해보고 오류가 발생하는 원인을 설명해라.
t = {1 , 2 , 3}
t[0] = 'a'

t = (1,2,3)
#t[0] = 'a' 튜플은 읽기 전용이라 값을 변경할 수 없음
print(t)


딕셔너리(Dictionary)

파이썬 딕셔너리(Dictionary)는 키(key)와 값(value)의 쌍으로 이루어진 데이터 구조입니다. 딕셔너리는 {} 기호로 감싸고, 키와 값은 : 기호로 구분하여 적습니다. 각 키와 값은 , 기호로 구분됩니다.

딕셔너리는 키를 사용하여 값을 검색하고, 값을 할당하거나 변경할 수 있습니다. 딕셔너리는 해시 테이블(hash table)로 구현되어 있어, 매우 빠른 검색 속도를 제공합니다.

딕셔너리 예시:

my_dict = {"name": "John", "age": 30, "is_student": True}

print(my_dict["name"]) # John
print(my_dict["age"]) # 30

my_dict["is_student"] = False
my_dict["city"] = "New York"

print(my_dict) # {"name": "John", "age": 30, "is_student": False, "city": "New York"}

위 예시에서 my_dict는 name, age, is_student, city 4개의 키와 각각에 해당하는 값으로 이루어져 있습니다. my_dict["name"]은 "John" 값을 반환하고, my_dict["age"]는 30을 반환합니다. my_dict["is_student"]에 값을 할당하여 True를 False로 변경하고, my_dict["city"]에 "New York" 값을 추가합니다. 마지막으로 print(my_dict)로 딕셔너리 전체를 출력합니다.

딕셔너리는 keys(), values(), items() 메서드를 사용하여 키, 값, 키-값 쌍을 각각 리스트 형태로 반환할 수 있습니다.

딕셔너리 메서드 예시:

my_dict = {"name": "John", "age": 30, "is_student": True}

keys = my_dict.keys()
values = my_dict.values()
items = my_dict.items()

print(keys) # dict_keys(['name', 'age', 'is_student'])
print(values) # dict_values(['John', 30, True])
print(items) # dict_items([('name', 'John'), ('age', 30), ('is_student', True)])

위 예시에서 keys, values, items는 각각 dict_keys, dict_values, dict_items 객체를 반환합니다. 이 객체들은 리스트와 비슷하지만, 리스트가 가지고 있는 메서드들 중 일부는 지원하지 않으며, 키, 값, 키-값 쌍에 대한 뷰(view)로 동작합니다. 리스트로 변환하려면 list() 함수를 사용할 수 있습니다.

딕셔너리 예제1)


[1,2,3] -> 리스트
(1,2,3) -> 튜플
{ } -> 딕셔너리

java
hashmap(해쉬맵)

javascript/jaquery
json(제이슨)

python
dictionary(딕셔너리)


파이썬 제어문

if문

파이썬에서 if문은 조건식을 사용하여 해당 조건이 참(True)이면 실행할 코드 블록을 지정하는 제어문입니다. if문의 기본적인 구조는 다음과 같습니다.

if 조건식:
    실행할 코드 블록

여기서, 조건식은 참(True) 또는 거짓(False)을 반환하는 표현식이며, 실행할 코드 블록은 조건식이 참일 경우 실행됩니다.

if문 뒤에는 콜론(:)을 붙이고, 실행할 코드 블록은 들여쓰기를 사용하여 구분합니다. 파이썬에서는 보통 4개의 공백 문자(또는 탭 문자)를 들여쓰기로 사용합니다.

if문은 단독으로 사용될 수도 있고, elif와 else를 함께 사용하여 복수의 조건식을 처리할 수도 있습니다. 다음은 if문과 elif문, else문을 함께 사용하는 예시입니다.

if 조건식1:
    실행할 코드 블록1
elif 조건식2:
    실행할 코드 블록2
else:
    실행할 코드 블록3

위 코드에서, 조건식1이 참일 경우 실행할 코드 블록1이 실행되고, 조건식1이 거짓이고 조건식2가 참일 경우 실행할 코드 블록2가 실행됩니다. 모든 조건식이 거짓일 경우 else문에 해당하는 실행할 코드 블록3이 실행됩니다.

if문은 비교 연산자(<, >, ==, !=, <=, >=)와 논리 연산자(and, or, not)를 사용하여 복잡한 조건식을 만들 수 있습니다. 예를 들어, 다음과 같은 조건식을 사용하여 변수 x가 10보다 크고 20보다 작은지를 판단할 수 있습니다.

if x > 10 and x < 20:
    실행할 코드 블록

if문 예제)

for문

파이썬에서 for문은 반복문으로, 지정된 횟수만큼 코드를 반복하여 실행할 때 사용됩니다. for문의 기본적인 구조는 다음과 같습니다.

for 변수 in 순회할 수 있는 객체:
    실행할 코드 블록

여기서, 변수는 반복문에서 사용할 변수 이름을 의미하며, 순회할 수 있는 객체는 리스트(list), 튜플(tuple), 문자열(string) 등과 같이 여러 개의 값을 가지는 자료형입니다. for문은 순회할 수 있는 객체에 포함된 각 값을 변수에 대입하여 실행할 코드 블록을 실행합니다.

for문은 range() 함수와 함께 사용하여 지정된 횟수만큼 반복할 수도 있습니다. range() 함수는 정수의 시퀀스를 생성하는 함수로, 인자로 주어진 범위의 시작 값부터 끝 값 이전까지의 정수를 생성합니다. 예를 들어, 다음과 같은 코드는 0부터 9까지의 정수를 출력합니다.

for i in range(10):
    print(i)

for문은 중첩해서 사용할 수도 있습니다. 예를 들어, 다음과 같은 코드는 이중 반복문을 사용하여 구구단을 출력합니다.

for i in range(2, 10):
    for j in range(1, 10):
        print(i, "*", j, "=", i*j)

위 코드에서, 바깥쪽 반복문은 2부터 9까지의 숫자를 반복하며, 안쪽 반복문은 1부터 9까지의 숫자를 반복합니다. 이렇게 중첩된 for문을 사용하면 복잡한 작업을 수행할 수 있습니다.

for문은 파이썬에서 가장 자주 사용되는 제어문 중 하나입니다. 리스트나 튜플과 같은 순회 가능한 객체를 다룰 때 매우 효과적이며, 반복 작업을 쉽게 처리할 수 있습니다.

for문 예제)

for문 예제2)

end=""

파이썬에서 print() 함수를 사용할 때, 기본적으로 출력한 값 끝에 개행 문자('\n')가 추가됩니다. 이는 출력된 값을 한 줄씩 출력하기 위해서 입니다.

하지만, end 인자를 사용하여 개행 문자 대신 다른 문자를 끝에 추가할 수 있습니다. end 인자는 print() 함수의 마지막에 추가되는 문자열을 지정할 때 사용됩니다.

예를 들어, end=""을 사용하면 출력한 값 끝에 개행 문자 대신 아무것도 추가하지 않게 됩니다.

# end="" 사용 예시
print("Hello, ", end="")
print("world!")  # "Hello, world!" 출력

위의 예시에서 end=""를 사용하여 두 개의 print() 함수가 출력하는 값이 한 줄에 모두 출력되게 됩니다. 만약 end 인자를 지정하지 않으면 기본값인 개행 문자('\n')가 끝에 추가되어 출력됩니다.

# end 인자를 지정하지 않은 경우
print("Hello, ")
print("world!")
# "Hello,"와 "world!"가 각각 다른 줄에 출력됩니다.

즉, end=""를 사용하면 출력한 값이 한 줄에 출력되고, end 인자를 사용하지 않으면 출력한 값이 각각 다른 줄에 출력됩니다.

while문

파이썬에서 while문은 조건이 참(True)인 동안 반복하여 코드 블록을 실행하는 반복문입니다. while문의 기본적인 구조는 다음과 같습니다.

while 조건:
    실행할 코드 블록

여기서, 조건은 참(True) 또는 거짓(False) 값을 가지는 표현식입니다. while문은 조건이 참(True)인 동안 계속해서 실행할 코드 블록을 반복해서 실행합니다.

while문은 for문과 달리, 순회할 수 있는 객체를 사용하지 않으며, 반복 횟수를 지정하지 않고 조건이 만족될 때까지 반복을 계속합니다. 이러한 특징으로 while문은 주어진 조건을 만족하는 동안 코드를 반복해서 실행할 때 유용합니다.

예를 들어, 다음 코드는 변수 i가 10보다 작은 동안 반복하여 i를 출력합니다.

i = 0
while i < 10:
    print(i)
    i += 1

위 코드에서, i가 0으로 초기화된 후, 조건식 i < 10이 참(True)인 동안 반복하여 i를 출력하고, i를 1씩 증가시킵니다. 이렇게 i가 10이 될 때까지 반복됩니다.

while문에서는 무한 루프(infinite loop)에 빠질 가능성이 있으므로, 반드시 조건식이 거짓(False)이 되는 지점을 지정하여야 합니다. 그렇지 않으면 프로그램이 영원히 멈추지 않을 수 있습니다. 따라서 while문을 사용할 때에는 주어진 조건식을 잘 검토하여 조건식이 언제 거짓(False)이 되는지 확인하는 것이 중요합니다.


break문

파이썬에서 break문은 반복문(for문, while문)을 중단하고 반복문 바깥의 코드를 실행하는 문장입니다. break문은 반복문이 실행 중일 때, 특정 조건이 만족되면 해당 반복문을 즉시 종료시키는 기능을 수행합니다.

예를 들어, 다음과 같은 코드는 변수 i가 3이 되었을 때 반복문을 종료합니다.

for i in range(1, 6):
    print(i)
    if i == 3:
        break

위 코드에서, for문을 이용해 i가 1부터 5까지 반복합니다. 그리고 만약 i가 3이 되면, break문을 실행하여 반복문을 종료합니다. 즉, i가 3일 때 출력되는 4와 5는 실행되지 않습니다.

또 다른 예로, 다음과 같은 코드는 사용자로부터 입력을 받다가 입력값이 'quit'일 때 반복문을 종료합니다.

while True:
    user_input = input("값을 입력하세요: ")
    if user_input == 'quit':
        break
    print("입력값은:", user_input)

위 코드에서, while문은 True로 지정되어 있으므로 항상 반복합니다. 그리고 사용자로부터 입력을 받은 후, 입력값이 'quit'이면 break문을 실행하여 반복문을 종료합니다. 그렇지 않은 경우에는 입력값을 출력합니다.


파이썬 함수 사용법

파이썬에서 함수는 재사용 가능한 코드 블록입니다. 함수는 특정 작업을 수행하고 값을 반환할 수 있습니다.

함수는 def 키워드로 시작하며 함수의 이름, 괄호 안에 매개변수(입력값)를 정의합니다. 그리고 콜론(:)으로 문장을 끝냅니다. 그리고 다음 줄부터 함수의 본문을 작성합니다. 함수의 본문은 함수가 실행될 때 수행될 문장으로 구성됩니다. 함수가 값을 반환하는 경우 return 키워드를 사용하여 반환할 값을 지정합니다.

예를 들어, 다음은 파이썬에서 두 개의 숫자를 더하는 함수의 예입니다.

def add_numbers(a, b):
    sum = a + b
    return sum

위 함수는 add_numbers라는 이름으로 정의되며, a와 b라는 두 개의 매개변수를 가지고 있습니다. 함수의 본문에서는 a와 b를 더한 값을 sum 변수에 할당하고, return 키워드를 사용하여 sum 값을 반환합니다.

함수를 호출하려면 함수 이름을 사용하고 괄호 안에 매개변수 값을 지정하면 됩니다. 예를 들어, add_numbers(5, 10)을 호출하면 15라는 값을 반환합니다.

함수 선언 및 호출 예제)

함수 인수 사용 예제)

파이썬 클래스와 모듈

클래스

파이썬에서 클래스는 객체 지향 프로그래밍의 핵심 개념입니다. 클래스는 특정 유형의 객체를 생성하는 데 사용됩니다. 객체는 데이터와 해당 데이터를 조작하는 함수(메서드)를 함께 묶은 것입니다.

클래스는 class 키워드로 시작하며, 클래스의 이름을 정의합니다. 클래스의 본문에는 클래스에 속하는 속성(attribute)과 메서드(method)를 정의합니다. 클래스의 속성은 클래스 인스턴스가 가지는 데이터입니다. 메서드는 클래스 인스턴스에서 수행할 수 있는 동작입니다.

예를 들어, 다음은 파이썬에서 간단한 클래스의 예입니다.

class Car:
    def __init__(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year
        
    def get_description(self):
        return f"{self.year} {self.make} {self.model}"

위의 코드는 Car 클래스를 정의합니다. init 메서드는 클래스의 인스턴스가 생성될 때 호출되는 특수한 메서드입니다. 이 메서드에서는 인스턴스 변수(self.make, self.model, self.year)를 초기화합니다. 이 변수들은 클래스 인스턴스에서 데이터를 저장하는 데 사용됩니다.

get_description 메서드는 인스턴스 메서드입니다. 이 메서드는 self를 인자로 받아서 인스턴스 변수를 사용하여 차량의 설명을 반환합니다.

클래스를 사용하려면 클래스의 인스턴스를 생성해야 합니다. 인스턴스는 클래스의 이름을 사용하여 생성하며, 필요한 인자들을 전달합니다. 예를 들어, my_car = Car("Toyota", "Camry", 2021)을 실행하면 Car 클래스의 인스턴스인 my_car가 생성됩니다.

인스턴스 변수에 접근하려면 점 표기법(dot notation)을 사용합니다. 예를 들어, my_car.make은 "Toyota"를 반환합니다. 인스턴스 메서드를 호출하려면 인스턴스 이름을 사용하여 메서드를 호출합니다. 예를 들어, my_car.get_description()은 "2021 Toyota Camry"를 반환합니다.

클래스 예제 1)

파이썬에서는 전역변수를 사용하려면 global 키워드를 사용해야함
또한 파이썬은 파일명과 클래스명이 일치하지 않아도됨!

클래스 예제 2)

모듈

파이썬에서 모듈은 코드의 재사용을 촉진하는 방법 중 하나입니다. 모듈은 파이썬 코드를 담고 있는 파일입니다. 모듈을 사용하여 함수, 클래스, 변수 등을 논리적으로 그룹화할 수 있습니다. 다른 파이썬 파일에서 모듈을 가져와서(import) 사용할 수 있습니다.

모듈을 만들려면 파이썬 파일(.py 확장자)을 만들고, 파일 안에 함수, 클래스, 변수 등을 정의하면 됩니다. 다른 파이썬 파일에서 모듈을 가져오려면 import 문을 사용합니다.

예를 들어, 다음은 파이썬에서 간단한 모듈의 예입니다. 이 모듈은 greeting이라는 함수를 정의합니다.

def greeting(name):
    print(f"Hello, {name}!")

이 모듈을 다른 파이썬 파일에서 사용하려면 import 문을 사용합니다. 예를 들어, 다음은 greeting 모듈을 사용하는 파이썬 파일의 예입니다.

import greeting

greeting.greeting("Alice")

위의 코드는 greeting 모듈을 가져와서(import greeting) greeting 모듈의 greeting 함수를 호출합니다. greeting("Alice")은 "Hello, Alice!"를 출력합니다.

모듈의 이름이 길거나 복잡한 경우, 모듈을 가져올 때 별명(alias)을 사용하여 간략하게 만들 수 있습니다. 예를 들어, import greeting as greet와 같이 사용할 수 있습니다. 이 경우 greet.greeting("Alice")를 사용하여 greeting 함수를 호출할 수 있습니다.

예제1)

예제2)

라이브러리

PyCharm에서 requests 라이브러리 설치하는 방법

  1. PyCharm을 실행합니다.

  2. 프로젝트를 엽니다.

  3. 프로젝트 메뉴에서 "File" → "Settings"를 선택합니다.

  4. 왼쪽 창에서 "Project: [프로젝트 이름]"을 선택한 다음, "Project Interpreter"를 선택합니다.

  5. 오른쪽 창에서 " + " 버튼을 클릭합니다.

  6. "Available Packages" 탭에서 "requests"를 검색합니다.

  7. 검색 결과에서 "requests"를 선택하고, "Install Package" 버튼을 클릭합니다.

  8. 다운로드가 완료되면, "OK" 버튼을 클릭합니다.

위와 같이 설치하면, requests 라이브러리를 사용할 수 있습니다. 예를 들어, 다음과 같은 코드를 작성하여 requests 라이브러리를 사용해보세요.

import requests

response = requests.get('https://www.example.com/')
print(response.text)

위 코드는 requests 라이브러리를 사용하여 https://www.example.com/ 웹사이트에 GET 요청을 보내고, 응답을 출력하는 코드입니다.


requests 사용법

파이썬에서 라이브러리(library)를 사용하려면 import 구문을 사용하여 해당 라이브러리를 가져와야 합니다. 라이브러리를 가져오는 방법에는 몇 가지가 있습니다.

1. 라이브러리 전체를 가져오는 방법

import library_name

위 구문에서 library_name은 가져오려는 라이브러리의 이름입니다. 이 구문을 사용하면 해당 라이브러리의 모든 함수, 클래스, 상수 등을 사용할 수 있습니다. 하지만 라이브러리 이름이 길거나 충돌이 발생할 수 있는 경우에는 다른 방법을 사용하는 것이 좋습니다.

2. 라이브러리의 일부를 가져오는 방법

from library_name import function_name

위 구문에서 library_name은 가져오려는 라이브러리의 이름이고, function_name은 가져올 함수의 이름입니다. 이 구문을 사용하면 해당 라이브러리에서 function_name 함수만 사용할 수 있습니다.


3. 라이브러리를 가져올 때 별칭(alias)을 사용하는 방법

import library_name as alias_name

위 구문에서 library_name은 가져오려는 라이브러리의 이름이고, alias_name은 사용하고자 하는 별칭의 이름입니다. 이 구문을 사용하면 해당 라이브러리를 alias_name으로 사용할 수 있습니다.


4. 라이브러리의 일부를 가져올 때 별칭을 사용하는 방법

from library_name import function_name as alias_name

위 구문에서 library_name은 가져오려는 라이브러리의 이름이고, function_name은 가져올 함수의 이름이며, alias_name은 사용하고자 하는 별칭의 이름입니다. 이 구문을 사용하면 해당 라이브러리에서 function_name 함수를 alias_name으로 사용할 수 있습니다.

또한, 파이썬에서 제공하는 내장 라이브러리 외에도 다른 개발자들이 만든 수많은 라이브러리들이 있습니다. 이 라이브러리들은 pip를 사용하여 설치할 수 있습니다. pip는 파이썬 패키지 관리자로, pip install library_name의 형태로 사용됩니다. 예를 들어 requests 라이브러리를 설치하려면 다음과 같이 입력합니다.

pip install requests

위와 같이 설치한 라이브러리는 import 구문을 사용하여 가져올 수 있습니다.


requests 사용 예제



예제를 실행시켜보면 위 사이트의 웹페이지의 html 파일을 출력해주는걸 확인할 수 있습니다.

D:\01-STUDY\pythonspace\venv\Scripts\python.exe D:\01-STUDY\pythonspace\workspace\Chap03\requests01.py 
<!doctype html>
<html>
<head>
    <title>Example Domain</title>

    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
        
    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 2em;
        background-color: #fdfdff;
        border-radius: 0.5em;
        box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        div {
            margin: 0 auto;
            width: auto;
        }
    }
    </style>    
</head>

<body>
<div>
    <h1>Example Domain</h1>
    <p>This domain is for use in illustrative examples in documents. You may use this
    domain in literature without prior coordination or asking for permission.</p>
    <p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>


Process finished with exit code 0
profile
뉴비 개발자 입니다. velog 주소 : https://velog.io/@jjinny_0609 Github 주소 :

0개의 댓글