-
[포스코x코딩온] 스마트 팩토리 과정 11주차 회고 | python(장점, 키워드,주석,출력,문자열 함수,문자열 인덱싱,입력,리스트)카테고리 없음 2023. 6. 3. 17:29
Python에 대한 개념들에대해서 첫번째 정리를 진행하겠습니다.
1. Python 장점
- 코드가 간겨라고 문법이 쉽습니다.
- 다양한 분야 활용 가능합니다.
- Ex. 웹 개발, 해킹 도구, AI, 데이터 분석 등
- C, C++, JAVA 등 다른 프로그래밍 언어와 쉽게 통합할 수 있습니다.
- 많은 기능들을 갖고 있는 라이브러리가 풍부해 그대로 가져다가 사용할 수 있어 쉽게 개발이 가능합니다.
2. 키워드
- 특정한 의미가 부여된 단어입니다.
- Python이 만들어질 때 예약해 놓은 것입니다.
- 이미 특정 기능을 수행하고 있기 때문에, 사용자가 이름을 정할 때 키워드를 사용하면 안됩니다.
- 코드 전용 에디터에서 구분해 줍니다.
import keyword print(keyword.kwlist)
위와 같은 단어의 이름을 가진 변수는 선언하지 않도록 합니다!
3. 주석
- 프로그램의 진행에 전혀 영향을 주지 않는 코드입니다.
- 프로그램을 설명하기 위해 사용됩니다.
- 한문장 처리 - # 사용
- 긴문장 처리 - 쌍 따옴표(") or 단 따옴표(') 사용

4. 출력
- print() : 메시지 출력 기능을 담당하는 함수
# 출력 방법 ## 한문장에 다넣을 수 있음 print('첫번째 출력 : ab cd') ## 쉼표(,) 로 구분하여 출력가능 이때 쉼표(,)는 띄워쓰기로 인식 print('두번째 출력', ':','ab', 'cd') ## 그냥 붙이고 싶으면 sep=""으로 설정하기 print('세번째 출력',':','ab','cd', sep="") ## 한문장으로 붙이고 싶을때 print('네번째 출력 :','ab', end="") print('cd') ## f-string 사용 name = '메마필' print(f'안녕하세요 {name}입니다')
5. 문자열 함수
- len() : 문자열의 문자 개수를 반환합니다. 이를 문자열 길이라고도 부릅니다.
- count() : 찾는 문자열이 몇 개가 들어있는지 개수를 반환합니다.
- upper() : 문자열을 알파벳 대문자로 반환합니다.
- lower() : 문자열을 알파벳 소문자로 반환합니다.
- swapcase() : 문자열 알파벳을 소문자->대문자, 대문자->소문자로 반환합니다.
- find(), rfind() : 왼쪽, 오른쪽부터 찾는 문자열의 위치를 찾아줍니다.
- 문자열이 여러개인 경우 처음 등장하는 위치를 찾아줍니다.
- 찾지 못했을 시 -1을 반환합니다.
- split() : 문자열을 구분자(공백, 특정문자)를 지정하여 나누어 리스트로 반환합니다.
example = "Hi, My name is maemafil. 잘부탁드립니다." # len() : 문자열의 개수를 반환합니다. (공백, 특수 문자로 개수로 인식) print("문자열 길이 :",len(example)) # 쉼표, 공백, 마침표 포함 모든 문자 개수 # count() : 찾을 문자열이 몇 개 들어있는지 개수를 반환합니다. ## 해당 문자를 찾지 못하면 0을 반환 print("찾는 문자열1 개수 :",example.count('name')) print("찾는 문자열2 개수 :",example.count('홍길동')) # upper() : 문자열을 알파벳 대문자로 반환합니다. print("문자열 대문자 변환 :",example.upper()) # lower() : 문자열을 알파벳 소문자로 반환합니다. print("문자열 소문자 변환 :",example.lower()) # swapcase() : 문자열을 알파벳을 소문자를 대문자로, 대문자를 소문자로 반환합니다. print("문자열 소문자/대문자 스위칭 변환 :",example.swapcase()) # find(), rfind() : 왼쪽, 오른쪽부터 해당 문자의 위치를 찾아줍니다. ## 문자가 여러 개인 경우 처음 등장하는 위치 찾음 ## 해당 문자를 찾지 못하면 -1을 반환 print("찾는 문자열1 위치 :",example.find('name')) print("찾는 문자열2 위치 :",example.find('홍길동')) # split() : 문자열을 구분자(공백, 특정문자)를 지정하여 나누어 리스트로 반환 print("공백으로 문자열 분리 : ",example.split(" ")) print("쉼표(,)으로 문자열 분리 : ",example.split(",")) print("마침표(.)으로 문자열 분리 : ",example.split("."))
6. 문자열 인덱싱
- 원소의 위치, 순서를 인덱스라고 부릅니다.
- 인덱스 번호는 0부터 시작합니다.
- 문자열 슬라이싱
- 슬라이스 치즈처럼 문자열에서 범위를 지정해 일부를 잘라내는 것입니다.
- 문자열[ 시작 위치 : 끝 위치 ] - 끝위치전까지 출력하고 끝위치는 출력하지않습니다.
안 녕 하 세 요 ? 메 마 필 0 1 2 3 4 5 6 7 8 9 # 문자열 인덱싱. slice example = "안녕하세요? 메마필" # 시작 0부터 5개를 출력하겠다는 의미 . 즉 0~4까지 출력해줍니다. print("1 :",example[0:5]) # 시작을 선언 안 할때는 체일 처음부터 시작. 즉 0 print("2 :",example[:5]) # 시작을 5부터 문자열 끝까지 출력하겟다는 의미 print("3 :",example[6:]) # 문자열의 제일 끝기준 첫번째 글자를 출력 print("4 :",example[-1]) # 문자열 제일끝기준 3번째 글자부터 끝까지 출력 print("5 :",example[-3:])
7. 입력
- 메시지 입력 기능을 담당하는 함수입니다.
- 사용자마다 다른 값을 입력 받아서 사용합니다.
- input("입력창에 출력되는 문자열")
- input으로 입력 받는 값은 무조건 문자열입니다.
# 입력 name = input("이름을 입력해주세요 :") print(f"1 : 나의 이름은 {name}입니다.") # 다중 입력 fruit1, fruit2 = input("과일 이름을 입력해주세요 :").split() print("2 : 첫번째 과일은",fruit1) print(f"3 : 두번째 과일은 {fruit2}") # 정수형으로 입력 받기 - 형변환 이용 age = int(input("나이를 입력해주세요 :")) print("4 : 나이는 ",age) # 정수형으로 다중 입력 받기 - map 이용 fruit1_n, fruit2_n = map(int,input("과일의 갯수를 입력해주세요").split()) print(f'5 : {fruit1}의 개수는 {fruit1_n}') print(f'6 : {fruit2}의 개수는 {fruit2_n}')
8. 리스트
- 새로운 항목 추가/삭제 가능합니다.
- 항목에 대한 순서가 있습니다. → 모든 요소는 번호(인덱스)를 갖습니다.
- 항목 검색 가능합니다. → 인덱스 번호로 특정 가능합니다.
- 같은 자료형일 필요가 없습니다. → 숫자형, 문자열을 같이 넣어서 사용 가능합니다.
- 기능
- 덧셈(+) : 두개의 리스트를 더하여 하나의 리스트로 만들 수 있습니다.
- 곱셈(*) : 한개의 리스트에 정수를 곱해서 개수를 정수의 수치만큼 생성해줍니다.
- len() : 리스트의 요소의 개수를 반환해줍니다. 이를 리스트의 길이라고도 부릅니다.
- append() : 리스트에 요소를 추가해줍니다.
- insert() : 리스트의 특정 인덱스에 요소를 삽입합니다.
- remove() : 리스트 안의 해당하는 값을 삭제합니다.
- pop() : 리스트 안의 제일 마지막 값을 반환하고 리스트에서 삭제합니다.
- index() : 리스트 안의 해당값이 위차한 인덱스 번호를 반환해줍니다.
- del list변수[인덱스] : 리스트안의 해당 인덱스 번호에 있는 값을 삭제합니다.
- count() : 리스트안의 해당 값이 몇개가 있는지 반환해줍니다.
- sort() : 리스트를 정렬해줍니다.
example_list = [1,2,3,4,5] add_list = [6,7] #리스트간의 덧셈(+) ,곱셈(*)이 가능합니다. print("01.덧셈 :",example_list+add_list) print("02.곱셈 :",example_list*2) example_list = [1,2,3,4,5]*2 #len(list변수) : 리스트의 요소들의 개수들을 출력해줍니다. 이를 리스트의 길이라고 부릅니다. print("03.길이 :",len(example_list)) #list변수.append() : 리스트 제일 끝에 데이터를 추가해줍니다. example_list.append(10) print("04.추가 :",example_list) #list변수.insert(인덱스, 값) : 리스트 특정 위치에 데이터를 추가해줍니다. example_list.insert(0,100) print("05.삽입 :",example_list) #list변수.remove() : 리스트 안에서 삭제할 값이 있으면 제일 앞쪽데이터를 삭제시킵니다. example_list.remove(100) print("06.삭제(데이터) :",example_list) #list변수.pop() : 제일 마지막에 들어온 값을 반환하면서 리스트에서 삭제합니다. print("07.추출 :",example_list.pop(),",",example_list) #list변수.index() : 리스트 안의 해당값이 몇번쨰 인덱스에 존재하는지 반환해줍니다. print("08.위치 :",example_list.index(5)) #del list변수[인덱스번호] : 인덱스 위치 값을 삭제합니다. 인덱싱으로 다수개의 값도 삭제가능합니다. del example_list[4] print("09.삭제(인덱스) :",example_list) #list변수.count() : 해당 값이 리스트에 몇개 있는지 출력해줍니다. print("10.개수 출력 :",example_list.count(3)) #list변수.sort() : 리스트 안의 데이터를 정렬해줍니다. example_list.sort() print("11.정렬 :",example_list)