https://www.python.org/ 여기서 다운로드
Customize installation과 Add python 체크

나머지는 기본 값으로 설치
-시작 / IDLE 클릭 해서 실행하면 됨. ⇒ 바로 결과값 확인
-파일 / 새파일 / 입력, 저장 실행.
-VS Code 연동해서 사용

-설치 후 C에 작업폴더 생성하고 등록
조건문 정의

반복문 정의
for를 이용하여 반복문 정의
리스트 [1, 2, 3]의 각 요소를 반복적으로 출력하는 for 루프

while을 이용하여 반복문 정의
while 루프를 사용하여 1부터 5까지의 숫자를 출력

함수 정의
def를 이용하여 add 함수 정의 후 실행
그 함수를 사용하여 10과 100을 더한 값을 계산

주석 처리
#한줄 주석 처리
"""
여러줄
주석
처리하기
"""
new 파일을 통해 파일 저장하고 실행
⇒파이썬 연동해서 사용가능한 프로그램 VS Code , 파이참, 등 여러가지가 있음.
-숫자형, 문자열, 리스트, 튜플, 딕셔너리, 집합, 불 자료형, 변수.
-숫자형
정수(0. 123, -123) ,
실수( 123.45, -123.4 ) ,
8진수(0o34) ,
16진수(0x2AB) 등…
a b**는 a를 b번 곱한 값을 의미
7 % 3 ⇒ 나눗셈 후 나머지값
세 개의 큰 따옴표(""" """)와 작은 따옴표('')를 사용하여 둘 다 문자열을 나타냄
이렇게 하면 큰 따옴표와 작은 따옴표를 혼용하여 문자열을 나타낼 수 있습니다.

abc = """안녕하세요 "홍길동"씨""" -> 문자열도 변수선언 가능
줄바꿈 ( \n )



문자열을 인덱싱과 슬라이싱 (위치 와 자르기 )
a[-0] ⇒ 뒷쪽은 0 이 아닌 -1 부터 시작됨.
a[0:5] -> ' Life' , 출력값은 0 ~ 4 까지 생성
a[0:] -> ' Life is too, you need study ', 0 ~ 끝까지 생성

뒤에있는 숫자를 이용해서 문장 작성 ( %d )
"오늘은 %s 입니다." %"화요일" -> '오늘은 화요일 입니다.' , ( 문자열도 변수값 지정 가능 ( %s ) )
"오늘은 %d 일이고, 요일은 %s 입니다" %(day,yo)
-> '오늘은 27 일이고, 요일은 월요일 입니다' , ( 2개 이상의 변수는 괄호로 묶어서 선언 )
" 합격률은 %d%% 입니다 " % 99 -> ' 합격률은 99% 입니다 ' ( %를 표시할 때는 %% )

-정렬
"%10s" % "하이" -> 전체 길이가 10인 문장의 앞을 띄어서 쓰기 ( "%10s" % )
"%-10s" % "하이" -> 전체 길이가 10인 문장의 뒤를 띄어서 쓰기 ( "%-10s" % )
"%0.4f" % 3.12345678 -> '3.1235', ( 소숫점 자릿수를 지정해서 출력 ( "%0.4f" % )

-format 함수



문자 개수 세기 count
a = "today"
a.count('o')
-> 1 , ( a 안에 o의 개수를 세기 )
a = " Today is 5-27 "
a.find("5")
-> 10 , ( a 안에 5의 위치 찾기 , 문장안에 없을 때는 -1 출력 )
문장안에 기호 넣기
대소문자 변환
a= "hello"
a.upper()
-> 'HELLO' ( a를 대문자로 변환 )
a = "HI"
a.lower()
'hi' ( a를 소문자로 변환 )
공백 지우기
나누기
바꾸기
[ 수정, 삭제, 추가, 정렬 가능 ]
리스트명 = [ 요소1, 요소2, 요소3 ]
a = [ ]
b = [1, 2]
c = [“a”, ”b”, ”c”]
d = [1, 2, “c”, ”d” ]
e = [1, 2, [“a”, ”b” ] ]
a = [ 1, 2, 3 ]
a
-> [1, 2, 3]
a[0]
-> 1 , ( a[0]은 1 )
a[0] + a[2]
-> 4 , ( 1 + 3 )

- a = [1, 2, 3, 4]
a[0:2]
-> [1, 2] , ( a 리스트의 0 ~ 1 의 값 )
- a = [1, 2, 3]
b = [4, 5, 6]
a + b
-> [1, 2, 3, 4, 5, 6] , ( 리스트 합치기 )
a * 3
-> [1, 2, 3, 1, 2, 3, 1, 2, 3], ( 리스트 반복 )
- **str(a[0])** + "yes"
-> '1yes' , 숫자를 문자로 변경 후 다른 문자와 더하기 가능
- a = [1, 2, 4]
a[2] = 3
a
-> [1, 2, 3] , ( a리스트의 요소를 수정 가능 )
- a = [1, 2, 3]
**del(a[2])**
a
-> [1, 2] , ( a리스트의 요소 삭제 )
- a = [1, 2]
**a.append(3)**
a
-> [1, 2, 3] , ( a리스트의 맨뒤에 요소 추가 )
- a = [1, 3, 2]
**a.sort()**
a
-> [1, 2, 3] , ( a리스트 정렬 )
- a = ["a", "b", "c"]
**a.reverse()**
a
-> ['c', 'b', 'a'] , ( a리스트 반대로 정렬 )
- a = ["a", "b", "c"]
**a.remove('c')**
a
-> ['a', 'b'] , ( a리스트 요소 제거 )
- a = [1, 2, 3]
**a.pop()**
-> 3
a
-> [1, 2] , ( a리스트의 요소 가져오기 )
리스트[ ] : 원하는 자료를 목록으로 만들어서 사용 [ 수정, 삭제, 추가, 정렬 가능 ]
( 값을 바꿀 수 없음, 삭제안됨 )
- t = (1, 2, "a", "b")
t[0]
-> 1 , tuple의 값을 인덱싱 할 때는 [] ( 요소 지정 값 사용 )
- t = (1, 2, "a", "b")
t[1:3]
-> (2, 'a')
t[:3]
-> (1, 2, 'a') , ( tuple 슬라이싱 가능 )
( 이름 = 홍길동( key1:value1 ), 지역 = 서울( key2:value2 ), 나이: 20 ( key3:value3 ) )
- d = {1: "a", 2: "b", 3: "c"}
d
-> {1: 'a', 2: 'b', 3: 'c'} , ( 딕셔너리 생성 )
- d = {1: "a"}
d[2] = "b"
d
-> {1: 'a', 2: 'b'} , ( key 값과, value를 설정해서 추가 )
- d = {1: 'a', 2: 'b', 'name': 'orange'}
**del d["name"]**
d
-> {1: 'a', 2: 'b'} , ( 삭제할 때 키 값을 기준으로 삭제 )
- d = {"name": "orange", "phone": "1234567", "addr": "seoul"}
**d.keys()**
-> dict_keys(['name', 'phone', 'addr']) , ( 딕션너리의 키 값만 출력 )
- d = {"name": "orange", "phone": "1234567", "addr": "seoul"}
**list(d.keys())**
-> ['name', 'phone', 'addr'] , ( 딕션너리 키 값을 리스트로 변경 )
- d = {"name": "orange", "phone": "1234567", "addr": "seoul"}
**list(d.values())**
-> ['orange', '1234567', 'seoul'] , ( 딕션너리 value 값을 리스트로 변경 )
- **for x in d.keys()**:
print(x)
-> name
phone
addr ( for 문을 이용해서 key 값을 출력 )
- d = {"name": "orange", "phone": "1234567", "addr": "seoul"}
**d.clear()**
d
-> {} , ( 딕셔너리 내용 삭제 )
- d = {"name": "orange", "phone": "1234567", "addr": "seoul"}
d.get('name')
-> 'orange' , ( 키 값을 이용해서 value 값 찾기 )
- a = set([1, 2, 3])
a
-> {1, 2, 3} , ( a 집합 생성 )
- a = set("test")
a
-> {'t', 's', 'e'} , ( 문장을 집합으로 생성 , 순서가 없으며 중복이 안된다 )

- a = set([1, 2, 3, 4, 5, 6 ])
b = set([4, 5, 6, 7, 8, 9 ])
**a & b**
-> {4, 5, 6} , ( 교집합, a.intersection(b) )
- a = set([1, 2, 3, 4, 5, 6 ])
b = set([4, 5, 6, 7, 8, 9 ])
**a | b**
{1, 2, 3, 4, 5, 6, 7, 8, 9} , ( 합집합 )
- a = set([1, 2, 3, 4, 5, 6 ])
b = set([4, 5, 6, 7, 8, 9 ])
**a - b**
{1, 2, 3} , ( 차집합 )
- a = set([1, 2, 3])
**a.add(4)**
a
-> {1, 2, 3, 4} , ( 집합 a 에 값 추가 )
- a = set([1, 2, 3, 4 ])
**a.update([5, 6, 7])**
a
-> {1, 2, 3, 4, 5, 6, 7} , ( 집합 a 에 여러 개의 값 추가 )
- a = set([1, 2, 3, 4, 5, 6, 7 ])
a.remove(4)
a
{1, 2, 3, 5, 6, 7} , ( 특정 값 제거 )
True / False

- 1 == 1
-> True
1 == 2
-> False
1 != 1
-> False
1 > 2
-> False , ( 참, 거짓 판별 )
- bool("test")
-> True
bool()
-> False ( bool 함수안에 요소가 있으면 참, 없으면 거짓 )