가수면

Python 함수 본문

Python/Python

Python 함수

니비앙 2022. 10. 18. 19:10

-파이썬-

우클릭 후 실행 권장(상단의 실행이나 실행창의 실행 버튼을 누를 경우 다른 파일이 실행될 수가 있음)

 


*문자열 더하기*
a = 2
b = 1
print(a+b)
3

a = 'jihyeon'
b = 'choi'
print(a+b)
jihyeonchoi

 


*리스트*
a_list = ['사과','배','감']
print(a_list[0])
사과

.index(값)

값에 해당하는 index를 반환. 시간복잡도 n

 


*자바스크립트, 파이썬 리스트 추가*
a_list = ['사과','배','감']
a_list.append('수박') 자바스크립트에선 .push
print(a_list)
['사과', '배', '감', '수박']

 

.extend()

append는 하나로 추가하는데 extend는 전부를 추가함

a = ['Tick', 'Tock', 'Song']
b = ['Ping', 'Pong']
a.append(b)
print(a)	// ['Tick', 'Tock', 'Song', ['Ping', 'Pong']]

c = ['Tick', 'Tock', 'Song']
d = ['Ping', 'Pong']
c.extend(d)
print(c)	// ['Tick', 'Tock', 'Song', 'Ping', 'Pong']


*딕셔너리*
a_dict = {'name':'bob','age':27}
print(a_dict['name'])
bob

 


*함수*
def sum(a,b):
    return a+b
result = sum(1,2)
print(result)
3

def sum(a,b):
    print('더하자!')
    return a+b
result = sum(1,2)
print(result)
더하자!
3

 

 

*조건문*

def is_adult(age):(: = 들여쓰기. 나의 내용물입니다)
    if age > 20:
        print('성인입니다')
    else:
        print('청소년입니다')
is_adult(15)

청소년입니다

 

 

*python 반복문 예제*

(1) 리스트형

fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
for aaa in fruits:
    print(aaa)

fruits 목록 다 나옴

 

fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
count = 0
for aaa in fruits:
    if aaa ==(if aaa가 사과라면) '사과':
        count +=(카운트를 하나 늘려줘) 1
print(count)

2

 

(2) 딕셔너리형

people = [{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27}]

 

for ppp in people:
    if ppp['age'] > 20:
        print(ppp['name'])

carry
ben

 

.items()

딕셔너리의 Key, Value 쌍 얻을 수 있음

mygraph = {
    'A': {'B': 8, 'C': 1, 'D': 2},
    'B': {},
    'C': {'B': 5, 'D': 2},
}

mygraph.items()
// dict_items([('A', {'B': 8, 'C': 1, 'D': 2}), ('B', {}), ('C', {'B': 5, 'D': 2})])

심화

for adjacent, weight in mygraph.items():
    print("adjacent ::", adjacent)
    print("weight ::", weight)
//
adjacent :: A
weight :: {'B': 8, 'C': 1, 'D': 2}
adjacent :: B
weight :: {}
adjacent :: C
weight :: {'B': 5, 'D': 2}

for adjacent, weight in mygraph["A"].items():
    print("adjacent ::", adjacent)
    print("weight ::", weight)
//
adjacent :: B
weight :: 8
adjacent :: C
weight :: 1
adjacent :: D
weight :: 2

 

 

range()

range(stop): 0부터 stop-1까지의 숫자를 생성

range(start, stop): start부터 stop-1까지의 숫자를 생성

range(start, stop, step): start부터 stop-1까지 step 간격으로 숫자를 생성

for i in range(10):
    print(i)

// 0부터 9까지 출력

for i in range(1, 10):
    print(i)
    
// 1부터 9까지 출력 (시작 숫자, 마지막-1)

 

 

len()

.length

 

 

.pop()

자바스크립트의 splice와 비슷하게 동작함

my_list = ['a', 'b', 'c', 'd']
item = my_list.pop()  # 'd'를 반환하고 리스트에서 제거
item = my_list.pop(1)  # 'b'를 반환하고 리스트에서 제거

 

.sort()

.sort() - 작은 순 정렬

.sort(reverse=True) - 큰 순 정렬

 

 

.sorted(list)

튜플 형태 (x, y)라면 x순으로 정렬됨. x가 같다면 y순으로 정렬됨

.sorted(인자, key=lambda x(인자요소): x[1] / x[0], reverse=True)

key값을 설정했을 때 만약 같은 값이 있다면 원래 존재하던 순으로 정렬됨 (추가된 순)

a = [(1, 2), (5, 1), (0, 1), (5, 2), (3, 0)]

c = sorted(a, key = lambda x : x[0]) 
c	// [(0, 1), (1, 2), (3, 0), (5, 1), (5, 2)]

d = sorted(a, key = lambda x : x[1]) 
d	// [(3, 0), (5, 1), (0, 1), (1, 2), (5, 2)]

 

.enumerate()

리스트의 index와 value를 추출

.entries()같은 거.

item = ["First", "Second", "Third"] 
for val in enumerate(item): 
 	print(val) 

//
(0, 'First') 
(1, 'Second') 
(2, 'Third')

for i, val in enumerate(item): 
	print("{}번째 값은 {}입니다".format(i, val)) 

//
0번째 값은 First입니다 
1번째 값은 Second입니다 
2번째 값은 Third입니다

응용

data = [3, 6, 3, 4]
data = [(index, item) for index, item in enumerate(data)]
print(data)
# [(0, 3), (1, 6), (2, 3), (3, 4)]

 

.eval()

eval안의 문자열인 계산식을 알아서 계산해줌

eval("1+2")

// 3

 

map(function, iterable)

iterable의 모든 요소에 function을 적용

a = [1.2, 2.5, 3.7, 4.6]
b = list(map(int, a))
print(b)
# [1, 2, 3, 4]

 

구분자.join()

구분자.join(리스트)를 이용하면 리스트의 값과 값 사이에 '구분자'에 들어온 구분자를 넣어서 하나의 문자열로 합쳐줌

 

삼항연산자

print("NO" if isNo else '\n'.join(result))

 

max(), min()

iterable 자료의 요소 중 가장 큰(작은) 값을 반환

a = [1, 2, 3]
print(min(a))

# 1

key lambda 사용

a = [(0, 1), (1, 6), (2, 3)]
print(max(a, key=lambda x: x[1]))

# (1, 6)

 

배열 뒤집기

b = [6, 5, 4]
print(list(reversed(b)))

# [4, 5, 6]

'Python > Python' 카테고리의 다른 글

파이썬 내장 라이브러리  (0) 2023.11.13
Python 문법  (0) 2023.11.08
기초 문법 및 크롤링 복습  (0) 2022.10.23
Flask (API만들기)  (0) 2022.10.20
Comments