컴퓨터 메모리에 저장된 값을 가르키는 것
ex)
A = 2 // 숫자 B = '2' // 문자열 C = str(2) // 문자열 print(A+B) // 에러 print(B+C) // '22'출력
문자열 + 문자열은 가능하지만 숫자 + 문자열은 안됨
text = 'abcdefghijk' result = text print(result) // 'abcdefghijk'출력 text = 'abcdefghijk' result = len(text) print(result) // 11출력 text = 'abcdefghijk' result = text[:3] print(result) // 'abc'출력 text = 'abcdefghijk' result = text[3:] print(result) // 'defghijk'출력 text = 'abcdefghijk' result = text[3:8] print(result) // 'defgh'출력
이경우에는 많이 쳐보면서 즉각 수정하면서 하는게 더 효율적!
myemail = 'abc@sparta.co' result = myemail.split('@') print(result) // ['abc', 'sparta.co']출력 -> 'abc'가 0번째 'sparta.co'가 1번째 myemail = 'abc@sparta.co' result = myemail.split('@')[1].split('.')[0] print(result) // 'sparta'출력
값을 담는 방법에 따라 나뉨
순서가 중요하게 값을 담음
a_list = [2,'배',False,['사과','감']] // 숫자, 문자, 참거짓, 리스트도 담을 수 있음 print(a_list) // [2,'배',False,['사과','감']]출력 print(a_list[3][1]) // '감'출력 a_list.append(99) // list 마지막에 99 추가 print(a_list) // [2,'배',False,['사과','감'],99]출력 result = a_list[-1] print(result) // 99(제일마지막)출력 result = len(a_list) print(result) // 5(길이)출력 b_list = [1,5,6,3,2] b_list.sort() print(b_list) // 1,2,3,5,6(오름차순)출력 - 문자는 안됨 b_list.sort(reverse=True) print(b_list) // 6,5,3,2,1(내림차순)출력 result = (5 in b_list) // 값 찾기 print(result) // True출력 5가 들어있지 않으면 False출력(값 찾기)
key:value로 값을 담음
a_dict = {'name':'bob','age':27,'friend':['영희','철수']} result = a_dict['name'] print(result) // bob출력 result = a_dict['friend'] print(result) // ['영희','철수']출력 result = a_dict['friend'][1] print(result) // 철수 출력 a_dict['height'] = 180 print(a_dict) // {'name':'bob','age':27,'friend':['영희','철수'],'height':180}출력 result = ('height' in a_dict) print(result) // True출력
people = [ {'name':'bob','age':27}, {'name':'john','age':30} ] print(people[1]['age']) // 30 출력
ex)
people = [ {'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}}, {'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}}, {'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}}, {'name': 'john', 'age': 34, 'score':{'math':75,'science':100}} ] result = people[2]['score']['science'] print(result) // 90 출력
조건을 만족했을 때만 특정 코드를 실행하도록 하는 문법
조건을 만족하지 않을 때 다른 코드를 실행
money = 5000 if money > 3800: print("택시 타자!") // 들여쓰기를 해야지 if에 포함됨 else: print("택시를 못타~") // if 조건에 부합하지 않으면 둘 다 출력 print("그럼 뭘타지?")
money = 5000 if money > 3800: print("택시 타자!") // 들여쓰기를 해야지 if에 포함됨 else: print("택시를 못타~") print("그럼 뭘타지?") // 택시 타자!(if 포함), 그럼 뭘타지?(아무곳도 포함x) 두개 출력!
다양한 조건을 판단할 때 사용
age = 27 if age < 20: print("청소년입니다.") elif age < 65: print("성인입니다.") else: print("무료로 이용하세요!") // 성인입니다. 출력
파이썬에서 반복문은 리스트 안의 요소를 하나씩 꺼내서 사용하는 것이 자연스러움
fruits = ['사과', '배', '감', '귤'] for fruit in fruits: print(fruit)
ex)
people = [ {'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}, {'name': 'john', 'age': 7}, {'name': 'smith', 'age': 17}, {'name': 'ben', 'age': 27}, {'name': 'bobby', 'age': 57}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25} ] for person in people: name = person['name'] age = person['age'] if age > 20: print(name, age) // carry 38, ben 27, bobby 57, red 32, queen 25 출력
people = [...] for i, person in enumerate(people): name = person['name'] age = person['age'] print(i, name, age) if i > 2: break // 0 bob 20, 1 carry 38, 2 john 7, 3 smith 17 출력 2보다 커지는 시점이 3이기때문에 3까지 출력하고 멈춤
반복문과 조건문은 많은 예시를 거치면서 알고리즘적 공부를 해야함 (많이 경험해보기)
함수는 반복적으로 사용하는 코드들에 이름을 붙여놓은 것
def hello(): print("안녕!") print("또 만나요!") hello() //안녕!, 또 만나요! 출력 hello() //안녕!, 또 만나요! 출력
조건문에 넣을 값을 바꿔가면서 결과를 확인
def bus_rate(age): if age > 65: print("무료로 이용하세요") elif age > 20: print("성인입니다") else: print("청소년입니다") bus_rate(27) // 성인입니다 출력 bus_rate(10) // 청소년입니다 출력 bus_rate(72) // 무료로 이용하세요 출력
결과 값을 돌려주는 함수
def bus_fee(age): if age > 65: return 0 elif age > 20: return 1200 else: return 0 money = bus_fee(28) print(money) // 1200 출력
언어의 기본적인 형태는 다 다르니 외우기 보단 사용할 때마다 찾아서 기억하는 편이 좋을 것 같고(대체적으로 구조는 비슷해보임) 먼저는 알고리즘적인 문제를 해결하는 방식을 공부하는 것이 좋을 것 같다.
반복문은 진짜 많이 해보는게 답이더라구요 ㅎㅎ