Python 기초 1 - 자료형과 연산자
1. 기본 출력
(1) print() 함수 사용
print()
#변수 출력
print(st)
#문자열 출력
print("I'm Python")
#콤마로 연결하면 띄어쓰기 생성
print("Hello","I'm Python")
(2) 표현식 문자열 출력
: " ~ %s %d", %("Lina", 20)
- %s -> string 문자열 자리다.
- %d -> digit (0~9) 숫자 자리다.
- %f -> float 실수 자리다.
print('My friend is %s is %d years old'%("Leo",20))
* python에서 쌍따옴표("")와 따옴표('') 사이에는 큰 차이가 없음. 조직, 관습에 따라 사용하면 됨
2. 기본 입력
(1) input() 함수 사용
- 기본적으로 문자열을 받음 = 숫자를 입력해도 문자열로 입력됨
#숫자로 입력받기
int(input("몇살이니:"))
3. 주석
(1) 한 줄 주석: #
(2) 여러 줄 주석: ''' ~ '''
4. 자료형
(1) 숫자 자료형
- int: 정수형
- float: 실수형
(2) 문자형
- str: 작은 따옴표나 큰 따옴표로 묶어 표현
- 다중열로 저장하려면 \n 개행 문자 포함하거나 """ """ 따옴표 세개로 줄바꿈해 묶으면, 변수 안에는 \n과 함께 저장된다. (print하면 줄바꿈 되어 보여진다)
- \n을 개행 문자로 쓰고 싶지 않다면 이스케이프 문자인 역슬래시로 처리한다.
- 문자열 자체는 immutable object이다.
- str() 함수를 이용해 다른 객체를 문자열로 바꿀 수 있다.
#줄바꿈을 유지하면서 변수 선언하기
string= """안녕 첫번째 줄이야
안녕 두번째 줄이야"""
- 문자열을 합치려면 + 연산자를 쓴다.
str1='Python'
str2='is fun'
#결괏값은 Pythonis fun
str1+str2
- 표현식 기반하여 문자열 표현할 수 있다.
s = "I love %s." % 'yuzumuzu'
print(s)
(3) f-string vs .format vs %operator
- %operator: 타입을 정확히 알고 코딩해야 한다는 단점, 오래된 방식
- .format: 파이썬 3부터 적용된 비교적 최신 방식
'__{ }__{ }__'.format(value, value)
#방법1 - 위치 지정
template='{0} {1} are worth US${2}'
template.format(1200, 'won', 1.00)
#방법2 서식 제어 - 위치, 자료 타입 지정
template='{0:d} {1:s} are worth US${2:.2f}'
template.format(1200, 'won', 1.00)
#방법3 - 아무것도 지정하지 않음
template='{} {} are worth US${}'
template.format(1200, 'won', 1.00)
- f-string: 파이썬 3.6부터 적용, f'~{}'
5. 변수
변수 s가 문자열 Hello를 참조한다. 자바의 경우 변수 s는 데이터에 맞춰져서 메모리를 차지하는데 파이썬은 sd에 대한 참조값만 바뀐다.
s='Hello'
객체 삭제는 다음과 같은 방법으로 진행한다.
del s
6. 리스트
- 인덱싱을 통해 각 원소에 접근 가능하다.
(1) 인덱싱: list[index]
- 값을 꺼내오므로 차원 축소함
(2) 슬라이싱: list[ start : end ]
- [] 유지하여 가져오므로 차원 축소하지 않음
(3) 리스트 함수
- append 함수: 리스트 데이터의 마지막에 값을 추가함
- pop 함수: 리스트 데이터의 원소를 삭제
- reverse 함수: 리스트 원소 순서 뒤집기
# append 함수
lst.append(tinylist[0])
print(lst)
# pop 함수
popped = lst.pop(0)
print(lst)
print(popped)
# reverse 함수
lst.reverse()
7. 2차원 리스트
#ouput [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
lst_1=[1,2,3]
lst_2=[4,5,6]
lst_3=[7,8,9]
lst_4=[10,11,12]
lst=[lst_1,lst_2,lst_3,lst_4]
print(lst)
- 인덱싱을 통해 차원을 -1, -2 할 수 있다.
#인덱싱해 차원 축소하기
lst[0]
print(lst[0])
#인덱스 1 자리의 리스트 내 인덱스 2 값 가져오기 - 차원 두 번 축소
lst[1][2]
print(lst[1][2])
#리스트 크기 체크
print(len(lst[0]))
print(len(lst))
###
[1, 2, 3]
6
3
4
###
7. 튜플
- sharing same grammar with list, but immutable
- 단일 튜플 사용시 값 뒤에 콤마 반드시 찍어줘야 함
- tuple()
8. range
- [규칙] step 미지정시 기본값 1, start 미지정시 기본 출발값 1, stop 값은 포함하지 않음
range(<start>,<stop>,<step>)
9. 형변환
- list(X): X로 채워진 리스트를 만듬
- tuple(X): X로 채워진 튜플을 만듬