1. mutable & immutable
👩🏻💻 mutable : 생성된 후에도 변경이 가능한 자료형
ex. list, set, dict
👩🏻💻 immutable : 생성된 후에는 변경이 불가능한 자료형
ex. int, float, str, tuple
# mutable
# 할당받는 메모리에 저장된 값을 다른 값으로 바꿀 수 있음
# id() : 객체의 고유값 반환. 메모리 주소를 구별하기 위한 용도로 사용
me = [1, 2, 3]
print(id(me)) # 4370596288
me.append(4)
print(id(me)) # 4370596288 / 할당된 메모리 주소는 변경이 되지 않음
# immutable
# 한 번 생성하면 최초로 저장된 값을 다른 값으로 바꿀 수 없음
obj = 10
print(id(obj)) # 4343431696
obj = obj + 1
print(obj) # 11
print(id(obj)) # 4343431728 / 할당된 메모리 주소가 변경이 됨
# 메모리에 저장된 데이터를 수정하는 것이 아니라, 새로 할당을 받아서 데이터를 저장
2. % 연산자
%s : string %f : float %d : decimal (십진법) |
name = 'Kai'
print('내 이름은 %s 입니다.' % name) # 내 이름은 Kai 입니다.
print('내 이름은 ', name, '입니다.', sep='')
print('내 이름은 ' + name + '입니다.')
height = 120.5
print('내 키는 %fcm입니다.' % height) # 내 키는 120.500000cm입니다.
weight = 23.55
print('내 몸무게는 %.1fkg입니다.' % weight) # 내 몸무게는 23.6kg입니다.
year, month, day = 2014, 8, 25
print('내 생일은 %d년 %d월 %d일 입니다.' % (year, month, day))
# 내 생일은 2014년 8월 25일 입니다.
3. 삼항 조건 연산자
👩🏻💻 일반적인 삼항 조건 연산자 : 조건식 ? 참 : 거짓
👩🏻💻 파이썬 삼항 조건 연산자 : 참 if 조건식 else 거짓
a = 10
b = 20
result = (a - b) if (a >= b) else (b - a)
print('{}과 {}의 차이는 {}입니다.'.format(a, b, result)) # 10과 20의 차이는 10입니다.
4. 지역변수/전역변수
1) 지역 변수 local variable
📁 함수 내부에서 선언한 변수는 함수 내부에서만 사용. 함수 외부에서는 지역변수에 접근할 수 없음
def f():
a = 10
print(f'f()내부 : {a}')
f() # f() 내부 : 10
# print(f'f() 외부 : {a}') # 함수 외부에서는 a 변수를 사용할 수 없음
2) 전역변수 global variable
📁 함수 외부에서 선언한 변수는 함수 내부나 함수 외부에서 모두 사용할 수 있음
def f():
print(f'f() 내부 : {b}')
b = 10 # 전역변수
f() # f() 내부 10
print(f'f() 외부 : {b}') # f() 외부10
# 1) 전역변수를 단순히 참조만 하는 경우 -> 읽기만 하는 경우
a = 0
def f():
print(a) # 함수 f() 내부에서 전역변수 a를 참조
f() # 0
print(a) # 0 / 함수 f() 외부에서 전역변수 a를 참조
# 2) 전역변수의 값을 변경하는 경우
a = 0
def f():
global a # 전역변수 a를 사용
a = 10 # 전역변수 a의 값을 변경
f() # 함수 f() 실행
print(a) # 10 / 전역변수의 변경된 값을 확인
[ 내용 참고 : IT 학원 강의 ]
'Programming Language > Python' 카테고리의 다른 글
[Python] JSON 파일 입출력 | 인코딩(encoding) 및 디코딩(decoding), API (2) | 2024.03.05 |
---|---|
[Python] CSV 파일 입출력, reader()/writer(), DictReader()/DictWriter() (2) | 2024.03.04 |
[Python] 파일과 경로, 파일 열기, 파일 닫기, 파일 생성, 파일 입출력, pickle (0) | 2024.03.03 |
[Python] 클래스 변수, 클래스 메소드, 정적 메소드, 상속 (0) | 2024.03.03 |
[Python] 클래스, 객체생성, 인스턴스 변수와 메소드, 생성자 및 소멸자 (0) | 2024.03.03 |