반응형
알아두면 좋을 정보
사칙연산의 연산자 <C언어와 Python 비교>
연산 | C | Python |
더하기 | + | + |
빼기 | - | - |
곱하기 | * | * |
나누기 | /(묵시적 형변환 :실수) | / |
나눗셈의 몫 구하기 | /(묵시적 형변환 :정수) | // |
나눗셈의 나머지 구하기 | % | % |
여러가지 진법들
진법 | 접두사 | 출력함수 |
16진수 | 0x | hex( ) |
8진수 | 0o | oct( ) |
2진수 | 0b | bin( ) |
부동소수점이란?
실수를 지원하기 위해 부동 소수형을 제공함.
이는, 소수점을 움직여서 소수를 표현하는 자료형으로 8바이트 만을 이용하여 수를 표현한다.(표현범위 제한적)
또한 미미한 값이지만 오차가 발생하기 때문에 정밀도가 떨어진다.
파이썬 내에서 정밀도를 가진 수를 다루기 위해선 파이썬 표준 라이브러리 decimal을 이용하면 됨.
* 파이썬은 형변환이 유연하므로, 자료형 확인을 할 때는 type( ) 함수를 사용하여 확인한다.
절대값, 버림, 반올림
- abs() : 절대값 함수
- round() : 반올림 함수
- trunc() : 버림 함수 [math 모듈]
import math
모듈 내에 들어있다면, import 구문 사용해야 함. 예를 들면 아래와 같이,
>>> import math
>>> math.trunc(2.8)
2
- factorial( ) : 팩토리얼
- degrees( ) : 라디안에서 도
- radiands( ) : 도에서 라디안으로
- 삼각함수와 역함수 [ cos( ), sin( ), tan( ), acos( ), asin( ), atan( ) ]
- pow( , ) : 제곱
- sqrt( ) : 제곱근
- log( , ) : 로그
두번째 매개변수를 생략하면 자연 로그와 같음. - log10( ) : 밑수가 10인 로그
Immutable과 Mutable
파이썬의 변경가능한 자료형과 변경 불가능한 자료형
변경 가능(Immutable) : list, set, dictionary / 변경 불가능(Mutable) : int, float, tuple
변경 불가능한 자료형들은 한번 생성된 요소는 변경 및 삭제가 불가하다.
그렇기 때문에, dictionary 에서 변경이 가능한 자료형은 Key가 될수 없다.
흔한 비교 대상↓
리스트( O ) | 튜플 ( X ) |
a = [1, 2, 3] a[0] = 3 |
b = (1, 2, 3) b[0] = 3 |
이해 1) 파이썬의 바인딩을 생각
파이썬의 경우 바인딩했을때 실제 데이터가 새로 생기는지, 주소값만 복사되는지가 자료형에 따라서 달라집니다.
1) int, float, tuple 은 데이터가 새로 생겨나고 (별도의 객체가 생성. 사본(?) 수정시 원본 변경 없음)
2) list, set, dict는 주소값만 복사됩니다. (객체의 별명, 사본(?) 수정시 원본 변경)
이해 2) 객체 생성 시 할당되는 주소값 확인
#int
a = 3
b = 3
print("{0:<20} {1}" .format(id(a), id(b))) #앞에서부터 채우는데 20칸을 할당한다
print(a is b)
#list
c = [1,2]
d = [1,2]
print("{0:<20} {1}" .format(id(c), id(d))) #앞에서부터 채우는데 20칸을 할당한다
print(c is d)
140727454069608 140727454069608
True
1724227459712 1724227464256
False
- 주소를 알아내는 함수 id()
a = "hello"
b = ["hello", "python"]
print(id(a))
print(id(b))
print(id(b[0]))
1745025253296
1745031275840
1745025253296
a의 hello와 b의 hello는 동일한 주소값을 갖는다. = 같은 객체를 의미함.
- 문자열의 주소
a = "test"
print(id(a))
a = "test1"
print(id(a))
2555396338928
2555429339056
파이썬의 문자열 객체는 수정이 불가능함.
때문에 test1이라는 새로 생성된 문자열 객체를 생성하여 할당하고나면, 기존의 문자열은 가비지 콜렉터에 의해 자동 소멸됨.
- 문자열 중간 수정하기
str = "pithon"
str[1] = "y"
print(str)
오류발생
문자열은 변경불가한 자료형이다. ( 튜플 등 )
더보기
방안1
str = "pithon"
result = str[:1] + 'y' + str[2:]
print(result)
슬라이딩을 통해 새로운 문자열 만들기
728x90
반응형
'개발아닌개발 > Python' 카테고리의 다른 글
[파이썬/아나콘다] 파이참에 장고 설치하고, 장고 프로젝트 만들기 2 (0) | 2023.04.04 |
---|---|
[파이썬] List 자료형으로 선택 정렬(자리바꾸기) (0) | 2023.03.22 |
[오류] 파이참 터미널 Import-Module : 이 시스템에서 스크립트를 실행할 수 없으므로 Conda.psm1 파일을 로드할 수 없습니다. (0) | 2023.03.18 |
[파이썬/아나콘다] 파이참에 장고 설치하고, 장고 프로젝트 만들기 (0) | 2023.03.18 |
[파이썬] 설치 : Anaconda3 설치(Windows) 2022.10버전 (0) | 2023.03.17 |
댓글