문자열
파이썬에서 문자열(string) 표현은 어떻게 할까?
은따옴표(') 혹은 큰따옴표(")를 활용한다.
my_str = 'Welcome!'
ur_str = "You're welcome."
변수에 데이터를 할당하면 이 데이터들은 컴퓨터의 주기억장치인 메모리(RAM)에 저장됩니다.
이스케이프 문자
이스케이프문자 | 출력 |
\n | 줄바꿈 |
\t | 탭 |
\\ | 역슬래쉬 |
\' | 작은따옴표 |
\'' |
큰따옴표 |
원시 문자열(raw string)
문자열 맨앞부분에 r를 사용하면 이스케이프문자 표현없이 모든문자를 표현할수 있다.
print('Please don\'t touch it') # Please don't touch it
print(r'Please don\'t touch it') # Please don\'t touch it
startswith, endswith
startswith 특정 문자로 시작하는 문자열 찾기 (데이터베이스에 저장된 )
endswith 특정 문자로 끝나는 문자열 찾기 (특정확장자명 찾을때)
공백 문자 처리 : trimming
- 스페이스(space) : 한 칸 띄어쓰기
- 탭(tab) \t : 네 칸 띄어쓰기. 경우에 따라 두 칸 띄어쓰기로 표기되기도 합니다.
- 줄 바꿈(new line) ,라인 피드 (line feed) \n : 줄 바꿈을 엄밀히 말하면 라인 피드라고 합니다.
- 개행 복귀 (carriage return) \r : 커서를 맨 앞으로 이동시키는 것, 즉 커서를 원위치로 복귀(return)한다는 뜻입니다.
공백 문자 제거하기 strip()
#txt = " 공백 문자를 제거해 보아요. "
txt = " Strip white spaces. "
print('[{}]'.format(txt))
print('--------------------------')
#- 양쪽 공백 제거 : strip()
print('[{}]'.format(txt.strip()))
print('--------------------------')
#- 왼쪽 공백 제거 : lstrip()
print('[{}]'.format(txt.lstrip()))
print('--------------------------')
#- 오른쪽 공백 제거 : rstrip()
print('[{}]'.format(txt.rstrip()))
[Output]
[ Strip white spaces. ]
--------------------------
[Strip white spaces.]
--------------------------
[Strip white spaces. ]
--------------------------
[ Strip white spaces.]
대소문자
- upper() : 모든 문자를 대문자로 변경
- lower() : 모든 문자를 소문자로 변경
- capitalize() : 첫 글자만 대문자로 변경
#- 모든 문자를 대문자로 변환 : upper()
txt = "I fell into AIFFEL"
txt.upper()
#- 모든 문자를 소문자로 변환 : lower()
txt.lower()
#- 첫 글자만 대문자로 변환 : capitalize()
txt.capitalize()
[OUtput]
'I FELL INTO AIFFEL'
'i fell into aiffel'
'I fell into aiffel'
isX
- isupper() : 문자열이 모두 대문자로만 되어 있으면 True, 그렇지 않으면 False를 반환
- islower() : 문자열이 모두 소문자로만 되어 있으면 True, 그렇지 않으면 False를 반환
- istitle(): 문자열의 첫 글자만 대문자로 되어 있으면 True, 그렇지 않으면 False를 반환
- isalpha(): 문자열이 모두 알파벳 문자로만 되어 있으면 True, 그렇지 않으면 False를 반환
- isalnum(): 문자열이 모두 알파벳 문자와 숫자로만 되어 있으면 True, 그렇지 않으면 False를 반환
- isdecimal(): 문자열이 모두 숫자로만 되어 있으면 True, 그렇지 않으면 False를 반환
print("aiffel".isupper())
print("aiffel".islower())
print("PYTHON".istitle())
print("python101".isalpha())
print("python101".isalnum())
print("101".isdecimal())
[Output]
False
True
False
False
True
True
join()
join()은 인자로 tuple, list, string 등 반복 가능한(iterable) 객체를 받는 메소드입니다.
join()은 각각의 원소를 모아 하나의 문자열로 합쳐 주는데요.
#- join()
stages = ['fundamentals', 'exploration', 'goingdeeper']
",".join(stages)
[Output]
'fundamentals,exploration,goingdeeper'
split()
split()은 반대로 하나의 문자열을 구분자를 기준으로 나누어 줍니다. 명시적으로 구분자를 지정하지 않으면 쉼표 (,)를 기준으로 나누어 줍니다.
a=1
print(a is 1)
#- split()
'fundamentals,exploration,goingdeeper'.split(',')
[Output]
True
['fundamentals', 'exploration', 'goingdeeper']
replace()
- replace() : replace(s1, s2) 형태로 문자열 내 문자열 s1을 s2로 바꿉니다.
sent = 'I can do it!'
sent.replace('I', 'You')
[Output]
'You can do it!'
가변객체와 불변객체(mutable, immutable)
id 함수는 아규먼트로 제공되는 객체를 위한 고유한 상수를 리턴
리턴값은 주소값은 아니지만 객체를 가리키는 유일한 상수
is 함수 좌항과 우항의 객체가 같은지 판단(값이 아니다.)
mutable 객체
객체를 생성한 후, 객체의 값을 수정 가능, 변수는 값이 수정된 같은 객체를 가리키게됨,
예) list, set, dict
immutable 객체
객체를 생성한 후, 객체의 값을 수정 불가능, 변수는 해당 값을 가진 다른 객체를 가리키게됨,
예) int, float, complex, bool, string, tuple, frozen set
파이썬 언어에서 대입은 오른쪽에 있는 값을 가지는 객체를 변수가 가리키라는 의미입니다.
변수는 자체 저장공간을 할당 받지 않으며 객체를 가리키기만 합니다.
변수에 새로운 객체를 대입하거나 객체를 가리키고 있는 변수를 다른 변수에 대입하는 경우의 동작은 mutable 객체와 immutable 객체 간에도 차이가 있지만, 타입 별로도 차이가 있습니다.
튜플은 수정 불가----------------------------------------------------------------------------------------------------------
파일과 디렉토리 파일
파일들은 ROM이라는 보조기억장치에 데이터를 저장한다. 영구적으로 보관하기위해
파일 시스템 구조
/(root)../ 상대경로*/ 절대경로
cd / 현재디렉토리에서 루트디렉토리로 가자
ls 현재 경로의 파일,디렉토리 목록 보여줌ls -l ls몰록 방식에서 상세한 정보 보여줌
ls -al
home : 사용자(users)폴더
: 사용자계정 디렉토리 존재
: 사용자 추가할때마다 새로운 디렉토리 생성
bin : 사용자가 사용하는 실행파일
mnt/ 와 media 는 장치를 연결하는 디렉토리
usr/ c드라이브 프로그램 파일즈 해당 표현/
etc/ 프로그램이 실행한 설정들의 파일들
var/ 프로그램을 설치할때 필요한 것들
sbin/ 어드민을 위한 실행파일
sys/ 시스템에 대한 설정들
'개념정리' 카테고리의 다른 글
인코딩과 디코딩이란? (0) | 2021.01.06 |
---|---|
JSON파일, XML파일, CSV 파일 (0) | 2021.01.06 |
터미널이란 무엇인가? (0) | 2021.01.02 |
인공지능 개발환경 선택하기 (파이썬, 우분트, 텐서플로우) (0) | 2021.01.01 |
커밋commit, Add, 푸시Push, 풀Pull 개념 (0) | 2021.01.01 |
댓글