■ 파이썬 용어
- 표현식(expression): 어떤 값을 만들어내는 코드를 의미
- 식별자(identifier): 사용자가 정의한 단어, 키워드 단어X, 숫자 시작X, 공백X
- 키워드(keyword): 창시자가 정의한 단어
- 문장(statement): 실행할 수 있는 코드를 의미
- 주석(comment): 프로그램에 영향을 주지 않는 코드, #으로 시작, 초록색 글씨
예) # 문자열을 출력합니다.
- print( ) : 메시지를 출력하는 함수
■ 파이썬 Data Types
1. 숫자형 (Numeric)
(1) 정수 (Integer, Int)
- 소수점이 없는 숫자 (1, 10, 40297)
(2) 실수 (Floating Piont, Float)
- 소수점이 있는 숫자 (3.5, 10.0, 34.2835)
(3) 숫자 연산자
[숫자 연산자] | |||
사칙 연산자 | 정수 나누기 연산자(몫) | 나머지 연산자 | 제곱 연산자 |
+, -, *, / | // | % | ** |
> 5 + 7
|
> 3 // 2
|
> 3 % 2
|
> 3 ** 2
|
12 | 1 | 1 | 9 |
(4) 복합 대입 연산자
- 기존 연산자와 조합해서 사용할 수 있는 연산자
- +=, -=, *=, /=, %=, **=
2. 딕셔너리 (Dictionary)
- 키를 기반으로 값을 저장
- dict = {
"키1": 값,
"키2": 값
}
[딕셔너리] | ||
추출 | 요소 추가 | 요소 삭제 |
딕셔너리명[키] | 딕셔너리명[키] = 값 | 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 = ['리스트', 973, True, [3, 5]] | ||
추출 | 요소 내부 추출 | 요소 변경 |
> list[2:4]
|
> list[0][2]
|
> list[0] = '변경'
|
[True, [3, 5]] | 트 | ['변경', 973, True, [3, 5]] |
[리스트 연산] | |
연결 | 반복 |
[리스트] + [리스트] | [리스트] * [리스트] |
> [1, 2] + [3, 4]
|
> [1, 2] * 3
|
[1, 2, 3, 4] | [1, 2, 1, 2, 1, 2] |
(2) 리스트 함수
[리스트 요소추가] | ||
맨 뒤에 추가 | 특정 위치에 추가 | 맨 뒤에 여러 개 추가 |
리스트명.append(요소) | 리스트명.insert(위치, 요소) | 리스트명.extend([요소, 요소, ...]) |
> list = [1, 2, 3]
> list.append(4)
|
> list = [1, 2, 3]
> list.insert(2, 'a')
|
> list = [1, 2, 3]
> list.extend([8, 9, 'a'])
|
[1, 2, 3, 4] | [1, 2, 'a', 3] | [1, 2, 3, 8, 9, 'a'] |
[리스트 요소제거] | |||
특정 위치 제거 | 특정 위치 제거 | 특정 값 한 개 제거 | 모든 요소 제거 |
del 리스트명[인덱스] | 리스트명.pop(인덱스) | 리스트명.remove(값) | 리스트명.clear() |
> list = [1, 2, 3, 1, 2]
> del list[3:]
|
> list = [1, 2, 3, 1, 2]
> list.pop(3)
|
> list = [1, 2, 3, 1, 2]
> list.remove(1)
|
> list = [1, 2, 3, 1, 2]
> list.clear()
|
[1, 2, 3] | [1, 2, 3, 2] | [2, 3, 1, 2] | [] |
[리스트 정렬] | [리스트 값 확인] | |
오름차순 정렬 | 내림차순 정렬 | 특정 값 확인 |
리스트명.sort( ) | 리스트명.sort(reverse = True) | 값 in 리스트명 |
> list = [34, 235, 93, 2]
> list.sort()
|
> list = [34, 235, 93, 2]
> list.sort(reverse = True)
|
> 93 in [34, 235, 93, 2]
> 5 not in [34, 235, 93, 2]
|
[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입니다. |
'혼공학습단 > 혼자 공부하는 파이썬' 카테고리의 다른 글
[혼공학습단 파이썬] 10기 마무리하며♡ (1) | 2023.08.27 |
---|---|
[혼공학습단 파이썬] 10기, 6주차 미션 (0) | 2023.08.18 |
[혼공학습단 파이썬] #8-2. 클래스 추가 기능(프라이빗 변수, 게터와 세터, 프로퍼티, 상속) (0) | 2023.08.17 |
[혼공학습단 파이썬] #8-1. 클래스(인스턴스, 생성자, 메소드) (0) | 2023.08.16 |
[혼공학습단 파이썬] #7-2. 외부 모듈(BeautifulSoup, Flask), 모듈 만들기, 디버깅 (0) | 2023.08.15 |