20.08.24 파이썬 1일차

ToastEggsToast·2020년 8월 24일
0

We!

목록 보기
3/33

파이썬에서 가변객체와 불변객체는 무엇이며, 어떠한 자료형이 있는지 공부한다.

파이썬 공부를 시작했다.
어차피 사전 스터디인 부분이라 기왕 하는거 이번 기회에 접해보는 것도 나쁘지 않겠다 생각해서 시작했다.

파이썬이란 무엇인가?

: 1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어이다.
: 인터프리터(interpreter, 문화어: 해석기)는 프로그래밍 언어의 소스 코드를 한 줄씩 해석, 바로 실행해서 결과를 바로 확인할 수 있게 해주는 컴퓨터 프로그램 또는 환경을 말한다. 원시 코드를 기계어로 번역하는 컴파일러와 대비된다. 인터프리터는 다음의 과정 가운데 적어도 한 가지 기능을 가진 프로그램이다. 인터프리터 시스템의 일부인 컴파일러가 만든, 미리 컴파일된 저장 코드의 실행을 호출한다.

파이썬으로 할 수 있는 일

: 시스템 유틸리티 제작
: GUI 프로그래밍
: C/C++ 언어와의 결합
: 웹 프로그래밍
: 수치 연산 프로그래밍
: 데이터베이스 프로그래밍
: 데이터 분석, 사물 인터넷

파이썬으로 할 수 없는 일

: 시스템과 밀접한 프로그래밍 영역
: 모바일 프로그래밍

파이썬에서 주로 사용하는 문법

: if, for, while 등은 자바스크립트와 같지만 함수를 만들 경우가 다름

 def add(a,b):
    return a+b

파이썬의 자료형

1. 숫자형

 a = 4.24E10 => 4.24*(10의 10승)
 a = 0o177 => 8진수. 8진수(Octal)를 만들기 위해서는 0o 또는 0O(숫자 0 + 알파벳 소문자 o 또는 대문자 O)로 시작하면 된다.
 a = 0x8ff => 16진수. Hexadecimal. 0x로 시작.
 
 a=3
 b=4
 a**b = 3*3*3*3 = 81 => ** 제곱
 7//4 = 1 => // 나눗셈 후 몫을 반환

2. 문자형

  "A",'A',"""A""",'''a'''
  a = "Hello this is sunnysideup0w0"
  a[:5] => 'Hell0'
  a[a:b] => a의 문자열에서 a번째 있는 것 부터 b번째 전 까지의 것들을 '슬라이싱'함. 
  a<= 슬라이싱열 < b

3. 리스트형

 a=[1,2,3,[b,c,d]]
 a[2] = 3
 a[3][-1] = d

4. 튜플형

 a = (1,2,3(a,b,c))
 b = 1,2,3
 c = (a,)
 값이 하나 일 경우 뒤에 , 를 꼭 적어준다.
 리스트와 튜플의 가장 큰 차이점은 튜플은 값을 수정하거나 할 수 없다.
 리스트와 마찬가지로 슬라이싱 등을 할 수 있다.

5. 딕셔너리형

 dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
 key:value 페어로 이루어져있다.
 a = { 'a': [1,2,3]} 처럼 리스트도 넣을 수 있음.
 Key는 고유한 값이므로 중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시된다
 key값에 리스트는 들어올 수 없지만 듀플은 들어올 수 있음. (리스트는 변경 될 수 있지만 듀플은 변경될 수 없기 때문에.)
append, insert, pop, remove, sort 함수는 수행할 수 없다.

6. 집합형

 파이썬 2.3부터 지원, set 키워드를 통해 설정할 수 있다.
 s1 = set([1,2,3])
 print(s1) => {1, 2, 3}
 s2 = set("Hello")
 s2 => {'e', 'H', 'l', 'o'} (자동으로 sort 시키는 것 같다)
 
 특징: 중복을 허용하지 않는다. 순서가 없다(Unordered).
 순서가 없기 때문에 indexing으로 값을 얻을 수 없다! => 값을 얻기 위해서는 
 list화 하거나 튜플로 변환한 후 사용해야한다.
 
 교집합 : &, 합집합: |, 차집합: -

7. 불형 (bool)

 true, false의 값만을 가질 수 있다. 
 bool()

파이썬의 변수

변수란?
파이썬에서 사용하는 변수는 객체를 가리키는 것이라고도 말할 수 있음.

변수 복사하기
1. [:] 사용하기

 a = [1, 2, 3]
 b = a[:]
 a => [1, 2, 3]
 b => [1, 2, 3]
  1. copy모듈 이용하기
 **from** copy **import** copy
 b = copy(a)

: b is a 라고 하면 false값 반환. (객체 주소값이 다름)

변수 만드는 방법

a, b = ('python', 'life') => (괄호를 생략하고) 튜플로 선언하기
(a, b) = 'python', 'life' => 튜플로 선언하기
[a,b] = ['python', 'life'] => 리스트로 선언하기
a = b = 'python' => a 와 b 에 같은 값 선언해주기

가변객체? 불변객체?

가변객체: list 등이 있다.
불변객체: tuple 등이 있다.

profile
개발하는 반숙계란 / 하고싶은 공부를 합니다. 목적은 흥미입니다.

0개의 댓글