Python 기본문법 WIL(211213)

김지용·2021년 12월 13일

파이썬강의를 들으며 새로 배운 것들

: 세미클론 말고 클론으로 끝 맺음

연산에서 제곱은 a**b

연산에서 나눈 나머지는 a%b

연산에서 a = a + b --->>> a+=b 와 같다.

list는 [] 사용

슬라이싱 [:3] 리스트 중 0번째부터 3개를 가져와 출력

튜플은 () 사용

교집합 = a & b
합집합 = a | b

f-string

scores = [
{'name':'영수','score':70},
{'name':'영희','score':65},
{'name':'기찬','score':75},
{'name':'희수','score':23},
{'name':'서경','score':99},
{'name':'미주','score':100},
{'name':'병태','score':32}
]

for s in scores:
name = s['name']
score = str(s['score'])
print(name+'의 점수는 '+score+'점입니다.')
print(f'{name}의 점수는 {score}점입니다.')

f를 넣으면 변수에 중괄호를 넣어서 편하게 적용 가능.

from 다른 파일이름 import *(모든 함수) / 함수이름

파이썬 한 줄로 줄이기

num = 3

if num%2 == 0:
result = '짝수'
else:
result = '홀수'

-------------->>>>>>>>>>>>

result = ('짝수' if num % 2 == 0 else '홀수')

print(f'{num}은 {result}입니다')

a_list = [1,3,2,5,1,2]

b_list = []

for a in a_list:
b_list.append(a*2)

-------------->>>>>>>>>>>>

b_list = [a*2 for a in a_list]

print(b_list)


람다

map

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}
]

result = map(lambda person: ('성인' if person['age'] > 20 else '청소년'), people)

print(list(result))

filter

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}
]

result = filter(lambda person: person['age'] > 20, people)

print(list(result))

함수심화

  1. def cal(*args):
    for name in args:
    print(f'{name} 받먹어라~')

result = cal('영수','철수','영희')

인자들을 원하는 만큼 무제한으로 받을 수 있음

def cal(**kwargs):
print(kwargs)

cal(name='bob',age=30,height=180)

인자들을 지정해서 넣어둘 수 있다.

객체지향적 = 중앙에서 컨트롤 하면 힘들어서 효율이 떨어지므로 물체에다가 물체에 관련된 속성들을 넣어두고 컨트롤 할수 있는 함수들을 만들어서 붙여주고 중앙에서는 그 함수만 불러다가 물체들을 제어하는 것.

함수에서 상속받은 클래스는 상위 클래스 함수에 접근 가능

profile
김죵입니당 ^^

0개의 댓글