Python study 1 - 식별자, 자료형, 문자열
Python 식별자, 자료형, 문자열에 대해 학습합니다.
Python에서 사용되는 개념의 일부 혹은 전체를 정리하여 반복학습에 사용합니다.
- 식별자, 자료형, 문자열에 대해 학습합니다.
식별자(identifier)
식별자 : 기호를 빌려서 값을 표현
ex) π = 3.141592
리터럴 : 값을 직접 표현하는 방식
ex) 10, 20, ‘a’, …
ex2) 원의 둘레(2 π r)
- 2 : 리터럴
- π : 식별자
- r : 식별자
ex3) 운동 법칙 f = ma
- f : 식별자
- m : 식별자
- a : 식별자
프로그래밍상 식별자 규칙
- 파이썬이 강제하는 규칙 (사용할 경우 오류가 발생됨)
키워드
를 사용하면 안 된다. ex) if = 3.14- 특수문자는
_
만 허용한다. ex) $ = 3.14 숫자
로 시작하면 안 된다. ex) 10a = 3.14공백
을 포함할 수 없다. ex) a b c = 3.14
- 개발자들끼리 약속한 규칙
- 최대한 알파벳을 사용할 것
- 의미 없는 단어보다는 의미 있는 단어를 사용할 것
- 스네이크케이스(
_
)와 캐멀케이스(각 단어의 앞글자를 대문자로)를 사용할 것- ex) send_to_user, SendToUser
식별자의 구분
식별자 | 괄호여부 | 구분 |
---|---|---|
캐멀 케이스 (대문자로 시작) | 클래스 | |
스네이크 케이스 (소문자로 시작) | 뒤에 괄호가 있다 | 함수 |
뒤에 괄호가 없다 | 변수 |
ex) 식별자 구분 예시
- print() → 함수
- list() → 함수
- soup.select() → 함수
- math.pi → 변수
- math.e → 변수
- class Animal: → 클래스
- BeautifulSoup() → 클래스
자료형
- 자료형 확인 :
type()
함수 사용- type(“문자열”) is str → 문자열인지 True/False 반환
- type([]) is list → 리스트인지 True/False 반환
- type({}) is dict → 딕셔너리인지 True/False 반환
- 기본자료형
- 문자열(str) String
“안녕하세요”
“Hello World” - 숫자
- 정수(int) Interger
10 20 - 실수(float) Floating Point = 부동소수점 354.63
- 정수(int) Interger
- 불(bool) Boolean True 참 False 거짓
- 문자열(str) String
- 복합자료형 : 기본자료형이 복합적으로 섞여 있는 형태
문자열
문자열 만들기
“안녕하세요” or ‘안녕하세요’- 문자열 속에 문자열을 만들때
- 다른 따옴표 사용하기 ‘ “안녕하세요” ‘ or “ ‘안녕하세요’ “
- 이스케이프 문자
\
사용하기
“\
“안녕하세요\
” “- 이스케이프 문자 종류
\n
: 줄바꿈\t
: 탭효과\\
: 역슬래시 출력
- 이스케이프 문자 종류
- 여러줄 문자열
""" """
: 이스케이프 문자 없이 줄바꿈, 탭효과 등 사용 가능1 2 3 4
print("""이렇게 만들면 줄바꿈 이스케이프를 사용하지 않아도 자동으로 줄바꿈이 되고 탭도 됩니다.""")
- 여러줄 문자열에서 역슬래시
\
를 줄 마지막에 입력하면 줄바꿈 해당줄은 줄바꿈이 되지 않습니다.1 2 3 4 5 6
print("""\ 이렇게 만들면 줄바꿈 이스케이프를 사용하지 않아도 자동으로 줄바꿈이 되고 탭도 됩니다.\ """)
- 여러줄 문자열에서 역슬래시
문자열 연산자
- 문자열 연결 연산자 문자열 + 문자열 “abc” + “abc” → “abcabc”
- 문자열 반복 연산자 숫자 * 문자열 3 * “abc” → “abcabcabc”
문자열 * 숫자 “abc” * 3 → “abcabcabc” 문자 선택 연산자 : 문자열에서 특정한 위치의 문자를 0번째부터 시작하여 선택해 추출 ex) “안녕하세요”
[0]번째 : 안
[1]번째 : 녕
[2]번째 : 하
[3]번째 : 세
[4]번째 : 요[-1]번째 : 요
[-2]번째 : 세
[-3]번째 : 하
[-4]번째 : 녕
[-5]번째 : 안- 인덱싱 : 문자열[숫자]
“abcde”[0] → “a”
“abcde”[-2] → “d” - 슬라이싱 : 문자열[숫자A:숫자B] :
숫자A번째
부터숫자B-1번째
까지 선택
“안녕하세요”[0:3] → “안녕하”
[0]~[3-1 = 2]까지 선택
“안녕하세요”[:3] :처음
부터3-1 = 2번째
까지 선택 → “안녕하”
“안녕하세요”[3:] :3번째
부터마지막
까지 선택 → “세요” - 중간 점검
- print(“안녕하세요[0]”)
- print(“안녕하세요[2]”)
- print(“안녕하세요[4]”)
print(“안녕하세요[-1]”)
- print(“안녕하세요[0:1]”)
- print(“안녕하세요[0:2]”)
print(“안녕하세요[2:3]”)
- print(“안녕하세요[2:]”)
- print(“안녕하세요[:]”)
정답
1. "안" 2. "하" 3. "요" 4. "요" 5. "안" 6. "안녕" 7. "하" 8. "하세요" 9. "안녕하세요" - 슬라이싱 : 문자열[숫자A:숫자B:스탭] :
숫자A번째
부터숫자B-1번째
까지스탭
단위로 선택 “0123456789”[::4] =처음
부터마지막
까지4칸씩
선택 → 048
“안녕하세요”[1:4:2] =1번째
부터4-1 = 3번째
까지2칸씩
선택 → “녕세”
“0123456789”[::-1] =처음
부터마지막
까지뒤집어서
출력 → “9876543210”스탭
에서-1
을 사용할경우 뒤집어서 출력합니다. 자주사용하는 표현이기에 기억해주세요.
- 인덱싱 : 문자열[숫자]
- 용어 정리
- 인덱스 : 위치를 나타내는 숫자, 인덱스는
0번째
부터 시작한다. - 문자열[인덱스] :
인덱싱
이라고 표현함 - 문자열[인덱스:인덱스] 와 문자열[인덱스:인덱스:스탭] :
슬라이싱
이라고 표현함
- 인덱스 : 위치를 나타내는 숫자, 인덱스는
IndexError 예외
인덱싱
에서 print(“안녕하세요”[100]) 코드를 실행할 경우, 인덱스 범위가 넘어가IndexError
가 발생합니다.슬라이싱
에서 print(“안녕하세요”[1:100]) 코드를 실행할 경우,
인덱스 범위가 넘어가 오류가 발생해야하지만"녕하세요"
를 출력합니다.
이는 Python에서는 슬라이싱을 사용할 때 IndexError가 발생하지 않게 설계되었기 때문입니다.
비록 이런 시스템 오류방지 기능이 있더라도, 상기와같은 정상적이지 않은 코드는 지양하도록 합시다.
문자열의 길이
- 문자열의 길이는
len
함수를 사용하여 확인합니다.1
len("안녕하세요")
This post is licensed under CC BY 4.0 by the author.