너무너무 멋져 눈이눈이 부셔
파이썬 기본 문법-변수와 연산자 본문
프로그래밍:
소프트웨어를 개발하기 위한 과정. 컴퓨터에게 명령하는 적절한 수행절차를 정의하고
이를 프로그래밍 언어로 표현하는 과정,
과정:
- 컴퓨터에게 시키고 싶은 일을 정한다
- 컴퓨터가 이해할 수 있도록 수행 절차를 정의해서 표현한다
- 적절한 프로그래밍 언어를 선택, 언어를 이용해서 절차를 기술
- 오류 수정(디버깅)
구문오류->문법 x 실행 x
논리오류-> 문법 o 실행 o 결과 x
- 2진수
- 16진수 0~ 9 10-> a, 11-> b, 12-> c ...16->10
- *작은 문제로 쪼개기
기초 문법
변수
데이터를 저장하기 위해서 사용
동일 변수에 다른 데이터를 할당 가능
- 추상화.
| a = 1000
변수 = 값 a , b = 1000, 2000
| x,y = 10,20 tmp = x x= y y =tmp
print(x,y) 임시 변수 활용!
- 식별자 : 변수의 이름
<자료형과 메모리>
데이터 10을 컴퓨터가 기억하는 과정
- 10을 저장할 공간을 메모리에 만들고
- 저장할 공간에 대한 주소를 할당받는다
3.할당 받은 주소를 기억했다가
- 10이라는 데이터를 해당 주소로 찾아가서 저장한다
- 이후에 10이 필요해지면 해당 주소로 가서 읽어온다
- 주소를 기억하기가 어려움 ->변수 선언(주소값을 기억하기 쉬운 이름으로 바꿔서 부르자!~ 별명)
변수 = 메모리의 주소를 기억하는 이름.
우리는 변수를 이용해서 데이터를 기억.
자료형마다 차지하는 메모리의 크기가 다르다
- 주소값 보여주는 함수 id() *동일한 데이터인지 비교하려면 주소를 비교할 필요가 있음
#주석->실행 x
연산자
Operator
|
+ 덧하기
|
- 빼기
|
* 곱하기
|
/ 나누기
|
** 제곱
|
// 정수 몫
|
% 나머지
|
~ a , +a, -a 단항 플러스와 마이너스
- 연산자는 기본적으로 수학에서의 우선순위와 같음.
- 괄호가 가장 먼저 계산됨
- 할당 연산자가 우선순위가 낮음
자료형 분류
수치형
- 진수표현 가능 : 0b2진수, 0o8진수 ,0x16진수
- 정수 int(), 실수 float() (소수를 이진수로 변환하는 방법: x2 한 다음 그 값의 1의 자리를 보면 됨)
- 실수 연산 시 주의 점(무한한 결과->부동 소수점): 매우 작은 수보다 작은지 확인하거나 math.isclose()활용
문자열 :
- str '응애' "응애"_ 소스 코드 내에서 하나의 문장부호만 쓰기를 권장
- 문자열 안에 작은 따옴표를 사용->" '응애'라고 말했다"
- 문자열 안에 큰 따옴표 사용->'"응애"라고 말했다'
- 삼중 따옴표 : 작은 따옴표나 큰 따옴표를 삼중으로 사용 ->여러 줄을 나눠 입력할 때 편리
- 문자열도 덧셈, 곱셈 가능.
- (문자열을 변수를 활용하여 만드는 법) f스트링: f'문자열{변수}'
- find():문자열에 어떤 글자가 몇번째 자리에 있는지 알고 싶을 때
\n 줄바꿈
\t | 탭 |
\r | 캐리지 리턴(커서를 맨 앞으로 가게 해줌) |
\o | 널 |
\\ | \ |
\' | 단일 인용부호' |
\'' | 이중인용부호" |
None
- 값이 없음. (ex) (a =None) != (a = '')
불린형 (참 거짓)
- 논리 자료형으로, 참과 거짓을 표현하는 자료형.
- True or False 값을 가짐.
- 비교 / 논리 연산에서 활용
- 비교 연산자 -> 주로 조건문에 사용.
- 연산을 할 때는 동일 자료형 끼리 연산.
- 그리고 이런 애들이 모여있음( 리스트, 튜플, 세트, 딕셔너리...)
<비교 연산자>
print(3 > 6) → False
<논리 연산자>
True and True ->True
나머지 -> False
둘 다 참이여야 참
True or False -> 둘 중 최소 하나만 참이면 참
not : 피연산자의 논리값을 반대로
not True -> False
- Falsy: False는 아닌데 논리값으로 사용될 때 False취급됨.
<falsy> 0, 0.0, (),[],{} ,' ',None
<trusy> 값이 있으면 |
- 논리 연산자도 우선순위가 존재. : not, and, or 순
- (괄호 필 사용)
단축 평가 예시
ex) 3 and 5 = 5
0 and 3 = 0
0 or 3 = 3
5 or 3 = 5
5 or 0 = 5
*프로그래밍은 위에서 아래로, 왼쪽에서 오른쪽으로 계산.
컨테이너
- 데이터 덩어리.(모아서 관리하겠다)
- 여러 개의 값(데이터)를 담을 수 있는 것(객체). 서로 다른 자료형을 저장할 수 있음.
EX)list,dict...
- type() :자료형 확인 함수
- 시퀀스: 순서 o != 정렬되어있다
- 리스트(가변형)
- 여러 값을 순서가 있는 구조로 저장하고 싶을 떄 사용.
- 대괄호 사용 []
- 튜플(불변형)
- 여러 개의 값을 순서가 있는 구조로 저장하고 싶을 때 사용.
- 생성 후 담고 있는 값 변경 불가.
- 소괄호 사용()
- 원소 하나 짜리를 튜플로 만들고 싶을 때 (1,) 콤마 찍기 ->안 하면 정수로 인식
- 빈 괄호 만들고 값 집어넣기 불가(불변형이니까)
- 레인지 (불변형)
- 숫자의 시퀀스를 나타내기 위해 사용
- list(range(n,m,s)) = n ~ m-1 까지 숫자를 s의 간격만큼 뛴 시퀀스
- ex) list(range(0,4)) = [0,1,2,3]
- 리스트(가변형)
인덱스 접근법 <슬라이싱 연산자>-시퀀스를 특정 단위로 잘라낼 수 있음
box = ['a', 'b', [ '바나나', '사과','체리']] | |
len(box) =3box[2] =['바나나', '사과', '체리'] | |
box[-1][1][0] ='사'*문자열도 시퀀스라 인덱스 접근 가능. | 시퀀스 [start:end:step] → 새로운 시퀀스 만들어냄 |
[start:end:step][:] →전체 | |
[::-1] → 거꾸로 |
- 논시퀀스형: 순서 x
- 세트(가변형)
- 집합 자료형
- 중복되지 않는 데이터를 가짐
- a = set() {}<<<얘는 딕셔너리
- 딕셔너리(불변형)
- 키-값의 쌍으로 이뤄진 자료형 (3.7부터는 ordered)
- 키는 변경 불가능한 데이터만 활용가능, 키 값 중복 불가능
- 값은 어떠한 형태는 상관없음
- {},dict()
- 세트(가변형)
형 변환
- 데이터 형태는 서로 변환할 수 있음.
- 암시적 형 변환 : 사용자 의도x, 파이썬 내부적으로 자료형 변환
- print( 3 + 5.0) -> 8.0 #3.0 + 8.0 정수 + 실수->실수
- 기준은 데이터의 무손실.
- 명시적 형 변환: 사용자가 특정 함수를 활용하여 의도적으로 변환
- 실수 :float(), 정수 int(), 문자열 str()
'강한 파이썬' 카테고리의 다른 글
파이썬_함수 (0) | 2023.02.06 |
---|---|
파이썬_재미있는 제어문 (0) | 2023.02.03 |