-
11주차 목 1102 (자료형(숫자형,문자열,리스트,튜플)광주인력개발원 일일포스팅(메모장) 2023. 11. 2. 16:40728x90반응형
파이썬 환경설정 후 첫 정규 수업이다.
어제 설정하지 못헸던 dataspell 설정
폰트 설정
Editor >> Font >> D2 coding
sdknan
JDK가 여러개 깔려있을 때 스위칭해주는 기능
회사에서는 여러 버전을 사용하기 떄문에 환경변수를 설정
★학습
마크다운 문법
# 제목(Header) # 제목 1 ## 제목 2 ### 제목 3 #### 제목 4 ##### 제목 5 ###### 제목 6 이탤릭 _기울기_ 별표사용. 볼드 **두껍게** 별표 두개사용.
제목 2 이탤릭 _제목 2_
제목 3 볼드 **제목 3**
변수
* 데이터를 저징히고, 변하는 수 * 이름과 값으로 구성
25 + 10 + 30 + 40
내가 작성했고 아니라면 어떤 데이터인지 잘 모를 수 있음
age1 = 25 age2 = 10 age3 = 30 age4 = 40
sum = age1 + age2 + age3 + age4 print(sum)
가독성이 좋고 다른사람과 협업시에도 이 숫자가 어떤걸 의미하는지 알 수 있다.
a = 100 b = 10 print(a + b) print(a * b) print(a / b) print(a % b)
%는 나머지 구하는 연산자이지만 판단문에서 더 많이쓴다
변수 이름 규칙
영문자로 +숫자 + 언더바의 형식을 사용
ex) a, a1, a1_
공백이 있으면 안된다.
대소문자 구분1a = 100
a@b = 100
이런 변수는 사용x
변수 이름은 생각하고 만들어야한다.
print 함수
기본 출력 장치로 결과를 출력
print (변수 or 출력하고 싶은 결과물)print('Hello, World') print(100/100)
Hello, World
1.0a = 'ABCDEF' print(a)
ABCDEF
# 여러개의 값을 출력 print('1', '1', 'hrllo world', c)
1 1 hrllo world a
print('hello world', 100/200, c, sep=' | ') #sep(세퍼레이터) 은 빈 공간 '' 에 이런걸 넣겠다 print('hello world', 100/200, c, sep='\n') #이스케이프 문자
hello world | 0.5 | a
hello world
0.5
aprint('hello world', end = ', ') #end 접미어 print(100/200, end= ', ')
hello world, 0.5,
print(a, end= '~~~~')
ABCDEF~~~~
숫자 형태로 이루어진 자료형
정수(int) : 1, 2, -1, 0
실수(float) : 1.11, -1.0000, 10e5(10만), 10e-5type함수
# 정수 a = 123 print (type(a))
<class 'int'>
b = 1.2 print(type(b))
<class 'float'>
a = 1 b = 1.0 print(type(a + b))
<class 'float'>
내가 쓸 클래스의 타입을 알고 있는게 중요!
# 과일 가게의 총 매출 품목 : 바나나 (1000원) 사과 (500원) 체리 (5000원) 고객 : 손씨 : 사과 (2) 손씨 : 체리 (3) 김씨 : 사과 (4) 박씨 : 바나나 (1) 박씨 : 사과 (2) 박씨 : 체리 (1)
바나나 = 1000 사과 = 500 체리 = 5000 손씨 = (사과 * 2) + (체리 * 3) 김씨 = 사과 * 4 박씨 = (바나나 * 1) + (사과 * 2) + (체리 * 1) sum= 손씨 + 김씨 + 박씨 print('총매출:', sum) print('객단가:', sum / 3)
총매출: 25000
객단가: 8333.333333333334문자열?
문자 형태의 데이터
"" 이용하거나 ''로 감싸준다.a = "Hello world" b = 'Hello world' print(a, b)
Hello world Hello world
c = "Hello' world" d = 'Hello" world' print(c, d)
Hello' world Hello" world
e = 'Hello\' world' print(e)
Hello' world
a = ''' Hello world Hello world ''' print(a)
Hello world
Hello worlda = """ Hello world Hello world """ print(a)
Hello world
Hello worlda = '=' b = '-' print(a + b) print(a * 5)
=-
=====a = 'Python ' print(a *5)
Python Python Python Python Python
a = 'Hello world' print(a[0]) print(a[-2]) print(a[5])
H
l#인덱싱
- 슬라이싱 :인덱스에 시작~ 끝 (간격)을 지정하는 방법
print(a[0]) print(a[1:3]) #이상 : 미만 print(a[0:3]) print(a[:3]) print(a[3:])
H
el
Hel
Hel
lo worldprint(a[-5:])
world
len(a)
11
print(len(a[-5:]))
5
# 문숫지 + 문지 + 숫지 a = 'Number' b = 7 print(a, b)
Number 7
print(type(a)) print(type(b))
<class 'str'>
<class 'int'>print(a + str(b))
Number7
print(type(int('1')))
<class 'int'>
print(int('1') + 1) print('1' + str(1))
2
11a = 123.456 print(type(a))
<class 'float'>
a = 123 print(float(a))
123.0
int('abc123')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[36], line 1
----> 1 int('abc123')
ValueError: invalid literal for int() with base 10: 'abc123'# printf 는 포맷이라는 f # 문자열 포맷팅 num = 14 a = 'My favorite number is {}'.format(num) print(a)
My favorite number is 14
a = f'My favorite number is {num}' print(a)
My favorite number is 14
num1 = 14 num2 = 18 a =f'My favorite number is {num1} and {num2}' print(a)
My favorite number is 14 and 18
문자열 함수
- upper() : 대문자로 바꿔주기
- lower() : 소문자로 바꿔주기
- count() : 문자열 안의 특정 문자열 개수 반환
- join() : 특정 문자열을 기준으로 문자열을 십입
- split() : 특정 문자열을 기준으로 문자열을 나눈다.
- replace : 특정 문자열을 지정 문자열로 변환
- strip() : 공백제거 (lstrip, rstrip)
- find() : 특정 문자열을 찾아 준다.
a = 'pie' a.upper()
'PIE'
a = ' Hello world ' a.strip()
'Hello world'
a = ' Hello world ' a.rstrip()
' Hello world'
a.count('ll')
1
" ".join('Hello')
'H e l l o'
' '.join(['Hell', 'Python', 'Nice'])
'Hell Python Nice'
a = 'Hell Python Nice' a.split(' ')
['Hell', 'Python', 'Nice']
input함수
- 기본 입력 장치로 부터 입력된 정보를 반환한다.
변수 = input() 의 형식으로 사용
x = input()
print(x, type(x))
5 <class 'str'>
인풋 함수는 str 타입이다
사용할때는 반환해서 사용
x = input('10보다 작은 정수를 입력하세요. : ') print(x, type(x))
x= int(input('10 보다 작은 정수를 입력하세요. :')) print(x, type(x))
리스트
- 요소들의 모음을 나타내는 자료형.
- 요소들은 []로 감싼다.
- 모든 자료형을 담을수 있다.
a = [1, 2, 3, 4, 5]
# 첫번째는 이름 두번째는 나이 세번째는 번호 # 홍길동_이름 = # 홍길동_나이 = # 홍길동_번호 = 홍길동 = ['홍길동', 10, '010-1234-1234'] print(홍길동)
['홍길동', 10, '010-1234-1234']
a = ['홍길동', 10, '010-1234-1234'] b = ['홍길동', 10, '010-1234-1234'] c = ['홍길동', 10, '010-1234-1234']
친구들 = [['홍길동', 10, '010-1234-1234'], ['홍길동', 10, '010-1234-1234'], ['홍길동', 10, '010-1234-1234']]
print(친구들)
[['홍길동', 10, '010-1234-1234'], ['홍길동', 10, '010-1234-1234'], ['홍길동', 10, '010-1234-1234']]
print(type(a), type(친구들))
<class 'list'> <class 'list'>
# 인덱싱 - 슬라이싱 print(a[0])
홍길동
print(a[0] + str(a[1]))
홍길동10
print(a[0:3])
['홍길동', 10, '010-1234-1234']
print(친구들[0][0])
홍길동
print(친구들[1][1])
10
print(친구들[1][:])
['홍길동', 10, '010-1234-1234']
print(친구들[-1][-1])
010-1234-1234
# 리스트 연산 a = [1, 2, 3] b = [4, 5, 6] a + b
[1, 2, 3, 4, 5, 6]
a * b
TypeError: can't multiply sequence by non-int of type 'list'
a * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
a + 4
TypeError: can only concatenate list (not "int") to list
친구들[0][0]
'홍길동'
친구들[0][0] = '김길동'
'김길동'
친구들[1][1:] = [34,'010-9874-9874']
[34, '010-9874-9874']
친구들
[['김길동', 10, '010-1234-1234'],
['고길동', 34, '010-9874-9874'],
['청길동', 10, '010-1234-1234']]친구들[2][-1] = '010-1111-1111' 친구들
[['김길동', 10, '010-1234-1234'],
['고길동', 34, '010-9874-9874'],
['청길동', 10, '010-1111-1111']]리스트 함수
- len ; 리스트의 길이를 빈환
- sum, min, max 함수 : 리스트 요소의 총힙, 최솟값, 최댓값
- in : 특정 요소가 리스트에 있는지 확인하는 함수
- append : 맨 마지막 요소에 추가
- extend : 멘 마지막 다른 리스트를 추가
- insert : 특정 위치에 요소를 삽입한다.
- remove, pop : 리스트의 요소를 삭제
- join : 리스트의 요소들을 하나의 문자열에 합침.
- split : 문자열 리스트의 요소들을 나눈다.
a = [1, 2, 3, 4, 5] len(a)
5
sum(a)
15
min(a)
1
max(a)
5
a = ['a', 'b', 'c', 'd', 'e'] # sum(a) print(min(a),max(a))
a e
'a' in a
True
있으면 True 없으면 False
a = [1, 2, 3] a.append(4) a
[1, 2, 3, 4]
a.extend([5, 6]) a
[1, 2, 3, 4, 5, 6]
a.insert(3, 8) a
[1, 2, 3, 8, 4, 5, 6]
a.remove(3) a
[1, 2, 8, 4, 5, 6]
a.pop(3)
4
a.append(1) a
[1, 2, 8, 5, 6, 1]
a.count(1)
2
a = 'a b c d' a.split()
['a', 'b', 'c', 'd']
range 함수
range(시작, 끝, 간격) => 리스트 반환
list(range(1, 10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(0, 10, 2))
[0, 2, 4, 6, 8]
튜플
- 리스트와 같다.
- 차이점은 수정 불가능 (불변성)
- 리스트 보다 빠르다.
- 데이터가 변하지 않을 때 사용
- [] x () o
a = (1, 2, 3, 4) print(a, type(a))
(1, 2, 3, 4) <class 'tuple'>
a[1]
2
a[1] = 2
TypeError: 'tuple' object does not support item assignment
'튜플' 객체는 항목 할당을 지원하지 않습니다.
대입 연산자가 안 먹힌다.
# append, insert, extend, remove, pop, sort 사용 할 수 없다.
sort는 데이터의 순서를 바꾸기 때문에 변경으로 볼 수 있다.
728x90반응형'광주인력개발원 일일포스팅(메모장)' 카테고리의 다른 글
12주차 월 1106 (제어문 for...) (1) 2023.11.06 11주차 금 1103 (딕셔너리, 불리언, 집합, 반복문) (2) 2023.11.03 11주차 수 1101 (0) 2023.11.01 11주자 월 1030 프로젝트 끝 (5) 2023.10.30 11주차 일 1029 진행도 (1) 2023.10.29