반응형
통계분석을 위해서는 Stata, R, python 등등을 많이 사용한다.
그중 python의 Jupyter을 사용하려하며, 이를 위해 파이썬을 기초부터 다져갈 예정이다.
혹시 동일한 목적으로 파이썬을 시작하고자 한다면, 이 글이 도움이 되길 바란다.
🐰 파이썬 기초
1. 숫자, 문자 데이터 출력 - print()
print(3)
print(3+5)
print(3,5,7)
print("안녕하세요 파이썬")
2. Comment 주석 달기 - #
#comment 주석을 달고 싶다면 이렇게
print(3) #우측에도 주석을 달 수 있음
#b=5 데이터 옆에 달게 되면, 임시 비활성 용도로 사용할 수 있음 (단축키 ctrl+/)
3. 변수(variables) 사용
1) 변수 설정 및 출력
#변수설정
name = "Spencer"
age = 7
salary = 10000
print(name, age, salary) # 위에 설정한 값에 대한 출력을 해줌
Spencer 7 10000
2) 변수 변경
#데이터 변경도 가능함
age = age + 1 #한 살을 더 먹었다
name = "Dispencer" #이름을 싸이썬으로 변경했다
salary = 0 #일을 쉬어 월급이 없어졌다
print(name, age, salary)
Dispencer 8 0
3) 변수 삭제하기 - del
#변수 삭제
del salary
#print(salary)이 값은 출력하지 못한다. 앞에서 salary라는 변수를 삭제했기 때문에 출력할 변수가 없다.
🐰 데이터 타입, 타입간의 변환
1. 데이터 타입 확인하기 - type()
#tpye() 함수 사용하기, 데이터 타입을 확인하는 함수
print(type(3)) #int는 정수임을 나타냄
print(type(3.14)) #float는 실수임을 나타냄
print(type('하이')) #str는 문자열임을 나타냄
print(type("멀봐"))
<class 'int'>
<class 'float'>
<class 'str'>
<class 'str'>
2. 숫자 데이터의 타입 - int, float, complex
1) 숫자 데이터의 타입 도출해보기
#각각의 타입을 알아보자
age = 7
score = 15.5
polar_coordinate = 11-2j
print(age, '의 타입은', type(age))
print(score, '의 타입은', type(score))
print(polar_coordinate, '의 타입은', type(polar_coordinate))
7 의 타입은 <class 'int'>
15.5 의 타입은 <class 'float'>
(11-2j) 의 타입은 <class 'complex'>
2) 숫자 데이터를 함수로서 type 도출하기
#함수를 만들어서도 구할 수 있다!
age = int(7)
score = float(88.8)
polar_coordinate = complex(1,-2)
print(type(age),type(score),type(polar_coordinate))
<class 'int'> <class 'float'> <class 'complex'>
3) 함수를 통해 숫자 데이터 변환해보기
#함수를 통한 데이터 변환
age=int(7.0) #int함수의 경우 실수를 입력해도 정수로 도출된다.
score=float(88) #float함수의 경우 정수를 입력해도 실수로 도출된다.
polar_coordinate = complex(age)
print(age, score, polar_coordinate)
7 88.0 (7+0j)
4) 문자열에서 숫자열로 변환하기
#7이 숫자로 인식되는게 아니라 문자로 인식될때, 숫자함수로 바꿔줄 수 있다.
age = int('7') #문자인 7을 숫자형 7로 바꿔준다.
#age = int('7.0) #하지만 7.0과 같이는 소수인 문자열은 int로 바꿔줄 수 없다
score = float('88')
print(score, type(score))
88.0 <class 'float'>
3. 문자 데이터의 타입 - str
1) 문자열데이터의 타입 알아보기
#문자열데이터 타입 - str
name = "Spencer"
lang = "Python"
profile_comment = """안녕하세요, 스펜서입니다.
저는 파이선에 관심잇어요
읽어줘서 고맙
"""
print(type(name), type(lang), type(profile_comment))
<class 'str'> <class 'str'> <class 'str'>
2) 문자열 데이터를 함수로 변환하기
#함수로 변환
birth_year = str(2002)
birth_day = str(1225)
#생년월일로 합치고 싶다
print(birth_year + birth_day)
20021225
3) 문자열에서 특정 부분 추출해내기(index, value) - [a]
#index, value를 통해서 특정 범위 추출하기
greeting_message = "Hello python! Hello icbang!" #총 글자수 27
print(greeting_message[0]) #[]로 n번째 문자열을 추출한다
#컴퓨터는 0부터 첫번재 글자수를 센다 (고로 0~26을 설정할 수 있음)
print(greeting_message[-1]) #음수면 거꾸로 씀
H
!
4) 문자열에서 특정 부분 추출하기(slice) - [a,b]
#slice, slicing, 문자열 자르기 [a,b] a부터 b 전까지 문자열을 가져온다. (띄어쓰기 포함)
print(greeting_message[0:2])
print(greeting_message[:2]) #맨 앞에 안 넣으면 처음부터 출력
He
He
5) n칸씩 띄워서 출력해오기(step) - text [ a:b:c ]
#step을 줄 수도 있다 [start:end:step] step(n)칸씩 띄워서 출력할 것
text = "a1Ab2Bc3Cd4D"
print(text[0:12:3]) #처음부터 12번째 문자열까지 3개의 문자씩 띄워서 가져올 것
print(text[::3])
abcd
abcd
4. 여러개의 데이터를 담은 리스트 타입(list) - [ ]
1) 리스트 타입
#리스트 타입 (여러개의 데이터를 담고 있음)
user = ['Spencer', 7, 2002.2, 10000] #이름 나이 키 연봉
print(user, '의 타입은', type(user))
['Spencer', 7, 2002.2, 10000] 의 타입은 <class 'list'>
2) list type → indexing
#indexing
print(user[0]) #user의 0번째 자리의 값을 가져오기
Spencer
3) list type → slicing
#slicing
print(user[0:2])
print(user[0:-2])
['Spencer', 7]
['Spencer', 7]
4) data update (값 변경 가능)
# update (값 변경도 가능)
user[0] = 'dispencer'
print(user)
user[3] = user[3]+5000 #연봉증가시키기
print(user[3])
['dispencer', 7, 2002.2, 10000]
15000
5) 데이터 삭제하기(del)
#del 명령어, 데이터 삭제하기
del user[3]
print(user)
['dispencer', 7, 2002.2]
6) 글자열을 리스트로 변환하기 str → list
#str -> list로 변환하기
greeting_str = "Hello"
greeting_list = list(greeting_str)
print(greeting_str, greeting_list)
Hello ['H', 'e', 'l', 'l', 'o']
5. 여러개의 데이터를 담았지만 변경되지 않는 특성을 가진 tuple type - ( )
1) 튜플 타입
#tuple type 리스트에서 대괄호[]가 소괄호()로 바뀐거 밖에 없음
#tuple 데이터의 경우 수정이 안되기 때문에 한번 만들어지면 고치면 안 되는 데이터를 설정함.
user = ('Spencer', 7, 202.2, 10000) #여기 데이터값이 소괄호 안에 있음
print(user, '의 타입은', type(user))
('Spencer', 7, 202.2, 10000) 의 타입은 <class 'tuple'>
2) 문자열에서 튜플로 변경하기 - str → tuple
#str -> tuple로 바꿀 수 있음
greeting_str = "Hello"
greeting_tuple = tuple(greeting_str)
print(greeting_str, greeting_tuple)
Hello ('H', 'e', 'l', 'l', 'o')
5. 중복이 없는 데이터 관리 구조 set - { }
1) 셋 타입
# set타입 중복이 없는 데이터 관리 구조
number_list = [ 1,1,1,2,2,2,3,3,3]
number_set = {1,1,1,2,2,2,3,3,3}
print(number_list, number_set)
[1, 1, 1, 2, 2, 2, 3, 3, 3] {1, 2, 3}
2) 리스트, 튜플, 문자열을 셋으로 변경하기
#리스트, 튜블, 문자열을 셋으로 바꿀 수 있음
basket_list = ['사과', '바나나', '사과', '코코넛']
basket_set = set(basket_list)
print(basket_set)
text = "aaabbbbccc"
print(set(text))
{'코코넛', '사과', '바나나'}
{'a', 'b', 'c'}
6. 데이터가 무엇인지 정해두는 dict type - { a:b, c:d, ....}
1) dict type
#dictionary type 설명
#list 함수의 경우 각가의 데이터가 무엇을 설명하는지 알 수가 없음
user_list = ['Spencer', 7, 202.2, 10000]
user_dict = {'name' : 'Spencer', 'age' : 7, 'height' : 202.2, 'salary' : 10000}
print(user_dict, '의 타입은', type(user_dict))
{'name': 'Spencer', 'age': 7, 'height': 202.2, 'salary': 10000} 의 타입은 <class 'dict'>
2) keying - [ ]
#keying
print(user_dict['name'])
print(user_dict['salary'])
Spencer
10000
3) update
#update
user_dict['salary'] += 5000 #5000원 연봉 인상 +
print(user_dict)
{'name': 'Spencer', 'age': 7, 'height': 202.2, 'salary': 15000}
4) del
#del 삭제도 가능
del user_dict['salary']
print(user_dict)
{'name': 'Spencer', 'age': 7, 'height': 202.2}
반응형
'Studying > Python' 카테고리의 다른 글
[Basic Python] 006. Numpy(2) (7) | 2025.08.15 |
---|---|
[Basic Python] 005. Numpy (1) (3) | 2025.08.15 |
[Basic Python] 004. 반복문과 제어 키워드 (5) | 2025.08.14 |
[Basic python] 003. 연산자와 조건문 (3) | 2025.08.14 |
[Basic python] 002. 데이터 입출력과 라이브러리 (4) | 2025.08.14 |