파이썬- 1회차

박형준·2024년 5월 27일

https://www.python.org/ 여기서 다운로드

Customize installation과 Add python 체크

나머지는 기본 값으로 설치


-시작 / IDLE 클릭 해서 실행하면 됨. ⇒ 바로 결과값 확인

-파일 / 새파일 / 입력, 저장 실행.

-VS Code 연동해서 사용

  • 확장 클릭 /

-설치 후 C에 작업폴더 생성하고 등록


조건문 정의

  • if를 이용하여 조건문 정의


반복문 정의

  • for를 이용하여 반복문 정의

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

  • while을 이용하여 반복문 정의

  • while 루프를 사용하여 1부터 5까지의 숫자를 출력


함수 정의

  • def를 이용하여 add 함수 정의 후 실행

  • 그 함수를 사용하여 10과 100을 더한 값을 계산


주석 처리

  • #한줄 주석 처리

  • """
    여러줄
    주석
    처리하기
    """

new 파일을 통해 파일 저장하고 실행

  • print("오늘은 월요일 입니다.")
    ⇒저장 하고 F5 실행

⇒파이썬 연동해서 사용가능한 프로그램 VS Code , 파이참, 등 여러가지가 있음.


*자료형

-숫자형, 문자열, 리스트, 튜플, 딕셔너리, 집합, 불 자료형, 변수.

-숫자형

  • 정수(0. 123, -123) ,
    실수( 123.45, -123.4 ) ,
    8진수(0o34) ,
    16진수(0x2AB) 등…

  • a b**는 a를 b번 곱한 값을 의미

  • 7 % 3 ⇒ 나눗셈 후 나머지값


-문자열 자료형

  • 세 개의 큰 따옴표(""" """)와 작은 따옴표('')를 사용하여 둘 다 문자열을 나타냄

  • 이렇게 하면 큰 따옴표와 작은 따옴표를 혼용하여 문자열을 나타낼 수 있습니다.

  • abc = """안녕하세요 "홍길동"씨""" -> 문자열도 변수선언 가능

  • 줄바꿈 ( \n )

  • 문자열 변수 선언 가능

  • 문자열의 길이 구하기 ( 공백까지, len(a) )

  • 문자열을 인덱싱과 슬라이싱 (위치 와 자르기 )

    • 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 함수

  • " 오늘은 {0} 일 입니다 " .format(26)
    -> ' 오늘은 26 일 입니다 '
    ( .format() 메서드를 사용하여 문자열을 포맷하는데,
    여기서 {0}은 format() 메서드의 첫 번째 인자를 나타냄 )

  • 왼쪽, 오른쪽, 가운데 정렬 ( "{0:<10}", "{0:>10}", "{0:^10}" )


f문자열 포매팅

  • f"내 나이는 내년이면 {age+1}"
    ->'내 나이는 내년이면 31' , ( {age+1}은 f-string에서 표현식을 평가하여 문자열에 포함시키는 역할 )

  • f'{"hi":*^10}' -> ^10은 문자열을 10자리로 만들고, 남는 공간을 로 채우며, 가운데 정렬

문자 개수 세기 count

  • a = "today"
    a.count('o')
    -> 1 , ( a 안에 o의 개수를 세기 )

  • a = " Today is 5-27 "
    a.find("5")
    -> 10 , ( a 안에 5의 위치 찾기 , 문장안에 없을 때는 -1 출력 )

문장안에 기호 넣기

  • "," .join('abcd')
    -> 'a:b:c:d' , ( abcd 사이에 ":" 넣기 )

대소문자 변환

  • a= "hello"
    a.upper()
    -> 'HELLO' ( a를 대문자로 변환 )

  • a = "HI"
    a.lower()
    'hi' ( a를 소문자로 변환 )

공백 지우기

  • a.lstrip() , 왼쪽 공백 제거
  • a.rstrip() , 오른쪽 공백 제거
  • a.strip , 양쪽 공백 제거

나누기

  • a = "Today is 5-27"
    a.split()
    -> ['Today', 'is', '5-27'] , ( 단어별로 나누기 )

바꾸기

  • a = "Today is 5-27"
    a.replace("Today", "오늘은")
    -> '오늘은 is 5-27' , ( 단어 바꾸기 )

*리스트 자료형 : 원하는 자료를 목록으로 만들어서 사용

[ 수정, 삭제, 추가, 정렬 가능 ]

  • 리스트명 = [ 요소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리스트의 요소 가져오기 )

리스트[ ] : 원하는 자료를 목록으로 만들어서 사용 [ 수정, 삭제, 추가, 정렬 가능 ]


튜플( ) : 원하는 자료를 고정목록으로 만들어서 사용

( 값을 바꿀 수 없음, 삭제안됨 )

  • a = ( )
    b = (1,)
    c = (“a”, ”b”, ”c”)
    d = (1, 2, “c”, ”d” )
    e = (1, 2, (“a”, ”b” ) )
- 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 슬라이싱 가능 )
  • tuple 합치기와 반복하기 가능

딕셔너리{a:1} : 원하는 자료를 목록으로 만들어서 사용

( 이름 = 홍길동( 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 값 찾기 )

*집합(교집합, 합집합, 차집합 ) , set

- 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} , ( 특정 값 제거 )

*불(bool) 자료형 참, 거짓

True / False

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

0개의 댓글