2024.01.31.(수) 학습 내용
변수(variable)
- 사전적 의미로는 "변화를 줄 수 있는" 또는 변할 수 있는 수"
- 프로그래밍에서는 데이터를 담을 수 있는 공간
변수 선언 및 할당
cf) 자바에서의 변수 선언 ->데이터타입 선언 필요
ex. int a = 1;
# 파이썬에서의 변수 선언 및 할당 방법
# # 동적 자료형 : 값을 할당할 때 동시에 자료형이 정해짐!
a = 10
하지만 파이썬에서는 변수 선언 시 자료형 입력x
=>동적 자료형 : 값을 할당할 때 동시에 자료형이 정해짐
(런타임 시에 무슨 값을 할당했는지 파이썬이 알아본다!
문자열 함수 입력
s = '문자열이지롱!'
s # 출력 : '문자열이지롱!'
파이썬에서는 문자열 입력 시 큰따옴표(" ") , 작은따옴표 (' ') 상관없음
(cf. java에서는 큰따옴표(" ") 는 문자열, ' 작은따옴표 (' ') 는 문자)
변수와 관련된 함수
- type() : 자료형 확인하는 함수(도구)
- print() : 출력하는 함수(도구)
ex.
a = 10
type(a) # 출력:int
ex.
s = '문자열이지롱!'
type(s) # 출력 : str
ex.
b = 10.35
type(b) # 출력 : float
실수값도 마음대로 담을 수 있음
(cf. java 에서는 int b = 10.35 에러 남! )
변수명 규칙
1) 변수명 규칙
- 영문자, 숫자, 언더바(_)를 사용
- 단, 영문자는 대,소문자를 다르게 인식(구분지어야 한다!!)
- 숫자로 시작할 수 없음 (자: 숫자로시작하면 값으로 인식됨)
- 예약어(키워드)는 사용이 불가능
2) 표기법
- sanke_case ,camelCase 을 주로 활용!
- PascalCase 도 있다!
=>권장사항! 안 지킨다고 에러는 안 남! 개발자들끼리 약속!
java와 다른 python 의 변수 특징
1) 변수 특징
1) 여러 개의 변수에 한 번에 값을 할당 할 수 있다
# 변수 a에 10을 대입, 변수 b에 15를 대입
# 여러 개 변수에 값을 할당 가능!
c, d = 10, 15
c, d #출력 : (10, 15)
print(c,d) # 출력 : 10 15
java에서는 다중 선언이 안됐지만 파이썬에서는 변수를 동시에 생성&할당 가능!
변수명 2개를 같이 찍으면 튜플 형태로 출력됨!
print 함수를 사용하여 출력하면 각 변수에 담긴 자료만 나옴!
2) 같은 값을 다른 변수에 각각 할당할 수 있다.
# 같은 값을 다른 변수에 각각 할당할 경우
str1 = str2 = "python"
print(str1) #출력 : python
print(str2) #출력 : python
2) 문자열 관련 특징
문자열은 원하는 변수에 큰따옴표(")나 작은따옴표(')로 감싼 문장또는 글자를 대입하기만 하면된다.
(cf. java에서는
- 이스케이프 코드( escape code)
\n : 여러 줄인 문자열을 변수에 대입 하고 싶을 때 활용
# 여러 줄인 문자열을 변수에 대입 하고 싶을 때
s = "파이썬\\n- 동적 관리언어\\n- 직관적, 명시적, 간결함"
print(s)
# 출력 :
# 파이썬
# - 동적 관리언어
# - 직관적, 명시적, 간결함
이스케이프 코드를 활용하여 작성한 문자열 변수 s를 print() 함수에 담아 출력하면 아래와 같이 출력된다.
=>
파이썬
- 동적 관리언어
- 직관적, 명시적, 간결함
s # 출력 : '파이썬\\n- 동적 관리언어\\n- 직관적, 명시적, 간결함'
반면에 문자열 변수 s를 print() 함수에 담지 않고 그냥 출력하면 이스케이프 코드가 전부 출력된다.
여러줄인 문자열을 아래와 같이 이스케이프 코드 없이 작성할 수 있는 방법도 있다.
바로 긴줄문자열 기호이다.
# 여러 줄인 문자열을 변수에 대입 하고 싶을 때
# 긴줄문자열기호: """""", ''''''
s = """파이썬
- 동적언어
- 직관적, 명시적, 간결함"""
print(s)
긴줄 문자열은 큰따옴표(") 나 작은따옴표(')를 앞뒤로 3개씩 써서 원하는 문장을 감싸면 된다.
위의 예시에 작성한 큰따옴표 3개(""")를 작은따옴표 3개(''')로 대체하여 작성 가능하다.
⇒`파이썬
- 동적언어
- 직관적, 명시적, 간결함`
s #출력 : '파이썬\\n- 동적언어\\n- 직관적, 명시적, 간결함'
- 문자열 인덱싱(indexing), 슬라이싱(slicing)
=>특정 문자(열)에 접근하는 방법!
- 인덱싱 , 슬라이싱 →순서를 가진 자료형에 모두 적용
- (튜플, 리스트, ndarray(넘파이 라이브러리), 시리즈(Series), 데이터프레임(Dataframe) 등…)
- 인덱싱 == '가리킨다'
- 슬라이싱 =='잘라낸다'
- 정수 인덱스(음수, 양수 가능)
- 음수 인덱스는 마지막값 -1부터 시작!!!(-0은 존재하지 않음!!)
EX. 인덱싱 예시
# 문자열 인덱싱
# 정수 인덱싱
s = 'My name is JY'
print(s[0]) #출력 : M
print(s[8]) #출력 : i
EX. 음수 인덱싱 예시
s = 'My name is JY'
print(s[-2]) #출력 : J
print(s[-1]) #출력 : Y
슬라이싱
# 문자열 슬라이싱
# 변수명[시작값:끝값(미포함)]
s = 'My name is JY'
s[0:2] #출력 : 'My'
슬라이싱은 시작값부터 끝값-1번째 인덱스를 잘라낼 수 있다.
슬라이싱에서 중요한건 명시된 끝값이 포함되지 않는다는 것!!★☆
'PYTHON' 카테고리의 다른 글
[python]딕셔너리(dictionary), 집합(set) (1) | 2024.02.07 |
---|---|
[python]데이터 핸들링 - 영화리뷰 분석 자료 (0) | 2024.02.07 |
[python]조건문(if, elif, else) (0) | 2024.02.04 |
[python]연산자(산술,지수,관계(비교), 대입(복합), 논리, 멤버, 삼항 연산자) (0) | 2024.02.02 |
[Python]파이썬 문자열 슬라이싱(slicing), 문자열 포매팅(Formating),문자열함수 (0) | 2024.02.01 |