파이썬(python)

돼지·2021년 12월 14일
0

개발공부

목록 보기
2/17

입문자가 익히기 좋은 언어라고 소개 받았으며 깊게 공부하다 보면 이렇게 어려운게 없다는 파이썬.
아직까진 입문단계이며 너무 좋다.

변수 선언
변수명 = 값
(조금전 공부했던 자바스크립트와 다르게 간결하다)

a//b #나누기
a%b #나머지
a**b #제곱
a==b #비교같다
a!=b #비교
같지않다

문자열 길이를 알아야 할 때는 len()함수를 사용한다.
그외에도 특정 자료형 뒤에 .메소드(내장함수)명을 사용할 수 있다.
문자열[숫자:숫자]로 표현하면 해당 인덱스칸의 값들을 가져올 수 있다.

리스트와 딕셔너리형이 있으며 리스트는 순서가 있기에 인덱싱이 가능하나 딕셔너리는 순서가 없기때문에 인덱싱이 불가능하다(오류발생)

리스트와 딕셔너리를 같이 쓰는 자료도 있음
변수명 = [{
...
...
...
}] 이런식으로 만들 수 있다.

조건문

age = 30
if age > 19:
	print('성인')
elsf:
	print('학생')

자바와 비슷한 조건문이지만 콜론:이 사용되며 들여쓰기를 해야 작동한다.
elif는 추가 조건을 넣기위해 사용.

반복문

for a in arr:
	print(a)

반복문은 마침을 꼭 해줘야 하는데 그렇지 않으면 무한히 반복하기 때문이다.

함수만들기

def 함수명():
	코드

이런식으로 함수를 생성하여 사용할 수 있다.

튜플(tuple)
튜플은 리스트와 비슷하지만 불변인 자료형이며 ()괄호로 표시한다.
리스트와 비슷하니 순서가 존재하며 인덱싱이 가능하다.

아래와 같이, 딕셔너리 대신 리스트와 튜플로 딕셔너리 '비슷하게' 만들어 사용해야 할 때 많이 쓰인다.

a_dict = [('bob','24'),('john','29'),('smith','30')]

집합(set)
말그대로 집합을 구현하는 방법이며 중복제거가 가능하다.


변수명_set = set(변수명)
print(a & b)  # 교집합
print(a | b)  # 합집합
print(a - b)  # 차집합

f-string
변수로 더 직관적인 문자열 만들기
(자바스크립트와 유사함)

 print(name+'는 '+ score +'점 입니다')
=>  print(f'{name}{score}점입니다')

try - except문
에러가 있을 수 있는 환경에서 사용한다.
많은 반복문을 수행하다가 한곳에 에러가 나면 멈추게 되는데 이를 이어나게가 만들어 주는 문법
그러나 너무 자주 사용하거나 남용하면 안좋을 수 있다고 한다.

파일 나누기
함수.py 파일에는 함수를 만들어 두고
메인.py 파일에 from 함수.py import *
함수명()

이렇게 쓰면 한페이지에 많이 안담고 각각 나눠 담아둘수있다.
임포트마지막에 * 은 전부다 라는뜻이며 여러 함수중 하나만 가져올수도 있다.

파이썬 조건문 한줄함축

 age = 20
 if age > 19:
 	print('성인')
 else:
 	print('청소년')
    
=> 
age = 20
result = '성인' if age > 19 else '청소년'

이렇게 줄여쓸 수 있으며 유일한 삼항연사자 조건식이다.

파이썬 반복문 한줄함축

list = [1, 3, 5]
list_a = []
for a in list:
	list_a.append(a*2)
print(list_a)

=>
list = [1, 3, 5]
list_a = [a*2 for a in list]
print(list_a)

조건문은 이런식으로 함축하여 사용한다.

map, filter, lambda식
이부분은 솔직히 이해가 잘안가는 부분이었으며 일단 보기만 하였다.

#1차 
def check_adult(person):
    if person['age'] > 20:
        return '성인'
    else:
        return '청소년'

result = map(check_adult, people)
print(list(result))


#2차_한줄함축
def check_adult(person):
    return '성인' if person['age'] > 20 else '청소년'

result = map(check_adult, people)
print(list(result))

#3차 map.lambda
result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result))


 #filter - 리스트의 모든 원소 중 특별한 것만 뽑기
result = filter(lambda x: x['age'] > 20, people)
print(list(result))

입력값의 개수를 지정하지 않고 모두 받는방법

def call_names(*args):
    for name in args:
        print(f'{name}야 밥먹어라~')

call_names('철수','영수','희재')

#이렇게 여러 개의 인수를 하나의 매개변수로 받을 때 관례적으로 `args`라는 이름을 사용합니다. arguments라는 뜻이에요!

파이썬 문법이 보기는 쉬우나 생각보다 어려운 단어들도 있었으며, 자바스크립트와 같이보니 헷갈렸다.
다만 다시 시작하라고 하면 파이썬을 좀더 빠르게 익힐거 같은 느낌이 있다.
나중에 조금 더 공부해서 코딩테스트를 풀게 된다면 주로 파이썬으로 한다고 하니 틈틈히 익혀둬야 겠다.

profile
먐미

0개의 댓글