본문 바로가기
카테고리 없음

파이썬 시작

by 많이느린아이 2024. 6. 17.

* 목표 : 업무 자동화 프로그램 완성(개인프로젝트)

           : 스프링부트 + 파이썬 + 자바 ( 웹프로젝트 최종 만들기)

 

(1) 데이터 타입 선언 하는 언어 vs 안하는 언어

 

자바 , C VS 파이썬 , 자바 스크립트

 

=> 그러므로 데이터타입을 선언하는 함수를 표시해줘서 보기쉽게 해줘야한다.

b= 1002
type(b)

 

(2) 파이썬과 자바의 차이점.

1. 클래스 정의 및 객체 생성

  • 파이썬: 클래스 정의 시 class 키워드를 사용하며, 객체 생성 시 별도의 new 키워드를 사용하지 않습니다.
  • 자바: 클래스 정의 시 class 키워드를 사용하며, 객체 생성 시 new 키워드를 사용합니다.

2. 접근 제어자

  • 파이썬: 명시적인 접근 제어자(public, private, protected)가 없으며, 변수 이름 앞에 밑줄(_)을 붙여 접근 제어를 표현합니다.
  • 자바: 명시적인 접근 제어자(public, private, protected, default)를 사용하여 접근 범위를 지정합니다.

3. 상속

  • 파이썬: 다중 상속을 지원하며, 클래스 이름 뒤에 괄호를 사용하여 상속을 표현합니다.
  • 자바: 단일 상속만 지원하며, extends 키워드를 사용하여 상속을 표현하고, 인터페이스를 통해 다중 상속을 구현할 수 있습니다.

4. 메모리 관리

  • 파이썬: 자동 메모리 관리를 위해 가비지 컬렉션을 사용하며, 참조 카운트를 기반으로 메모리를 관리합니다.
  • 자바: 가비지 컬렉션을 사용하여 자동 메모리 관리를 수행하며, 명시적인 메모리 해제가 필요 없습니다.

5. 메서드 오버로딩 및 오버라이딩

  • 파이썬: 메서드 오버로딩을 지원하지 않지만, 기본 인자를 사용하여 유사한 기능을 구현할 수 있습니다. 메서드 오버라이딩은 지원합니다.
  • 자바: 메서드 오버로딩과 오버라이딩을 모두 지원하며, 오버라이딩 시 @Override 어노테이션을 사용합니다.

6. 타입 시스템

  • 파이썬: 동적 타입 언어로, 변수의 데이터 타입을 선언하지 않으며 런타임에 타입이 결정됩니다.
  • 자바: 정적 타입 언어로, 변수의 데이터 타입을 미리 선언해야 하며 컴파일 타임에 타입이 결정됩니다.

7. 문법 및 사용 편의성

  • 파이썬: 문법이 간결하고 유연하여 빠르게 개발할 수 있습니다.
  • 자바: 엄격한 문법 규칙과 풍부한 라이브러리를 통해 대규모 애플리케이션 개발에 적합합니다.

이와 같이 파이썬과 자바는 객체 지향 프로그래밍의 기본 원칙을 공유하면서도, 구체적인 구현 방식과 사용 편의성에서 여러 차이점이 있습니다.

 

(3) id 함수

 

# 정수형 변수
a = 10
b = 10

# id 함수로 객체 식별자 확인
print(id(a))  # 두 변수는 동일한 객체를 참조하므로 동일한 식별자를 가집니다.
print(id(b))

# 리스트 변수
list1 = [1, 2, 3]
list2 = [1, 2, 3]

# id 함수로 객체 식별자 확인
print(id(list1))  # 두 리스트는 동일한 값을 가지지만, 서로 다른 객체이므로 다른 식별자를 가집니다.
print(id(list2))

 

Mutable vs Immutable

파이썬에서 값이 같아도 id 값이 다른 객체들은 일반적으로 변경 가능한(mutable) 객체입니다. 반대로, 변경 불가능한(immutable) 객체는 값이 같으면 동일한 id 값을 가질 수 있습니다.

변경 가능한 객체 (Mutable):

  • List
  • Dictionary
  • Set
  • Custom Objects (if their attributes can be changed)

변경 불가능한 객체 (Immutable):

  • Integer
  • Float
  • String
  • Tuple