Python기초(1)

Kng_db·2022년 11월 8일
0

Python 문법 기초(1)

변수

컴퓨터 메모리에 저장된 값을 가르키는 것

문자열

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 출력

조건문

if, else, elif

if

조건을 만족했을 때만 특정 코드를 실행하도록 하는 문법

else

조건을 만족하지 않을 때 다른 코드를 실행

money = 5000

if money > 3800:
    print("택시 타자!")		// 들여쓰기를 해야지 if에 포함됨
else:
	print("택시를 못타~")     // if 조건에 부합하지 않으면 둘 다 출력
    print("그럼 뭘타지?")
money = 5000

if money > 3800:
    print("택시 타자!")		// 들여쓰기를 해야지 if에 포함됨
else:
	print("택시를 못타~")

print("그럼 뭘타지?")			// 택시 타자!(if 포함), 그럼 뭘타지?(아무곳도 포함x) 두개 출력!

elif

다양한 조건을 판단할 때 사용

age = 27
if age < 20:
    print("청소년입니다.")
elif age < 65:
    print("성인입니다.")
else:
    print("무료로 이용하세요!")		// 성인입니다. 출력

반복문

파이썬에서 반복문은 리스트 안의 요소를 하나씩 꺼내서 사용하는 것이 자연스러움

for, while

for

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 출력

언어의 기본적인 형태는 다 다르니 외우기 보단 사용할 때마다 찾아서 기억하는 편이 좋을 것 같고(대체적으로 구조는 비슷해보임) 먼저는 알고리즘적인 문제를 해결하는 방식을 공부하는 것이 좋을 것 같다.

profile
코딩 즐기는 사람

1개의 댓글

comment-user-thumbnail
2022년 11월 9일

반복문은 진짜 많이 해보는게 답이더라구요 ㅎㅎ

답글 달기