[프로그래밍 언어]/python

두근두근 파이썬(개정판)_ch4 자료의 종류

우당탕탕 개발 일지 2024. 1. 20. 23:37

안녕하세요. 우당탕탕 개발 일지입니다.

파이썬 에디터 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