파이썬판다스 따라하기/2파이썬기초

#파이썬기초1편 - 자료형

모두의 실험실 2023. 5. 21. 23:46
728x90

파이썬에는 가장 기초적인 변수들의 형태를

반드시 알고 가야함

다양한 자료형이 존재함

숫자형, 문자열, 리스트, 딕셔너리, 집합, 불 자료형이 있음

 

숫자형은 대표적으로 int형과 float형이 존재하며

int는 정수형이고 float은 실수형임

정수형과 실수형의 연산의 결과는 실수형으로 표현됨

결과를 실수형의 연산을 했더라도 결과값을 int() 괄호로 

감싸면 결과는 정수형이 됨 마찬가지로 정수형 연산이라도

float()로 감싸면 실수형으로 표현됨

 

참고로 코드 실습을하고 결과를 보여주게 되는데

주로 print() 함수를 사용함

print()함수는 괄호안의 값을 출력해 주는 함수임

a = 1
print(type(a))
print(a)

b = 1.0
print(type(b))
print(b)

c = a + b
print(type(c))
print(c)

print('------------')
d = int(c)
print(type(d))
print(d)

e = float(a)
print(type(e))
print(e)

-결과 (드래그로 확인가능)

<class 'int'>
1
<class 'float'>
1.0
<class 'float'>
2.0
------------
<class 'int'>
2
<class 'float'>
1.0

 

 

숫자형 연산은 대표적으로 사칙연산과 나머지구하기

몫구하기 지수연산 등이 있음

 

a = 10
b = 2

c = a + b
d = a - b
e = a * b
f = a / b
g = a % b
h = a // b
i = a ** b

print('더하기 c : ',c)
print('빼기 d : ',d)
print('곱하기 e : ',e)
print('나누기 f : ',f)
print('나머지 g : ',g)
print('몫 h : ',h)
print('지수 i : ',i)

-결과 (드래그로 확인가능)

더하기 c :  12
빼기 d :  8
곱하기 e :  20
나누기 f :  5.0
나머지 g :  0
몫 h :  5
지수 i :  100

 

문자열 자료형은 크게 문자열 합치기와 인덱싱기능이 있음

a = 'I am '
b = str(20)
c = 'years old'
d = a + b + c
print(type(d))
print(d)

print('-------------')
print(a[0])
print(a[0:3])
print(a[:3])
print('-------------')

print(c[-1])
print(c[:-1])
print(c[-3:])

-결과 (드래그로 확인가능)

<class 'str'>
I am 20years old
-------------
I
I a
I a
-------------
d
years ol
old

 

a,b,c 모두 type은 str이며 문자열을 의미함

'+'를 사용하여 문자열 합치기가 가능함

하지만 숫자형과 문자열은 연산을 하면

오류가 발생됨

 

숫자형 20을 문자형 '20'으로 바꾸어서 

연산을 해야함

 

인덱싱은 순서가 0부터 시작하고

a의 문자갯수가 5개이면 마지막 문자는a[4]이며 a[-1]과 동일함a[0:3]는 a[:3]과 동일하며 인덱싱 0부터 2까지 출력하는 의미임

 

c[-3:] 인덱싱 뒤에서 3번째 앞까지 부터 문자열 끝까지 출력하라는 의미임c[-1]은 문자열 맨마지막이며 c[:-1]은 문자열 맨마지막의 앞까지 즉 c[-2]까지출력하라는 의미임

 

리스트는 단일 리스트와 이중삼중 리스트가 있으며

리스트 합치기 인덱싱 갯수구하기 정렬

그리고 이중리스트에서의 정렬도 자주 사용함

 

a = [1,2,3,4,5]
b = [['영희',100],['맹구',10],['영구',5],['철수',85]]
print(type(a),type(b))
c = a + [7]
print(c)
c.append(8)
print(c)
print('--------------')
print(b[-1])
print(b[2][0])

b.sort(key=lambda x:-x[1]) ## b내부 리스느 2번째 (숫자)가 큰순서로 정렬
print(b)
b.sort(key=lambda x:x[1]) ## 작은 순서로 정렬
print(b)
## 재정의 하지 않더라도 자동 정의됨

-결과 (드래그로 확인가능)

<class 'list'> <class 'list'>
[1, 2, 3, 4, 5, 7]
[1, 2, 3, 4, 5, 7, 8]
--------------
['철수', 85]
영구
[['영희', 100], ['철수', 85], ['맹구', 10], ['영구', 5]]
[['영구', 5], ['맹구', 10], ['철수', 85], ['영희', 100]]

 

문자열을 합칠수 있고 append를 사용하여

리스트 요소를 추가할 수도 있음

 

리스트에서도 인덱싱을 사용할 수 있으며

b[-1]은 b의 맨마지막 요소인 ['철수',85]이며b[2][0]은 세번쩨 요소가 리스트 형태인['영구',5]이고 거기에서 첫번째 요소인'영구'가 b[2][0]임

 

이중리스트에서 내부요소가 리스트 형태인데리스트의 순서를 정하고 그 순서에 해당값을 정렬가능함

 

그래서 x[1]이면 두번째 값들인 숫자형들을정렬하는 것이며 -x[1]이면 숫자형들을크기순서대로 정렬하고x[1]이면 크기가 작은 순서대로 정렬함

 

sort는 리스트를 재정의 없이도 정렬되어

리스트 자료형에 저장됨

 

딕셔너리 자료형도 많이 사용됨

dic = {'korean' : '한국어', 'english' : '영어', 'python' : '이제는필수 언어' }
print(dic)
print(type(dic))
print(dic.keys())
print(list(dic.keys())[0])
print('----------------------')
print(dic.values())
print(dic['korean'])

-결과 (드래그로 확인가능)

{'korean': '한국어', 'english': '영어', 'python': '이제는필수 언어'}
<class 'dict'>
dict_keys(['korean', 'english', 'python'])
korean
----------------------
dict_values(['한국어', '영어', '이제는필수 언어'])
한국어

 

{}괄호 안에 key와 value를 쌍으로 구성하면 됨

key의 값들은 keys()함수를 사용하면 출력되며

key의 값은 list형식으로 변환후 인덱스 활용함

value의 값도 key의 값을 얻는 방식과 동일함

 

딕셔너리의 사용용도는 key에 해당하는 value를 코딩에 활용하기 위함

 

태그

-------------------------------------------------------------

#python, #파이썬, #anaconda, #아나콘다, #기초, #클래스, #class, #import, #selenium, #셀레늄, #자동, #교육, #코딩교육, #coding, #chatgpt, #챗GPT, #로봇,

 

 

 

728x90
반응형