프로그래밍 기초
숫자와 문자
숫자
- 정수(integer) : 소수점이 없는 숫자
- 실수(floating point) : 소수점이 포함되는 숫자
문자
- 유니코드(unicode) 기반 문자 또는 문자열
- 인용부호 " 또는 '를 사용하여 표
>> 문자가 하나이든, 여러개이든 파이썬에서는 모두가 문자타입
* unicode?
→ ASCII 코드 표는 실제 영국, 미국에서 사용하는 영문자와 특수기호만을 다룬다.
그 외 한글, 일본어, 중국어 등 영문자 외의 다른 나라의 언어들에도 별도의 코드표가 필요한데,
전 세계의 모든 문자들을 표현하기 위해 가변길이의 4byte로 문자를 표현하는 코드 체계를 유니코드(unicode) 라고 하며,
파이썬 3.0 부터는 모든 문자를 유니코드로 처리한다.
기본연산자와 표현식
데이터를 조작하기 위한 연산자가 항상 존재
> 피연산자와 연산자를 이용한 표현식은 파이썬 인터프리터에 의해 자동 계산
함수( function )
프로그래밍의 근간을 이루는 개념 , 함수
- 특정 작업을 수행하는 코드의 집합으로 함수의 이름만으로 실행할 수 있는 단위
- 함수의 이름만을 호출하여 여러개의 명령문을 한번에 실행할 수 있는 개념
→ print() : 화면에 데이터를 출력하는 작업
- 함수의 기본 구조
print("Hello World!")
[함수이름]( [입력값(파라미터)] )
함수의 실행
들여쓰기
- 파이썬은 들여쓰기에 의존적 언어
→ 타 프로그래밍 언어에서는 가독성 향상 목적
→ 파이썬에서 코드의 논리적 집합인 블록을 표현
- 들여쓰기는 스페이스 4칸을 권장(PEP 8)
- 블록 중첩 시 추가적인 4칸 들여쓰기 삽입
문서화
- 주석(comment)사용
→ 가독성증대로 개발속도 향상, 유지보수 용이
- 주석의 종류
→ 한 라인 주석 : #
→ 여러 라인 주석 : """ 또는 ''' 3개 연달아 사용
실습
파이썬에서 사용하는 따옴표 " 와 한글/워드에서 사용하는 따옴표 “ 는 코드표가 달라서 파이썬 인터프리터가 해석을 못한다 !!
문자의 사칙연산은 더하기 = concat 기능
문자 * 숫자 = 같은 문자 숫자만큼 concat
곱하기는 궁금해서 해보니 오류 뱉어낸다
데이터 저장
원뿔의 부피 & 겉넓이 계산 프로그램
> 어떠한 알고리즘으로 만들 것인지 ?
부피 = 1/3πr^2 h
겉넓이 = πr^2+πrh
# 반지름 r = 20, 높이 h = 30
# 부피출력
print(1/3 * 3.14 * 20 ** 2 * 30 )
# 겉넓이 출력
print (3.14 * 20 ** 2 + 3.14 * 20 * 30)
반지름과 높이를 자주 수정해야하는 상황이 오면 ? >> 변수 사용
변수(Variable)
rad = 20
# rad - lvalue, 지속되는 대상
# 20 - rvalue, 임시적인 대상
여기서 등호 (=) 의 의미는 오른쪽에 있는 값을 왼쪽에 집어 넣어라 ~! 하는 할당 연산자의 개념을 가진다. 두개가 같다라는 의미 X
- 명령형 패러다임 언어의 특징
→ 처리할 데이터와 처리된 결과를 임시적 저장
→ 변수의 값을 변경하는 할당연산자(=)를 이용
값의 할당
- 프로그램이 실행되는 과정에서 처리되는 값이 어떤 행위(입력,연산 등)에 따라 그 값이 변할 수 있는 메모리 내의 저장공간 지정
식별자
- 프로그램 내부에 정의된 객체( 변수, 함수 등 ) 의 이름
- 고유하게 만들어져야 하는 저장공간, 식별자
→ 문자, 숫자, 밑줄로 구성
→ 문자 또는 밑줄로만 시작가능
→ 예약어와 동일할 수 없음
→ 길이 제한이 없음
예약어( reserved word )
- 파이썬 인터프리터에 의해 이미 문법적인 용도로 사용되어 식별자로 사용이 불가능한 언어
산술연산자
정의
- 피연산자(operand)에 대해 지정된 산술연산을 지시하는 기호
→ 단항 연산자(unary operator) ex) -5
→ 이항 연산자(binary operator)
특수 산술 연산자
- 프로그래밍 언어에서만 사용되는 연산 또는 부호
→ 정수 나눗셈 연산자(//)
→ 모듈로 연산자 (%)
파이썬 내장함수
- 파이썬 인터프리터에서 기본적으로 지원하는 함수
→ 별도의 모듈이나 패키지 없이 사용가능
ex ) max,min,round,abs, pow , 등등 ...
'언어 > Python' 카테고리의 다른 글
[Python] Anaconda/Miniconda 설치 및 가상화 설정 (5) | 2024.10.28 |
---|---|
파이썬으로 정적 페이지 웹 크롤링 하기 - 1 (45) | 2024.05.14 |
[Python] 선택구조 (3) | 2024.03.25 |
[Python] 제어구조 (25) | 2024.03.22 |