[Python] 파이썬이 뭐냐면?

Jerrykim91·2020년 8월 19일
0

Python

목록 보기
2/3
post-thumbnail

1. 파이썬 기본 - 파이썬 개요


파이썬이 뭐냐면?


쉽게 말해 컴퓨터와 소통하는 컴퓨터 언어이다.


1. 파이썬은 쉽다!


파이썬 = 쉽다. 라고 표현해도 무방한 것 같다.

Python배우기 쉽고 확장하기 쉽고 뭐 그렇다고 다 쉬운 것은 아니지만

효율적인 자료구조들과 객체지향 프로그래밍에 대해 간단하고 효과적인 사용 방법을 제공한다.

C 보다 훨씬 많은 에러 검사를 제공하며 유연한 스타일의 배열과 딕셔너리같은 고수준의 자료형들을 가지고 있다.
Java , C 에 비해서 툴을 습득하기가 쉽고 또한, 융통성 있는 프로그래밍 언어라고 볼 수 있다.


프로그래밍 언어는 컴퓨터가 알아듣는 언어로

  • 컴파일링 언어
  • 인터프리터 언어( 함수 언어 )

아래의 두 가지로 나누어진다.

컴파일링 언어

  • 한 번에 컴파일링 하기 때문에 "구조" 가 중요 -> 객체지향 발전

인터프리터 언어( 함수 언어 )

  • 명령어 한 줄씩 대화 형태로 컴파일링 되기 때문에 명령어 한줄 한줄이 중요하다.
  • 문제 풀듯 빠른 피드백을 받을 수 있다.

- 인터프리터적 특징

  • CC++로 구현된 함수나 자료 구조를 쉽게 추가 가능하다.
  • 동적 타이핑, 우아한 문법을 가진다.
  • 컴파일과 링크 단계가 필요 없으며 대화형으로 사용 할 수 있어 개발 시간을 상당히 단축 할 수 있다.

또한 파이썬은 여러가지 속도면에서도 빠르다.

  1. 빠른 개발이 가능하다.
  2. 빨리 배울 수 있다. -> 배우는 시간이 적게 드는 편이다.
  3. 빠르게 라이브러리를 가져와 사용 할 수 있다. -> 검증된 라이브러리들이 많아서 바로바로 가져다가 사용 가능하다.

또한, 파이썬은 간결하고 읽기 쉽게 프로그램을 작성 가능하다.

파이썬은 같은 기능(변수선언, if, for, ...)의 C, C++, Java 프로그램들과 비교해보면 확실히 간결하다는것을 알 수 있다.


특히 자료형때문에 복잡한 연산을 짧은 문장 만으로 표현가능하다.


의사코드로 표현

# 의사코드 
반복 시작 -> x를 2에서 9까지 반복
	반복 시작 -> y를 1에서 9까지 반복
		출력 -> x * y  = 결과 
	반복 끝
반복 끝

java로 표현


// java
public class Loop {
	public static void main(String[] args) {
		for( int x = 2; x < 10; x ++ ) {
			for ( int y = 1; y < 10; y++ ) {
				System.out.println( x +" * " + y + " = " + x*y );
			}
		}
	}
}

C++ 로 표현


// C++

#include <iostream>

using namespace std;

int main(void)
{
    for( int X = 2; X < 10; X++ )
    {
        for( int Y = 1; Y < 10; Y++ )
        {
            cout << X << " * " << Y << " = " << X*Y << endl;
        }
    }
    return 0;
}

같은 코드를 Python로 표현하면


# Python
for x in range(2,10):
	for y in range(1,10):
		print(str(x) + " * " + str(y) + " = " + str(x * y))

다른 언어 비해서 파이썬이 훨씬 간결한것을 알 수 있다.

문장의 묶음은 { }가 아닌 들여쓰기로 이루어지며 변수와 인자의 선언이 필요가 없다.



2. 파이썬 시작 전 맛보기


자료구조 - 기본형

수치형

  • 정수(...,-1,0,1,...)
  • 십진수(10, 11), 이진수(0 or 1), 8진수, 16진수(0xFF)
  • 부동소수(-3.14,0,0,1,2..)

문자형(단일형으로 분류하지만, 실체는 연속형) -> string

  • string : str()
  • "helloworld",'helloworld',"""..""",'''..'''

논리 / 불린 자료형( 첫 글자는 대문자 T/F )

  • Boolean : Ture(1) , False(0) ( data = True )
  • 이진데이터

연산자 그리고 피연산자

  • +, -, *, / 같은 기호 연산자
  • 연산자에 의해 계산 되는 문자나 숫자를 피연산자
  • 3+232피연산자 , + 는 연산자
  • 수식에서 연산자의 역활과 순서는 수학에서 연산자와 동일 문자간 연산도 가능하다.

자료구조 - 연속형

값을 여러개를 들고 있다.

리스트

  • list() , []
  • 순서(인덱스)가 있다.
  • 값이 중복되도 OK

딕셔너리

  • dict() , {}
  • 순서 없다.
  • 키와 값의 세트로 구성
  • 키는 중복X
  • 수정 가능

튜플

  • tuple() , ()
  • 순서(인덱스)가 있다.
  • 값이 중복되도 OK
  • 단순 묶음
  • 수정 불가
    • 추가불가 (읽기전용)

집합

  • {}
  • 중복 없음(불가, 제거) = 중복된 값을 제거함
new_Box = ['사과','사과','자몽','사과','배']

# 집합 
set(new_Box)
>>> ['사과','자몽','배']

조건문, 반복문, 제어문, 식

  • 조건식 : 결론 => 참이냐 거짓이냐?
  • 조건문(if) : 조건식을 가지고 상황 따라 움직이는 방식
  • 반목문(for, while) : 반복작업

함수 -> 함수 지향적 프로그램

  • 내장함수, 외장함수, 람다함수, 커스텀함수(사용자정의함수)

클래스 -> 객체 지향적 프로그램

  • 클래스, 클래스상속, 추상클래스,등등...



공부하다보면


파이썬으로 코드를 작성할 때마다 뭐? 이게된다고? 라는 말을 자주 한다.
그만큼 유연한 언어이고 놀라울 정도로 더 유연해지고 있다.


프로그래밍을 해본 사람이라면 세미클론(;)을 안 찍어도 된다는 그 신선함!
세미클론(;)이 없어도 에러가 나지 않는다는 신세계를 맞볼 수 있다.

아무래도 툴이기 때문에 정말 처음 해본 사람이라 논리적으로 코딩을 한다는 것이 어려울 수 있다.
하지만 다른 언어들보다 이해하기 쉽게 컴퓨터 언어에 접근할 수 있다.

그렇기 때문에 아직 파이썬을 경험해 보지 못한 사람들이 있다면 꼭! 배워보라고 말해주고 싶다.


비전공자? 전공자? 그런 말 따위는 파이썬 앞에서는 무력하다고 생각된다.

누구나 할 수 있다. 끈기와 의지만 있다면!



Reference


profile
코린이 삽질 탐방기

0개의 댓글