Python/수업

파이썬 문법 기초 1주차_Sparta Coding Club

끈끈 2023. 3. 20. 19:34

파이썬 설치 👉 번역팩을 설치하는 것

 

변수 선언 :

변수이름 = 값 #새 변수
print(변수이름) #출력할 때

 

자료형 : 숫자형, 문자열

1) 숫자형 : 사칙연산이 가능하다

+ (더하기)

- (빼기)

* (곱하기)

/ (나누기)

// (몫)

% (나머지)

** (거듭제곱)

 

- 비트 쉬프트 연산

<< : 2배씩 늘어남

<< : 1/2씩 줄어듦

n = 10
print(n<<1) #20
print(n>>1) #5
print(n<<2) #40
print(n>>2) #2

 

 

2) 문자열 : 큰 따옴표 또는 작은 따옴표. 한 변수에서는 통일할 것

숫자형과 문자열은 더할 수 없다

not a #a의 True/False 값을 반대로 바꿔줌

a and b #a와 b 모두 참이어야 참
a or b #a와 b 중 하나만 참이면 참
print(len('abcde')) #5 문자열의 길이

 

▶ 인덱싱과 슬라이싱

text = 'abcdefghijklmnop'
result = text[4] #e 0부터 센다
result = text[:] #abcdefghijklmnop
result = text[3:7] #defg text[7]의 앞까지, 7-3=4개
print(result)

 

 문자열 자르기

myemail = 'abc@sparta.com'
result = myemail #abc@sparta.com
result = myemail.split('@') #['abc', 'sparta.com']
result = myemail.split('@')[1].split('.')[1] #com
print(result)

 

3) 불(Boolean) 자료형

True/False : 대문자 필수

 

리스트와 딕셔너리

▶ 리스트

a_list = [2, '배', False, ['사과', '감']]
print(a_list[3][1]) #감
a_list = [7, 13, 58, 104, 82]
a_list.append(99) #리스트에 99 추가
print(a_list) #[7, 13, 58, 104, 82, 99]

result = a_list[:3] #[7, 13, 58]
result = a_list[-1] #99 마지막이 출력
result = len(a_list) #6
result = (5 in a_list) #5가 리스트에 있는지 True/False로 출력
print(result)
a_list = [7, 13, 58, 104, 82]
#sorting = 정렬
a_list.sort() #[7, 13, 58, 82, 104] #오름차순
a_list.sort(reverse=True) #[104, 82, 58, 13, 7] #내림차순
print(a_list)

 

▶ 딕셔너리

a_dict = {'name':'bob', 'age':27, 'friend':['영희', '철수']}
result = a_dict['age'] #27
result = a_dict['friend'][0] #영희
print(result)

a_dict['height'] = 180
print(a_dict) #{'name': 'bob', 'age': 27, 'friend': ['영희', '철수'], 'height': 180}
print('height' in a_dict) #True

 

▶ 리스트와 딕셔너리의 조합

people = [
    {'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},
    {'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},
    {'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},
    {'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}
]
print(people[2]['score']['science']) #90

 

조건문

조건에는 불 자료형이 들어감

money = 2000
if money > 3800:
    print('택시를 타자!') #콜론(:)이 있으면 들여쓰기를 해야한다
elif money > 1200:
    print('버스를 타자!')
else:
    print('걸어가자')

 

반복문

fruits = ['사과', '귤', '수박', '딸기']

for fruit in fruits:
    print(fruit)
people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
]

for person in people:
    name = person['name']
    age = person['age']
    if age > 20:
        print(name, age)
for i, person in enumerate(people):
    name = person['name']
    age = person['age']
    print(i, name, age) #0-4까지 출력
    if i == 3:
        break #0-3까지 출력

 

함수

같은 동작을 하는 것

def sum(a,b):
    print('더하기를 하셨네요!')
    return a+b

result = sum(1,2)
print(result)
num = int(pin.split('-')[1][0]) #int('') '문자열'을 숫자로 바꾸기

 

튜플(tuple)

리스트와 비슷하지만 불변인 자료형으로 괄호로 감싸준다

 

집합(set)

중복이 제거됨

교집합, 합집합, 차집합

 

f-string

str(string) : 숫자를 문자열로 바꿔줌

f-string : f'{}'로 간단하고 직관적이게 만들기

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

 

예외 처리

try - except

for person in people:
    try:
        if person['age'] > 20:
            print (person['name'])
    except:
        name = person['name']
        print(f'{name} - 에러입니다')

 

파일 불러오기

from main_func import * #전부 가져오기
from main_func import say_hi

 

한 줄로 쓰기

(참일 때 값) if (조건) else (거짓일 때 값)

[a*2 for a in a_list] : a_list의 a를 꺼내 a*2를 해서 리스트로 만들어라

 

map, filter, lambda

lambda는 보통 x를 쓴다

filter는 map과 비슷하지만 True인 값만 뽑는다