안녕하세요. 우당탕탕 개발 일지입니다.
파이썬 에디터 IDLE 3.12.1을 사용합니다.
책과 수업 내용을 바탕으로 요약한 내용과 교재 뒤 연습문제입니다.
- 파이썬 내장 자료형
- 문자열
- 리스트
1. 파이썬 내장 자료형(data type)
: bool, int, float, complex, str, bytes, bytearray, tuple, list, set, dict
bool형 | True와 False를 사용한다. |
숫자형 | int, float, complex |
순서형 | str, bytes, bytearray, tuple, list |
집합 구조형 | set, dict |
파이썬의 동적유형(dynamic typing)
: 파이썬 변수는 숫자든 문자든 어떤 종류의 자료도 저장 가능하다!
→ 사용 중인 변수를 다른 유형의 값을 할당하면 변경된다.
>>>x = 10
>>>print("x =", x)
x=10
>>>x = 3.14
>>>print("x =", x)
x=3.14
>>>x = "Hello World!"
>>>print("x =", x)
x=Hello World!
2.문자열
:문자(txet)들의 나열
2-1 파이썬 문자열 특징
1. 파이썬은 문자열 처리에 강한 언어이다.
2. 파이썬은 char 타입 없음
3. NULL은 빈 문자열
4. “ (큰따옴표)로 시작해 ‘ (작은따옴표)로 끝나면 오류 ⚠️
Q) 왜 문자열은 "(큰 따옴표)와 '(작은따옴표) 두 개가 존재할까?
>>>s="철수가 "안녕" 이라고 말했습니다"
SyntaxError: invalid syntax
#철수가 와 이라고 말했습니다 가 각각 다른 문자열로 인식되어 안녕을 문자열로 생각하지 못함
>>>s="철수가 '안녕' 이라고 말했습니다"
>>>print(s)
철수가 '안녕' 이라고 말했습니다
A) 문자열 안에 따옴표를 표현하고 싶어서!
2-2 문자열 → 숫자
: int(), float()
>>>t = input("정수를 입력하시오: ")
정수를 입력하시오:100
>>>x = int(t)
>>>y = int(input("정수를 입력하시오: "))
정수를 입력하시오:200
>>>print(x+y)
300
2-3 숫자 → 문자열
:str()
>>> print('나는 현재 ' + 21 + '살이다.')
error!!!!
>>>print('나는 현재 ' + str(21) + '살이다.')
나는 현재 21살이다.
>>>print('원주율은 ' + str(3.14) + '입니다.')
원주율은 3.14입니다
2-3 문자열 접합
: +연산자는 숫자 연산 말고도 문자열도 합칠 수 있다.
>>> 'Hello ' + 'World!'
'Hello World!'
2-4 문자열에 변수(값) 포함
(1) % (포맷) 연산자 사용
>>> price = 10000
>>> product = “애플 파이”
>>>print("%s의 가격은 %d원 입니다." %(product, price))
애플파이의 가격은 10000원 입니다.
#%d는 10진수 정수(integer)로 표시한다는 의미.
#%s는 string(문자열)로 표시한다는 의미.
>>>print("%s의 가격은 %f원 입니다." %(product, price))
애플파이의 가격은 10000.000000원 입니다.
#%f는 실수(float)로 표시한다는 의미.
>>>print("%s의 가격은 %10.3f원 입니다." %(product, price))
애플파이의 가격은 10000.000원 입니다.
#10.3f는 10자리의 공간에 소수점 3자리까지 표시한다는 의미
(2) f-string
:문자열에 변수의 값을 삽입하고 출력하고 싶으면 쓰는 방법이다.
>>>price=10000
>>>count=3
>>>product = “애플 파이”
>>>print(f"{product} {count}개의 가격은 {count*price}원 입니다." )
애플파이 3개의 가격은 30000 원 입니다.
>>>pi=3.141592
>>>print(f"원주율={pi:2f})"
3.14
2-5 index
(1) 문자열의 길이
: len() 메소드
>>>x="123456789"
>>>print('문자열의 길이는',len(x))
문자열의 길이는 9
(2) 개별 문자 추출(slicing index)
: index사용
- python은 음수 index가 가능함.
- -index는 공백도 포함함(⚠️따옴표는 포함 안됨.)
- ex) [6:10] index 6번부터 9까지라는 의미.
- ex) [-12:-7] index -12번부터 -6까지라는 의미.
>>>s="Monty python"
>>>print( s[6:10])
pyth
2-6 특수 문자열
\n | 줄 바꿈 |
\t | 탭(tab) |
\\ | \ (역슬래시)자체 |
\” | “ (겹따옴표)자체 |
\’ | ‘ (홀따옴표)자체 |
◆리스트와 튜플의 자세한 내용은 chapter 9에서 다룹니다.
3. 리스트
:여러 개의 자료들을 모아서 하나의 묶음으로 저장하는 것
- 리스트의 시작의 0번째부터이다.
- iterable(반복 가능)한 성질을 가진다.
- 튜플은 값이 고정적이지만 리스트는 값이 변할 수 있다.
- 리스트의 용도는 매우 다양하게 활용된다.
>>>alist=[1,2,3,4]
>>>alist.append('apple')#문자열
>>>alist.append([1,2,3])#리스트 안에 리스트
>>>print(alist)
[1,2,3,4,'apple',[1,2,3]]
#자료형과 상관없이 리스트에 넣을 수 있음.
>>>alist=[[1,2,3],[1,4,5,6],[7,8,9,2]]
>>>print(alist[1]) #첫번째 인덱스_ 인덱스는 0번째부터 시작
[1,4,5,6]
>>>print(alist[1][2]) #첫번째 안덱스의 2번째요소
5
예제 코드 날짜 출력하는 코드
year = int(input("오늘의 연도를 입력하시오: "))
month = int(input("오늘의 월을 입력하시오: "))
date = int(input("오늘의 일을 입력하시오: "))
#문자열, 변수 출력
print("오늘은", year, "년", month, "월", date, "일입니다.")
#숫자-> 문자열로 출력
print("오늘은", str(year)+"년", str(month)+"월", str(date)+"일입니다.")
#format operator
print("오늘은 %d년 %d월 %d일입니다."%(year, month, date))
#f-string
print(f"오늘은 {year}년 {month}월 {date}일입니다.")
연습문제 ch4-9
import turtle
t=turtle.Turtle()
t.shape("turtle")
colors=["red", "blue", "orange"]
x_cord=[100,200,300]
y_cord=[30,20,40]
t.fillcolor(colors[1])
t.stamp()
t.goto(x_cord[0], y_cord[0])
t.fillcolor(colors[0])
t.stamp()
t.fillcolor(colors[2])
t.goto(x_cord[1], y_cord[1])
t.stamp()
t.fillcolor(colors[0])
t.goto(x_cord[2], y_cord[2])
t.stamp()
연습문제 ch4-10
import random
characters="abcdefghijklmnopqrstuvwxyz"
digits="0123456789"
list1=[characters, digits]
x=random.choice('list1')
y=random.choice('list1')
z=random.choice('list1')
print(f"생성된 패스워드:{x+y+z}")
728x90
'[프로그래밍 언어] > python' 카테고리의 다른 글
두근두근 파이썬(개정판)_ch6 반복문 (2) | 2024.01.25 |
---|---|
두근두근 파이썬(개정판)_ch5 조건문 (2) | 2024.01.21 |
두근두근 파이썬(개정판)_ch3 수식, 연산자 (2) | 2024.01.08 |
두근두근 파이썬(개정판)_ch2 변수,식별자,dir() 함수,input()함수 (2) | 2024.01.07 |
두근두근 파이썬(개정판)_ch1 터틀 그래픽,print()함수 (4) | 2024.01.07 |