Python 기초1

UICHEOL_HWANG·2023년 8월 6일

파이썬기초

목록 보기
1/12
  • 초기 세팅

머신러닝 딥러닝을 위해 구글에서 무료로 배포해주는 GPU를 사용하는 것이 컴퓨터에 좋다.


01. 🍟변수란?

자료를 넣는 상자

어떤 자료를 담느냐에 따라 상자의 모양 / 성격(자료형)이 달라짐

a = 1 
b = 3.14
c = "ㄱ" # str 문자형은 반드시 따옴표를 넣어야한다 

print(type(a))
print(type(b))
print(type(c))

문자의 특성

문자 1개 = 문자

문자 2개 이상 = 문자열

문자열은 순서가 있고 번호를 불러 그 번호에 해당하는 문자를 꺼내올 수 있다.

Python에서 문자열의 길이(문자열에 포함된 문자의 개수)는 내장 함수 len()을 이용하여 구할 수 있다.

예를 들어, 아래와 같은 문자열의 길이를 구할 수 있다.


str = "Hello World"
print(len(str))  # 11 출력

또한, 문자열 메서드 count()를 이용하여 특정 문자나 문자열이 문자열 내에 몇 개 존재하는지 세어볼 수도 있다.

str = "Hello World"
print(str.count('l'))   # 3 출력
print(str.count('lo'))  # 1 출력

변수의 특징

변수에는 1개의 자료만이 들어갈 수 있다.

변수에 다른 자료를 넣으면 이전 자료는 사라지게 된다.

변수 삭제하기

del # 변수를 삭제시키는 명령어

키보드 값을 입력 받아 변수에 저장하기

num = int(input('갑 입력>>'))
print(num)

형 변환

  • 데이터 타입을 변환 시켜준다
  • int - 정수 : int(변수명)
  • float 실수 : float(변수명)
  • str 문자/문자열 : str(변수명)

문자와 문자열

  • 문자형 변수에는 단어 뿐만 아니라 문장도 들어갑니다

리스트형 변수 - 데이터 분석에서 가장 많이 사용하는 자료형 1

  • 모든 데이터 타입(정수,실수,문자열,리스트,딕셔너리)의 자료를 넣을 수 있다.
  • 리스트 자료형은 순서기 있는 자료형이다
  • 순서가 있는 자료형은 index(번호)로 자료를 꺼낼 수 있다.
  • 리스트 자료형식은 [자료1,자료2,자료3] 형식을 만든다

슬라이싱 : 리스트에서 범위를 지정해 자료를 여러개 가져오는 법

  • 변수명[시작번호:끝번호 바로 앞까지 범위]
  • 변수명[시작번호:끝번호 바로 앞까지:범위간격]

튜플

  • 튜플을 리스트와 거의 동일
  • 차이점은 리스트 대괄호 [] 튜플은 () 괄호로 포장
  • 리스트는 자료의 변경이 가능하나 튜플은 변경이 불가능하다
  • 리스트보다 속도가 빠르기 때문에 쓰인다

딕셔너리 : JSON이라고도 함

데이터분석에서 가장 많이 사용되는 자료형2

  • key : value 형태의 자료형으로 나중에 API를 이용해서 자료를 수집하면 대부분 JSON 형태로 받게된다.
  • 변수명 = {key:value, ....}
  • Value = 모든 자료형이 올 수 있다.

🌭연산자의 종류와 활용

1) 연산자의 종류

1-1) 더하기

1-2) 빼기

1-3) 곱하기

1-4) 나누기

1-5) 나머지

*) 나누기를 하면 나머지가 타입이 실수로 변한다

할당 연산자

  • =,+=,-=,*=,/=,%=

괄호 사용법

연산자 우선순위 : () 안쪽이 연산에서 우선 순위를 갖는다

할당 연산자

  • =,+=,-=,*=,/=,%=

비교연산자 ==,!= , >,<,>=,<=

  • 항상 왼쪽을 기준으로 비교

!= 다르면 True, 같으면 False

왼쪽을 기준으로 왼쪽 값이 오른쪽보다 큰것인가?

식별 연산자 : is,is not - 객체(object)가 같은지 비교

논리 연산자

  • and, or , not not
  • and는 비교 하는 두 값 모두가 참이어야 참이 된다 .

1. 산술 연산자(arithmetic operator)

기본적인 산술 연산을 위해 제공되는 연산자이다.

+왼쪽 항에 오른쪽 항을 더한다
-왼쪽 항에 오른쪽 항을 뺀다
*왼쪽 항에 오른쪽 항을 곱한다
/왼쪽 항을 오른쪽 항으로 나눈다
%왼쪽 항을 오른쪽 항으로 나눈 나머지
**왼쪽 항에 오른쪽 항만큼 제곱한다
//왼쪽 항을 오른쪽 항으로 나눈 몫

2. 대입 연산자(assignment operators)

=왼쪽 항에 오른쪽 항을 대입한다
+=왼쪽 항에 오른쪽 항의 값을 더하고 왼쪽 항에 대입한다
-=왼쪽 항에 오른쪽 항의 값을 빼고 왼쪽 항에 대입한다
*=왼쪽 항에 오른쪽 항의 값을 곱하고 왼쪽 항에 대입한다
/=왼쪽 항을 오른쪽 항의 값으로 나누고 왼쪽 항에 대입한다
%=왼쪽 항을 오른쪽 항의 값으로 나눈 나머지를 왼쪽 항에 대입한다
**=왼쪽 항에 오른쪽 항의 값만큼 제곱하고 왼쪽 항에 대입한다
//=왼쪽항을 오른쪽 항의 값으로 나눈 몫을 왼쪽 항에 대입한다

3. 비교 연산자(comparison operator)

값의 크기를 비교하는 연산자이다. C++의 경우 값을 비교하여 참일 경우 1을 거짓일 경우 0을 반환했지만 파이썬은 참일 경우 True를 거짓일 경우 False의 bool형 값을 그대로 반환한다.

==왼쪽항과 오른쪽 항의 값이 같을 경우 참
!=왼쪽항과 오른쪽 항의 값이 다를 경우 참
>왼쪽항이 오른쪽 항보다 큰 경우 참
<왼쪽항이 오른쪽 항보다 작은 경우 참
>=왼쪽항이 오른쪽 항보다 크거나 같을 경우 참
<=왼쪽항이 오른쪽 항보다 작거나 같을 경우 참

4. 논리 연산자(logical operator)

주어진 논리 식의 참(True) 거짓(False)을 판단한다.

and두 항을 비교하여 둘다 참일 경우 참을 반환 한다
or두 항을 비교하여 둘중 하나라도 참인 경우 참을 반환 한다.
not논리 결과를 반전시킨다.
xyx and yx or ynot(x)
TTTTF
TFFTF
FTFTT
FFFFT

5. 비트 연산자(bitwise operator)

비트단위 논리 연산을 진행할 때 사용한다. 만약 a가 30일 경우 0001 1110으로 b가 5일 경우 0000 0101로 바꾸어 비교하는 것이다.

&두항의 비트를 비교 같은 자리의 비트가 모두 1일 경우 1을 반환 (비트AND)
^두항의 같은 자리의 비트가 서로 다를 경우 1을 반환 (비트 XOR)
~비트가 1일 경우 0으로, 0일 경우 1로 반환 (비트 NOT, 1의 보수)
<<지정한 수만큼 비트를 왼쪽으로 이동 (left shift)
>>지정한 수만큼 비트를 오른쪽으로 이동 (right shift)

6. 멤버 연산(membership operator)

멤버 연산자의 경우 list안에 확인하고자 하는 값이 들어가 있는지에 대한 여부를 확인할 때 사용한다.

in왼쪽항이 오른쪽 리스트 안에 들어 있으면 참
not in왼쪽항이 오른쪽 리스트 안에 안들어 있으면 참

※연산자 우선 순위

**지수
~ + -보수, 양수와 음수
* / % //곱하기, 나누기, 나머지, 몫
+ -덧셈과 뺄셈
>> <<좌우 비트 시프트
&비트 'AND'
^
<= < > >=비교 연산자
<> == !=비교 연산자
= %= /= //= -= += *= **=대입 연산자
is is not식별 연산자
in not in맴버 연산자
not or and논리 연산자

🎴문자열

  1. 문자열 사용하기 기본
  • ‘’,”” 인에 문자를 넣는다
  • 작은 따옴표를 표시 하고자 하면 큰 따옴표로 감싸고
  • 큰 따옴표를 표시하고자 하면 작은 따옴표로 감싼다

이스케이프 문자

() 사용하기

  • \n : 줄바꿈 new line
  • \t : 탭
  • \r : 캐리지리턴

문자열 함수

  • 문자열을 조작하는 함수
  • .split().join().strip().replace()
  • split() : 기준 문자를 기준으로 문자열을 분리 리스트로 저장
  • join() : 앞 쪽에 지정한 형식을 포함해서 문자열을 합쳐준다
  • strip() : 문자열 양쪽 끝에 공백이나 특수문자를 제거
    • 단점 : 문자열 내부의 특수문자 및 공백을 제거하지 못함
  • replace() : 문자열에서 원하는 값을 찾아 다른 값으로 변경
  • split으로 쪼개진 요소는 list로 반환시켜준다
    • 그러므로 list 형태이므로 list 형태를 가진 요소에는 사용할 수 없다
  • split으로 쪼개진 부분을 붙여주는 방법
명칭용도
split기준 문자를 기준으로 문자열을 분리 리스트로 저장
join앞 쪽에 지정한 형식을 포함해서 문자열을 합쳐준다
strip문자열 양쪽 끝에 공백이나 특수문자를 제거
replace문자열에서 원하는 값을 찾아 다른 값으로 변경
L4 = ['사과','배','포도','파인애플']

','.join(L4)

‘,’.join() 컴마를 기준으로 → 붙여주겠다 라는 의미

split(list) ↔ join(str)

번갈아가면서 사용하는 것이 중요할 것 같다.

replace(’찾을문자’,’바꿀문자’)


여기서 중요한점

  • split은 특정 단어로 나누어 list형태로 나누어 주고
  • join은 특정 단어로 합쳐 문자열로 반환시켜주니 크롤링 및 학습모델을 만들 때에 이 부분을 응용하는 것이 좋다
  • string 모듈을 사용해서 특수문자 간단하게 삭제하기
    파이썬에서는 import 명령어를 사용해서 외부 모듈을 불러올 수 있다.
    여러 모듈 중 string 모듈을 불러와 punctuation을 사용하면 특수문자를 간단하게 삭제가능
import string
string.punctuation
- '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'


.translate(str.maketrans('','',string.punctuation)).strip()

.translate(str.maketrans('','',string..punctuation))을 이용하여 string 안에 내장되어 있던

특수문자들을 포함 그리고, str.maketrans(intab, outtab)
intab: 치환할 문자열 값
outtab: 치환 후 문자열 값

공백과 특수문자들을 한꺼번에 없애주는 작업을 해주면된다.

profile
개발 취미로 하는 세일즈맨

1개의 댓글

comment-user-thumbnail
2023년 8월 6일

잘 읽었습니다. 좋은 정보 감사드립니다.

답글 달기