PYTHON 문법 정리

lets eat honeycombo·2024년 11월 5일
0

1. 자료형

1-1. 딕셔너리

dict1 = {'name': 'Chicken', 'age':100, 'grade' : [3.0, 4.0, 4.5, 3.5]}

dict1.key()
> dict_keys(['name', 'age', 'grade'}

dict1.values()
> dict_values(['chicken', 100, [3.0, 4.0, 4.5, 3.5]])

dict1.items()
> dict_items([('name', 'Chicken'), ('age', 100), ('grade', [3.0, 4.0, 4.5, 3.5])])


#딕셔너리의 키, 값, 키-값 쌍을 나타내는 특수한 데이터 타입이므로 dict_key, dict_values, dict_items로 표현

2. 제어문

2.1 for 반복문

num_list = [1,2,3]
for num in num_list: #num_list배열 안에 있는 원소는 num
	print(num)
    
> 1
  2
  3

2-2. while 반복문

num = 1
while num < 4;
	print(num)
    num += 1

> 1
  2
  3

2-2-1. break 명령

num = 1
double = []

while True:
	double.sppend(num * 2)
    if len(double) == 3:
    	break
        num += 1
        
    print(double)
    
> [2, 4, 6]

2-2-2. continue 명령

num_range = range(1,46)
num_list = list(num_range)
print(num_list)

>[1,2,3,4,......,43,44,45] 
import random
random.shuffle(num_list)
print(num_list)

> [3,5,43,37, ..... 1~45랜덤으로 추출]
word = []
while len(word) < 7:
	random.shuffle(num_list)
    num_selected = num_list[0]
    if num_selected in word:
    	continue 			  # if문 수행 시 반복문 처음으로 돌아가서 재실행
    word.append(num_selected) #if문 수행 안될 시 실행
    print(num_selected)
print(word)

> 35
  18
  25
  43
  45
  11
  [35, 18, 25, 43, 35, 11]

2-3. 예외처리 (try ~ except)

data = {'name' : 'Chicken', 'age' : 100, 'grade' : [3.0, 4.0, 4.5, 3.5]}
try :
	print('주소', data['address'])

except:
	print('주소 정보가 없습니다.')

> 주소 정보가 없습니다.

# 딕셔너리에 'address'라는 키가 존재하면 매칭된 값 출력(try~부분)
# 오류 발생 시 (except~부분) 출력
data = {'name' : 'Chicken', 'age' : 100, 'grade' : [3.0, 4.0, 4.5, 3.5]}
try :
	print('이름', data['name'])

except:
	print('이름 정보가 없습니다.')

finally: 							#오류 발생 여부와 관계없이 반드시 실행
	print('모든 작업이 완료되었습니다.')
    
> 이름 : Chicken
  모든 작업이 완료되었습니다.

3. 함수

3-1. 람다 (lambda) 함수

def add_ont(num):
	return num + 1

answer = add_one(1)
print(answer)

> 2
add_one_list []
for x in [1, 2, 3]:
	y = add_one(x)
    add_one_list.append(y)

print(add_one_list)

> [2, 3, 4]
add_one_lambda = []
add_fuinc = lambda x:add_one_lambda.append(x+1)
for x in [1, 2, 3]:
	add_func(x)

print(add_one_lambda)

> [2, 3, 4]
new_add_func = lambda x, y:x+y
answer = new_add_func(2, 3)
print(answer)

> 5

3-2. enumerate 함수

: 리스트, 튜플 등 원소값에 순서(인덱스)가 있는 자료형을 입력받아 개별 원소를 인덱스 숫자와 함께 반환
# 아래 코드에서 for 반복문은 인덱스 위치와 원소값을 구분하여 처리할 수 있음 (i: 인덱스, num: 원소값)

for i, num in enumerate(nums):
	print(i, num)

> 0 1
  1 2
  2 3
  3 4
  4 5
  5 6
  6 7
  7 8
  8 9
  9 10

3-3. map 함수

: 여러 개의 원소를 갖는 자료형(리스트, 튜플 등)과 이들 원소를 입력값으로 받는 함수를 매개변수로 가짐
#1. 아래 코드에서 map 함수는 add_one함수와 nums(리스트)를 입력받음
#2. nums 리스트의 원소들은 하나씩 add_one 함수에 입력되고, 함수를 실행한 결과값 (1을 더한 값)이 순서대로 반환

add_one = lambda x:x+1
results = map(add_one, nums)

print(list(results))

> [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

3-4. filter 함수

: map함수와 비슷하게 반복 가능한 여러 원소를 갖는 자료형과 각 원소를 입력받을 수 있는 함수를 매개변수로 입력받음
#1. 아래 코드에서 nums 리스트의 원소들은 하나씩 even_num 함수에 입력됨
#2. even_num의 출력값이 True일 때만 filter 함수의 출력값에 포함
#3. 2로 나눈 나머지가 0이 되는 수(짝수)들만 results 변수에 저장

even_num = lambda x:x%2 == 0
results = filter(even_num, nums)

print(list(results))

> [2, 4, 6, 8, 10]

5-5. reversed 함수

: 원소 순서 정반대로 뒤집음
print(list(reversed(nums))

> [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

3-6. sorted 함수

: 배열의 순서 오름차순 정렬
sorted([3, 2, 1])

> [1, 2, 3]

3-7. zip 함수

: 원소 개수가 같은 자료형들에 대해 각 원소들을 인덱스 순서대로 매핑하여 짝지음
chars = ['a', 'b', 'c']
nums = [1, 2, 3]
pairs = zip(chars, nums)

print(list(pairs))

> [('a', 1), ('b', 2), ('c', 3)]

3-8. eval 함수

: 문자열을 압력받아 파이썬 코드로 변환하여 실행
#print(nums)를 매개변수에 전달하면 print 명령을 실행, nums 변수의 값인 리스트가 출력

eval('print(nums)')

> [1, 2, 3,4 ,5 ,6 7, 8, 9, 10]
profile
열심히해서 허니콤보 맨날 먹자 !

0개의 댓글

관련 채용 정보