혼공학습단/혼자 공부하는 파이썬

[혼공학습단 파이썬] #1. 용어, Data Types(int, dict, boolean, str, list, tuple)

✨️데이터분석가✨️ 2023. 8. 20. 08:00
728x90
728x90

■ 파이썬 용어

파이썬 용어

- 표현식(expression): 어떤 값을 만들어내는 코드를 의미

- 식별자(identifier): 사용자가 정의한 단어, 키워드 단어X, 숫자 시작X, 공백X

키워드(keyword): 창시자가 정의한 단어

문장(statement): 실행할 수 있는 코드를 의미

주석(comment): 프로그램에 영향을 주지 않는 코드, #으로 시작, 초록색 글씨

  예) # 문자열을 출력합니다.

 

- print( ) : 메시지를 출력하는 함수

 

 

 


■ 파이썬 Data Types

파이썬 Data Types
파이썬 Data Types

 

1. 숫자형 (Numeric)

 

(1) 정수 (Integer, Int)

- 소수점이 없는 숫자 (1, 10, 40297)

> a = 10

 

 

(2) 실수 (Floating Piont, Float)

- 소수점이 있는 숫자 (3.5, 10.0, 34.2835) 

> a = 3.14
> b = 1.34e-3     # (= 0.00314)

 

 

(3) 숫자 연산자

[숫자 연산자]
사칙 연산자 정수 나누기 연산자(몫) 나머지 연산자 제곱 연산자
+, -, *, / // % **
> 5 + 7
> 3 // 2
> 3 % 2
> 3 ** 2
12 1 1 9

 

 

(4) 복합 대입 연산자

- 기존 연산자와 조합해서 사용할 수 있는 연산자

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

> a = 100
> a += 1     # (→ a = a + 1 을 의미)
> a += 2
> a = 103

 

 

 


2. 딕셔너리 (Dictionary)

를 기반으로 을 저장

- dict = {             
    "키1": 값,
    "키2": 값
    }

dict = {
    "과일""망고",
    100: [123],
    TrueFalse
}

 

[딕셔너리]
추출 요소 추가 요소 삭제
딕셔너리명[] 딕셔너리명[=  del 딕셔너리명[]
> dict["과일"]
> dict["국가"= "미국"
> del dict[100]
망고 { ..., '국가' : '미국'} {'과일': '망고', True: False}

 

[딕셔너리 값 확인]
 in 딕셔너리명 딕셔너리명.get()
> "과일" in dict
dict.get("과일")
dict
.get("동물")
Ture 망고
None

 

 

 


3. 불, 불린 (Boolean)

- 참(True)과 거짓(False)을 나타내는 값

[비교 연산자]
== 같다
!= 다르다
> 크다
>= 크거나 같다
< 작다
<= 작거나 같다
10 == 100
10 != 100
10 > 100
10 >= 100
10 < 100
10 <= 100
Flase
True
Flase
Flase
True
True

 

[논리 연산자]
not 아니다 and 그리고 or 또는
not True
True and False
True or False
False False
True

 

 

 


4. 연속형 (Sequential Type)

4-1. 문자열 (String)

 

(1) 문자열 만들기

[따옴표 출력 방법]
큰/작은 따옴표 활용 역슬래쉬 + 따옴표
'  "..."  ' \"
> print(' "안녕"이라고 말했다. ')
> print(' \"안녕\"이라고 말했다. ')
"안녕"이라고 말했다. "안녕"이라고 말했다.

 

[이스케이프 문자 사용]
줄바꿈 tab키 \ 출력
\n \t \\
> print("안녕\n안녕")
> print("안녕\t안녕")
> print("안녕\\안녕")
안녕
안녕
안녕    안녕 안녕\안녕

 

[문자열 여러 줄 작성]
줄바꿈 출력 줄바꿈 없이 출력
""" """\
> print("""          
... 안녕하세요
... 안녕하세요
... """)           
> print("""\          
... 안녕하세요   
... 안녕하세요\
... """)              
                                            → 줄바꿈
안녕하세요
안녕하세요
                                            → 줄바꿈
안녕하세요
안녕하세요


 

[문자열 연산자]
문자 연결 문자 반복 문자열 길이
"문자" + "문자" "문자" * 숫자 len( )
> "Hello" + "World"
> "Hello" * 3
> len("Hello World")
HelloWorld HelloHelloHello 11 (공백 포함)

* "문자" + 숫자 → 오류 발생

 

 

(2) 문자열 함수

[대소문자 변환]
대문자로 변환 소문자로 변환
upper( ) lower( )
> a = "Hello"
> a.upper()  
> a = "Hello"
a.lower()    
HELLO hello

 

[공백 제거] (문자 사이 공백은 지워지지 않음)
문자열 양옆 공백 제거 문자열 왼쪽 공백 제거 문자열 오른쪽 공백 제거
strip( ) lstrip( ) rstrip( )
>"  안녕 하세요  ".strip()
>"  안녕 하세요  ".lstrip()
>"  안녕 하세요  ".rstrip()
안녕 하세요 안녕 하세요     안녕 하세요

 

[문자열 찾기/확인]
왼쪽으로부터의 위치 오른쪽으로부터의 위치 특정 문자열 확인
find( ) rfind( ) 특정 문자 in 연산자
>"안녕안녕해".find("안녕")
>"안녕안녕해".rfind("안녕")
>"안녕" in "안녕하세요"
0 2 True

 

[문자열 추가 기능]
문자 나누기 문자 삽입 문자 변환
split( ) join( ) replace( )
> "가.나.다".split(".")
> ".".join("가나다")
> "가나다".replace("다", "하")
['가', '나', '다'] '가.나.다' '가나하'

 

 

(3) 인덱싱 [ ]

- 문자열의 문자 하나를 선택하는 연산자 (0부터 시작!)

[인덱싱] - 문자열 선택 연산자
> print("가나다"[0])
> print("가나다"[1])
> print("가나다"[2])
> print("가나다"[-3])
> print("가나다"[-2])
> print("가나다"[-1])

 

 

(4) 슬라이싱 [:]

- 문자열의 특정 범위를 선택하는 연산자

[슬라이싱] - 문자열 범위 선택 연산자
> print("가나다"[0:2])
> print("가나다"[:2])
가나
(0 <= 문자 <2, 마지막 숫자 포함하지 않음)
가나
(앞의 값 생략시에는 첫 번째 글자부터 지정)

 

 

(5) 포맷 .format( )

- 문자열을 포맷에 맞춰 출력

[포맷]
> print("{}{}개 있다.".format("사과", 4))
> a = 사과                           
> b = 4                               
> print(f"{a}{b}개 있다.")
사과는 4개 있다. 사과는 4개 있다.

 

 

(6) 사용자 입력 .input( )

- 명령 프롬포트에서 사용자로부터 데이터를 입력받는 함수, 문자열(str) 자료형임

- 숫자로 입력받을 경우, int( ) 또는 float( )을 활용

[사용자 입력]
> input("단어 입력: ")
> a = input("숫자1 입력: ")
> b = input("숫자2 입력: ")
> print(a + b)                     
> a = int(input("숫자1 입력: "))
> b = int(input("숫자2 입력: "))
> print(a + b)                            
단어 입력: 안녕 숫자1 입력: 100
숫자2 입력: 200
            100200              → 문자
숫자1 입력: 100
숫자2 입력: 200
            300                   → 숫자

 

 

 

4-2. 리스트 (List)

 

(1) 리스트 기본

- 대괄호 내부에 여러 종류의 자료(숫자, 문자열, 불 등)를 넣은 목록

[리스트]
> list = ['리스트'973True, [35]]
추출 요소 내부 추출 요소 변경
> list[2:4]
> list[0][2]
> list[0] = '변경'
[True, [3, 5]] ['변경', 973, True, [3, 5]]

 

[리스트 연산]
연결 반복
[리스트] + [리스트] [리스트] * [리스트]
> [12+ [34]
> [12* 3
[1, 2, 3, 4] [1, 2, 1, 2, 1, 2]

 

 

(2) 리스트 함수

[리스트 요소추가]
맨 뒤에 추가 특정 위치에 추가 맨 뒤에 여러 개 추가
리스트명.append(요소) 리스트명.insert(위치요소) 리스트명.extend([요소요소...])
> list = [123
> list.append(4)
> list = [123]   
> list.insert(2'a')
> list = [123]            
> list.extend([89'a'])
[1, 2, 3, 4] [1, 2, 'a', 3] [1, 2, 3, 8, 9, 'a']

 

[리스트 요소제거]
특정 위치 제거 특정 위치 제거 특정 값 한 개 제거 모든 요소 제거
del 리스트명[인덱스] 리스트명.pop(인덱스) 리스트명.remove() 리스트명.clear()
> list = [12312]
> del list[3:]              
> list = [12312]
list.pop(3)              
> list = [12312]
> list.remove(1)        
> list = [12312]
> list.clear()               
[1, 2, 3] [1, 2, 3, 2] [2, 3, 1, 2] []

 

[리스트 정렬] [리스트 값 확인]
오름차순 정렬 내림차순 정렬 특정 값 확인
리스트명.sort( ) 리스트명.sort(reverse = True)  in 리스트명
> list = [34235932]
> list.sort()                     
> list = [34235932]   
> list.sort(reverse = True)
> 93 in [34235932]    
> 5 not in [34235932]
[2, 34, 93, 235] [235, 93, 34, 2] True
Ture

 

 

 

4-3. 튜플 (Tuple)

 

(1) 튜플 기본

- 리스트와 비슷한 자료형으로 보통 함수와 함께 사용

- 선언한 값을 변경할 수 없고, 한 번에 여러 개를 처리(할당, 리턴 등) 가능

괄호 없는 튜플 스왑 (값 교환하는 튜플) 요소가 하나인 튜플
> a, b = 10, 20
> print(a, b)     
> a, b = b, a
> print(a, b
> one = (10, )
> print(one)   
10 20 20 10 (10, )

 

 

(2) 튜플 함수

[튜플 관련 함수]
몫과 나머지 반복문 순서값 출력
divmod( ) enumerate( )
> x, y = 97, 40
divmod(x, y)
for i, value in enumerate([1, 2, 3]):           
> print("{}번째는 {}입니다.".format(i, value))
(2, 17) 0번째는 1입니다.
1번째는 2입니다.
2번째는 3입니다. 

 

 

 

 

728x90
728x90