(SK쉴더스)AI 활용한 클라우드 & 보안 전문가 양성 캠프
[새싹 성동 2기] 5. Python 문법 기초(2)
hunm719
2024. 12. 9. 15:15
목차
1. 변수
2. 자료형
3. 연산자
4. 파일
5. 객체지향 프로그래밍
[3] 연산자
-산술 연산자
연산자 | 이름 | 설명 | |
+ | 덧셈 | 두 피연산자를 더합니다. | |
- | 뺄셈 | 첫 번째 피연산자에서 두 번째 피연산자를 뺍니다. | |
* | 곱셈 | 두 피연산자를 곱합니다. | |
/ | 나눗셈 | 첫 번째 피연산자를 두 번째 피연산자로 나눕니다. 결과는 실수형 수입니다. |
|
// | 나눗셈 몫 | 첫 번째 피연산자를 두 번째 피연산자로 나눈 후, 몫 부분만 반환합니다. 결과는 정수형 입니다. | |
% | 나머지 | 첫 번째 피연산자를 두 번째 피연산자로 나눈 후, 나머지만 반환합니다. 결과는 정수형 입니다. | |
** | 거듭제곱 | 첫 번째 피연산자를 두 번째 피연산자로 거듭제곱합니다. | |
- | 단항 음수 | 피연산자의 부호를 반대로 바꿉니다. |
-비교 연산자
연산자 | 이름 | 설명 |
== | 같음 | 두 피연산자의 값이 같다면 True를 반환하고, 그렇지 않으면 False를 반환합니다. |
!= | 같지 않음 | 두 피연산자의 값이 다르다면 True를 반환하고, 같다면 False를 반환합니다. |
> | 큼 | 첫 번째 값이 더 크다면 True를 반환하고, 그렇지 않으면 False를 반환합니다. |
< | 작음 | 첫 번째 값이 더 작다면 True를 반환하고, 그렇지 않으면 False를 반환합니다. |
>= | 크거나 같음 | 첫 번째 값이 더 크거나 같다면 True를 반환하고, 그렇지 않으면 False를 반환합니다. |
<= | 작거나 같음 | 첫 번째 값이 더 작거나 같다면 True를 반환하고, 그렇지 않으면 False를 반환합니다. |
is | 객체 동일성 | 두 객체가 같은 객체이면 True를 반환하고, 그렇지 않으면 False를 반환합니다. |
is not | 객체 동일성 부정 | 두 객체가 다른 객체이면 True를 반환하고, 그렇지 않으면 False를 반환합니다. |
-논리 연산자
연산자 | 이름 | 설명 |
and | 논리곱(AND) | 두 조건이 모두 참일 때 참 |
or | 논리합(OR) | 두 조건 중 하나라도 참일 때 참 |
not | 논리부정(NOT) | 조건이 참이면 거짓, 거짓이면 참 |
-할당 연산자
연산자 | 이름 | 설명 | |
= | 기본 할당 | 오른쪽 값을 왼쪽 변수에 할당합니다. | |
+= | 덧셈 후 할당 | 변수의 현재 값에 오른쪽 피연산자의 값을 더한 후, 그 결과를 다시 변수에 할당합니다. | |
-= | 뺄셈 후 할당 | 변수의 현재 값에서 오른쪽 피연산자의 값을 뺀 후, 그 결과를 다시 변수에 할당합니다. | |
*= | 곱셈 후 할당 | 변수의 현재 값에 오른쪽 피연산자의 값을 곱한 후, 그 결과를 다시 변수에 할당합니다. | |
/= | 나눗셈 후 할당 | 변수의 현재 값을 오른쪽 피연산자의 값으로 나눈 후, 그 결과를 다시 변수에 할당합니다. 결과는 부동 소수점 수입니다. | |
//= | 몫 후 할당 | 변수의 현재 값을 오른쪽 피연산자의 값으로 정수 나누기를 수행한 후, 그 결과를 다시 변수에 할당합니다. | |
%= | 나머지 후 할당 | 변수의 현재 값을 오른쪽 피연산자의 값으로 나눈 나머지를 구한 후, 그 결과를 다시 변수에 할당합니다. | |
**= | 거듭제곱 후 할당 | 변수의 현재 값을 오른쪽 피연산자의 값으로 거듭제곱한 후, 그 결과를 다시 변수에 할당합니다. | |
&= |= ^= <<= >>= |
비트 연산 후 할당 | 변수의 현재 값에 비트 연산을 수행한 후, 그 결과를 다시 변수에 할당합니다. |
-삼항 연산자
# JavaScript 에서의 삼항 연산자
condition ? value_if_true : value_if_false
# Python에서의 삼항 연산자
value_if_true if condition else value_if_false
[4] 파일(File)
-데이터를 영구적으로 저장하거나 읽어오기 위해 사용하는 저장 매체의 단위
-파일 작업 주요 함수 4가지(open, read, write, with)
file = open("파일명", "모드")
# 모드 종류
# 'r' (읽기): 파일을 읽기 전용으로 염. 기본값.
# 'w' (쓰기): 파일을 새로 생성하거나 덮어씀.
# 'a' (추가): 파일 끝에 데이터를 추가.
# 'b' (바이너리): 바이너리 모드로 파일 처리.
# '+' (읽기 및 쓰기): 읽기와 쓰기 모두 수행.
# 파일 읽기
file = open("example.txt", "r")
content = file.read() # 전체 읽기
print(content)
# 파일 쓰기
file = open("example.txt", "w")
file.write("Hello, Python!") # 파일에 쓰기
# 파일 닫기
with open("example.txt", "r") as file:
content = file.read()
print(content) # 파일 읽기
# with 블록 종료 시 파일 자동 닫힘
# with 구문 없이 open() 했다면 file.close() 구문으로 닫기 가능
[5] 객체지향 프로그래밍(Object-Oriented Programming, OOP)
-프로그램을 객체(Object)로 구성하고, 이 객체들이 서로 상호작용하도록 설계하는 프로그래밍 패러다임
-코드의 재사용성, 유지보수성, 가독성, 유연성을 높이는 데 유용함
-객체(Object)란 데이터(속성)와 동작(메서드)를 포함하는 독립적인 단위로, Python에서 모든 것은 객체임(숫자, 문자열 등)
-핵심요소 5가지(클래스 Class, 객체 Object, 캡슐화 Encapsulation, 상속 Inheritance, 다형성 Polymorphism)
--클래스(Class)
# 클래스는 객체를 생성하기 위한 설계도
# 객체는 클래스로부터 만들어지고, 이를 인스턴스(instance) 라고 부름
class Person:
def __init__(self, name, age):
self.name = name # 속성
self.age = age # 속성
def greet(self): # 메서드
print(f"Hello, my name is {self.name}.")
--객체(Object)
# 객체는 클래스의 인스턴스
# 객체는 클래스의 속성과 메서드를 가진 독립된 개체
# 객체 생성
person1 = Person("Alice", 25)
person2 = Person("Bob", 30)
# 객체 사용
person1.greet() # Hello, my name is Alice.
person2.greet() # Hello, my name is Bob.
--캡슐화(Encapsulation)
# 객체 내부의 데이터를 숨기고, 외부에서 접근할 수 없도록 보호하는 개념
# 데이터를 메서드를 통해 간접적으로 접근
class BankAccount:
def __init__(self, balance):
self.__balance = balance # 비공개 속성
def deposit(self, amount):
self.__balance += amount
def get_balance(self):
return self.__balance
account = BankAccount(1000)
account.deposit(500)
print(account.get_balance()) # 1500
--상속(Inheritance)
# 부모 클래스의 속성과 메서드를 물려받아 자식 클래스를 생성
class Animal:
def speak(self):
print("Animal speaks")
class Dog(Animal):
def speak(self):
print("Woof!")
dog = Dog()
dog.speak() # Woof!
--다형성(Polymorphism)
# 같은 이름의 메서드가 다른 클래스에서 다르게 동작하도록 구현
class Bird:
def fly(self):
print("Bird can fly")
class Penguin(Bird):
def fly(self):
print("Penguin can't fly")
birds = [Bird(), Penguin()]
for bird in birds:
bird.fly()