[Python] TIL 02

22343 단어 pythonpython

💾슬라이싱
-처음부터나 끝까지 하는 경우 공백으로 비워도 상관 없다.
-처음부터 셀때는 인덱스가 0부터이지만, 끝에서부터 셀때는 인덱스가 -1부터이다.

jumin = "990120-1234567"

print("성별: " + jumin[7])
print("연: " + jumin[0:2]) # 0부터 2 직전까지 (0,1)
print("월: " + jumin[2:4])
print("일: " + jumin[4:6])
print("생년월일: " + jumin[:6]) # 처음부터 6 직전까지
print("뒤 7자리: " + jumin[7:]) # 7부터 끝까지
print("뒤 7자리 (뒤에서부터): " + jumin[-7:])
#맨 뒤에서 7번째부터 끝까지

💾문자열 처리 함수
-find에서는 원하는 값이 변수에 없을 때 -1이 출력된다. 반면, index에서는 원하는 값이 없을 때 오류를 출력하면서 프로그램을 종료한다.

python = "Python is Amazing"
print(python.lower()) # 문장을 소문자로 바꿔줌
print(python.upper()) # 문장을 대문자로 바꿔줌
print(python[0].isupper()) # 해당 문자열이 대문자인지 판별해줌 (bool타입)
print(len(python)) # 문자열의 길이를 알려줌
print(python.replace("Python", "Java")) # 문자열 안에 있는 값들을 바꿀 수 있음

index = python.index("n") # 어떤 문자가 어느 위치에 있는지 알려줌
print(index)
index = python.index("n", index + 1) # 해당 인덱스부터 위치 탐색을 시작함
print(index)

print(python.find("n")) # 해당 문자가 포함된 위치를 알려줌
print(python.find("Java")) # 원하는 값이 변수에 포함되지 않은 경우 -1이 출력됨

print(python.count("n")) # n이 변수에서 총 몇번 등장하는지 갯수를 세어줌


💾문자열 포맷
-%s로만 쓰면 정수형이든 문자형이든 상관없이 값출력이 가능하다.
-아래와 같이 여러가지 방법이 있다.

# 방법1
print("나는 %d살입니다." % 20)
print("나는 %s을 좋아해요" % "파이썬")
print("Apple은 %c로 시작해요." % "A") # 한글자만 받겠다!

print("나는 %s살입니다." % 20)
print("나는 %s색과 %s색을 좋아해요" % ("파란", "빨간"))

# 방법2
print("나는 {}살입니다.".format(20))
print("나는 {}색과 {}색을 좋아해요".format("파란", "빨간"))
print("나는 {0}색과 {1}색을 좋아해요".format("파란", "빨간"))
# format 뒤에 있는 값들을 0번째 1번째로 생각해서 각각 순번에 맞게 실행이 됨
print("나는 {1}색과 {0}색을 좋아해요".format("파란", "빨간"))

# 방법3
print("나는 {age}살이며, {color}색을 좋아해요".format(age = 20, color = "주황"))
print("나는 {age}살이며, {color}색을 좋아해요".format(color = "주황", age = 20))

# 방법4
age = 22
color = "검은"
print(f"나는 {age}살이며, {color}색을 좋아해요")

💾리스트

subway = ["유재석", "조세호","박명수"]
print(subway)

print(subway.index("조세호")) 
#조세호가 몇번째 칸에 탔는가?

subway.append("하하") #하하가 다음 칸에 탐
print(subway)

subway.insert(1,"정형돈") # 유재석 조세호 사이에 태워봄
print(subway)

print(subway.pop()) # 맨 뒤에서부터 한명씩 꺼냄
print(subway)

print(subway.count("유재석")) # 같은 이름의 사람이 몇명 있는지 확인

-리스트는 정렬도 가능하다.

num_list = [5,2,4,3,1]
num_list.sort() # 순서대로 정렬해줌
print(num_list)

num_list.reverse() # 순서 뒤집기 가능
print(num_list)

num_list.clear() # 리스트 모두 지우기
print(num_list)

-다양한 자료형도 함께 사용이 가능하다.
ex) mix_list = ["조세호", 20, True]
-리스트 확장이 가능하다.
ex) num_list.extend(mix_list) -> [5,2,4,3,1,'조세호', 20, True]

💾사전 자료형

fruit = {3:"수박", 100:"딸기"} # 정수형을 통해 키 선언
# 사전 자료형 가져오는 법1
print(fruit[3]) 
print(fruit[100])

print(fruit.get(3))

fruit[5]처럼 5라는 키가 없다면 Traceback 에러가 뜨면서 종료된다.
하지만 fruit.get(5)로 작성하면 None이라고 뜨고 다음 문장을 실행한다.
fruit.get(5,"사용 가능")이라고 작성하면 5라는 값을 가져오려고 시도하고, 있으면 5를 가져오고 없으면 '사용 가능'이라고 출력된다.

사전 자료형에 값이 있는지 없는지 확인할 수 있다.

print(3 in fruit) # 3이라는 키가 fruit 안에 있는가? # True
print(5 in fruit) # False

정수 자료형 뿐만 아니라 string 자료형으로도 할 수 있다.

fruit = {"A-3":"수박", "B-100":"딸기"}

print(fruit["A-3"]) 
print(fruit["B-100"])

fruit["C-50"] = "밤" # 새로운 키 추가
fruit["A-3"] = "고구마" # 기존 키값 update
print(fruit)

del fruit["A-3"] # 키 삭제
print(fruit)

print(fruit.keys()) # key들만 출력
print(fruit.values()) # value들만 출력
print(fruit.items()) # key, value 쌍으로 출력

fruit.clear() # 모든 키 삭제
print(fruit)

💾튜플
-튜플은 add 기능 제공하지 X
-따라서 값을 추가하거나 변경은 불가하다.
-고정된 값에 대해서만 쓸 수 있고, 한번에 값 선언이 가능하다.
(name, age, hobby) = ("이지아",20,"코딩")

좋은 웹페이지 즐겨찾기