파이썬 문법

kinghong97·2021년 12월 13일
0

파이썬

목록 보기
1/1

변수

값을 담는 상자와 같다

A = 3
b = "bob"

이렇게

숫자 자료형

사칙연산가능

a+b
a-b
a/b
a*b

a = a + 1

이건

a += 1 이랑 같다

a//b 몫 구하기
a%b 나머지 구하기
a**b 거듭제곱 하기

Bool 자료형

True False

참 거짓

not a 참을 거짓 거짓을 참으로 바꾼다

a and b 둘 다 참이어야 참

a or b 둘 중 하나 참이면 참

문자열 다루기

문자열도 더하기가 가능하다

문자와 정수는 더하지 못한다

len()을 사용하면 길이 구하기 가능

메소드가 많다

split(" ")~를 기준으로 나눈다

replace("","")~를 ~로 바꾼다

인덱싱과 슬라이싱

a = "123456"

a[:3]

1234

a[3:]

56

a = "123.456"

a.split(".")[1]

456

리스트와 딕셔너리

리스트

순서가 있는 다른 자료형들의 모임

문자열처럼 인덱싱 슬라이싱 가능

리스트에 더하기

list.append(5)

정렬하기

list.sort()

역순

list.sort(reverse=True)

딕셔너리

키와 밸류로 이루어진 자료의 모음

person = {"name":"hong", "age":25}

키 name age
밸류 hong 25

인덱싱은 불가능

딕셔너리 밸류로 모든 자료형 가능

리스트 안에 딕셔너리로 자료를 정리하는데 쓰임

조건문

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

age = 25

if age > 20
print("성인")

else 와 elif

else 는 그외 의 것

elif는 if 의외에 조건을 붙힐 때

반복문

for문

챔피언 = ['가렌','그라가스','갈리오']

for 챔 in 챔피언:
print(챔)

리스트안에서 하나씩 꺼내 프린트한다

enumerate, break

for i, 챔 in enumerate(챔피언):
print(i, 챔피언)
if i == 1
break

i는 인덱스번호

함수

반복적으로 사용하는 코드의 이름을 붙여놓은 것

def hello():
print("안녕")

조건문에 넣을 값을 바꿔가면서 결과를 확인할 때 쓰면 편하다

def old(age):
if age> 100:
print("old")
else:
print("young")

return을 사용하면 값을 돌려주는 함수를 만들 수 있다

def old(age):
if age> 100:
return "old"
else:
return "young"

튜플

리스트와 비슷하지만 불변 순서는 존재

집합

중복제거가 쉽다

a = [1,2,1,2,1,2]

print(set(a))

[1,2]

교집합 합집합 차집합 구하기 가능

a&b 교집합

a | b 합집합

a - b 차집합

f-string

변수를 문자열에 대입하는 기능

f"{name}아 너는 {age}살 이구나" 이렇게 사용

예외처리

try - except 문

try 시도하고 오류가나면 except가 실행된다

파일 불러오기

같은 폴더의 다른 파일 불러오기
깔끔하게 정리하고 싶을때 사용하면 좋을 것 같다

from func import *

*은 모두 불러오는거

import 뒤에 특정 함수만 붙여서

특정함수만 불러올 수 있다

if문 - 삼항연산자

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

이걸

result = "짝수" if num%2 == 0 else "홀수"

이렇게 한줄로 바꾸기가 가능하다

for문 - 한방에 써버리기

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

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

이 for 문을

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

b_list = [a*2 for a in a_list]

이렇게 간단하게 가능하다

map

리스트 전체를 조작하기 좋다

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

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

이걸 삼항연산자를 사용해서

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

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

이걸 람다함수를 이용해서

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))

map과 비슷하다

함수 심화

함수에 인수를 넣을 때 어떤 매개변수에 언떤 값을 넣을지 정하기 가능

이때 순서는 상관 없다

def func(a,b):
print(a + b)

func(b = 1 , a = 3)

특정 매개변수에 디폴드 값을 지정가능

def func(a,b=3):
print(a + b)

인자 값이 안들어왔을때 b는 3이된다

입력값의 개수를 지정하지 않고 모두 받기

def func(*args):

들어오는 모든 값에 개수에 제한이 없음

키워드 인수를 여러 개 받기

def func(**kwargs):

class

객체에 속성과 함수를 넣어주고 함수를 사용해서 제어한다

class Monster():
hp = 100
alive = True

def damage(self, attack):
    self.hp = self.hp - attack
    if self.hp < 0:
        self.alive = False

def status_check(self):
    if self.alive:
        print('살아있다')
    else:
        print('죽었다')

m = Monster()
m.damage(120)

m2 = Monster()
m2.damage(90)

m.status_check()
m2.status_check()

여기까지

0개의 댓글