Python 1일차 :: 변수와 자료형
변수와 자료형
주석
1
2
3
4
5
|
'''작은따옴표
주석'''
"""큰따옴표
주석 둘다 여러줄 됨"""
# 한줄주석~ 한줄만됨~~
|
cs |
개발자끼리 소통할 때나 나처럼 말많은 사람이 코드쓸때 정말 필수적인 주석이다. 프로그램에 영향을 주지 않는다.
왜 작은따옴표랑 큰따옴표 기능이 같은걸까? 아무래도 한줄주석을 가장 많이 쓰게 된다.
변수
데이터를 저장할 수 있는 공간.
변수 이름 = 저장할 값
변수 이름 생성규칙
1. 영문, 한글, 숫자, 밑줄로 구성
2. 특문 사용불가 (_제외)
3. 대소문자 구분
4. 첫 글자 숫자 안댐
5. 지정된 키워드 사용불가 ( if같은거)
기본 자료형
구분 | 자료형 | 함수 |
int | 정수 | int() |
float | 실수 | float() |
bool | true / false | bool() |
str | 문자열 | str() |
tuple, dictionary, set, list와 같은 컬렉션도 자료형으로 표현된다.
C나 java같은 언어와 달리 파이썬은 변수 선언시 자료형을 명시하지 않아도 되므로 보다 쉽게 코딩할수 있으나, 오류가 떴을 때 찾아내기 힘들다는 단점이 있다!
때문에 input으로 받아오거나 기존 자료의 자료형을 확인하는 단계가 필요한데,
type() 함수가 가능케 합니당
type 함수
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
a = input("문자열 입력 : ")
b = "문자열임당"
c = input("숫자 입력 : ")
d = 123
e = True
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
>> 문자열 입력 : 애앵
>> 숫자 입력 : 12356
>> <class 'str'>
>> <class 'str'>
>> <class 'str'>
>> <class 'int'>
>> <class 'bool'>
|
cs |
type()함수를 사용하면 변수가 어떤 자료형인지 알 수 있다.
여기서 중요한 점은 input으로 받아온 입력은 무조건 '문자열'이 되므로 연산할수 없다. 그래서 숫자형으로 바꿔서 연산해야댐!
그리고 참거짓은 꼭 True / False 처럼 대문자로 시작해야댐
문자열 인덱싱 & 슬라이싱
C에는 '배열'이라는 개념이 있는데, 한 개 한 개의 주머니가 있다고 보면댐.
파이썬에서 문자열도 이 배열처럼 한글자 한글자가 주머니에 각각 담겨있다. (숫자형은 안댐)
배열과 비슷하게 호출가넝.. 보시죠
1
2
3
4
5
6
7
8
9
10
11
|
a = '가나다라'
b = 'abcd'
print(a[0]) # 0번째 인덱스
print(b[:3]) # 처음부터 세번째글자까지
print(b[1:]) # 1번째 인덱스부터 끝까지
>> 가
>> abc
>> bcd
|
cs |
번호를 생략하면 처음 또는 끝을 의미한다~
여기서 주의할 점은 [인덱스 번호 n : n번째 글자] 라는 거시다... 몬말인지 헷갈릴 수 있다 그럴수있다
더쉽게 말하면 [012345... : 123456...] 이거다.. 첫번째엔 0부터 세고 두번째엔 1부터 센다..(글자 수를 센다고 생각) 왜이렇게 만들었나요? 코린이는 모르겟샤 배열에서도 이랬던거가틈
이스케이프 문자
이미 예약되어있는 확장 문자들.문자 | 역할 | 문자 | 역할 | 문자 | 역할 |
\' | 작은 따옴표 | \n | 줄 바꿈 | \t | 탭 |
\" | 큰 따옴표 | \\ | 역슬래시 | \r | 캐리지 리턴(맨앞) |
\' : print("여기 안에서 작은따옴표를 출력하고 싶을 때 쓰기좋아 ")
\" : 이하동문.. 큰/작 따옴표는 문자열 선언이나 print 출력에 쓰이니까 이스케이프 문자 사용한당
print() 함수
c로 언어를 처음 배워서 printf라고 자꾸 치게 되지만 파이썬은 print다.
print("어쩌구 저쩌구") 요래요래 씀
화면에 어쩌구 저쩌구 적은 내용을 출력해준다.
1
|
print(value, ..., sep="", end="\n", file=sys.stdout, flush=False)
|
cs |
print 함수 내에도 여러가지 매개변수값이 있는디
보통은 value값만 입력하지만
sep : 출력할 value의 구분자, 기본값은 "" - 암것도 없는값 인거시다
말그대로 print(value, value1, value2) 여러가지 value를 출력할 수 있는데 이 value 사이의 구분자를 의미
print(value, value1, value2, sep = "/") 이렇게하면 value/value1/value2 일케출력됨~~
end : value 다~출력하고 맨 끝에 출력할 문자, 기본값은 "\n" 그래서 우리가 일일히 \n안쳐줘도 되는거시다.
file : 출력할 방향을 지정, 기본값은 sys.stdout(모니터) 모니터에 출력하는거라 저러케씀 파일에 출력하고 그럴때도있는디 잘모룸..ㅈㅅ
flush : flush, 스트림을 강제로 flushing 해준다는데 출력값이 buffer 상태일때 clear해주어 바로 출력해준다는 뜻인듯?
help() 함수
앞서 말했던 print()의 매개변수.. 이런거 궁금할수있지 그럴때는
help(print) 이렇게 하면 터미널 창에서 알랴준다~
format() 메소드
{}를 사용해서 변수나 값을 출력하는 방법
.format으로 사용되고
1
2
3
4
5
6
|
print("{}도 먹고싶고 {}도 먹고싶고 나는 {}가 분명해." .format("삼겹살", "오리고기", "돼지"))
print("{2}도 먹고싶고 {1}도 먹고싶고 나는 {0}이/가 분명해." .format("삼겹살", "오리고기", "돼지"))
>> 삼겹살도 먹고싶고 오리고기도 먹고싶고 나는 돼지가 분명해.
>> 돼지도 먹고싶고 오리고기도 먹고싶고 나는 삼겹살이/가 분명해.
|
cs |
이런식으로 인덱싱도 가능하다.
여기서 더 응용한게
f-string
가독성이 좋아서 주로 사용한다(내가)
파이썬 3.6 버전 이상에서 사용됨(예전에 배울땐 그래서 없었나봐)
{} 안에서 변수 연산도 됨! ""앞에 f붙여줘야 {}가 활성화된다
1
2
3
4
5
6
|
a = "물"
b = "인간"
c = "70%"
print(f"{a}은 {b}의 몸 {c}를 차지한다.")
>> 물은 인간의 몸 70%를 차지한다.
|
cs |
input()
사용자로부터 키보드로 입력 받을 때 사용한다.
scanf 같은거임
age = input("나이를 알려주세용 : ") 일케하면 age에 입력값이 담긴당
주의) 입력값은 모두 문자열로 담긴당~ 숫자로 자료형 변환하고 연산해야햄