TIL 7. Python 문법

isk·2022년 11월 8일
0

TIL

목록 보기
7/122
post-custom-banner

python의 문법은 js 문법과 다른 부분이 있다.

js에는 const, let이 붙지만 파이썬에는 붙지 않고, 세미콜론(;)을 붙이지 않는다.
console.log()대신 print()를 사용하며, if (조건문) {실행문} 대신 if 조건문: 실행문 을 사용한다.

python도 JS처럼 변수, 숫자형, 자료형, boolean, 함수 등이 존재한다. (모든 언어가 그렇겠지만..)

변수선언

변수명 = 값

a = 3        # a에 3을 넣는다.
b = a        # a에 들어 있는 값인 3을 b에 넣는다.
a = 5        # a에 5라는 새로운 값을 넣는다.
c = 'a'		 # c에 a라는 문자를 넣는다.

인덱싱, 슬라이싱

문자열의 자리를 인덱스라고 하며 이것을 부를 때 인덱싱이라고 한다.

f = "abcdefghijklmnopqrstuvwxyz"

f[1] # b

문자열의 일부를 잘라내는 것을 슬라이싱이라고 한다.

f = "abcdefghijklmnopqrstuvwxyz"

f[3:15]  # defghijklmno         

f[3:]    # defghijklmnopqrstuvwxyz    
f[:5]    # abcde               

f[:]     # abcdefghijklmnopqrstuvwxyz  

특정 문자를 기준으로 자르고 싶을 때는 JS처럼 split('문자열')을 사용하면 된다.

email = 'abc@google.com'

domain = email.split('@')[1].split('.')[0]
print(domain) # google

리스트(js.배열)

a = [1, 5, 2]
b = [3, "a", 6, 1]
c = [] # 비어있음
d = list() # 비어있음
e = [1, 2, 4, [2, 3, 4]]

len()을 사용해서 길이를 잴 수 있다.

a = [1, 2, 3, 4]
print(len(a))   # 4

b = [1, 2, [9, 0], 4, 1]
print(len(b))   # 5

인덱싱과 슬라이싱을 사용할 수 있다.

딕셔너리(js.객체)

딕셔너리는 키(key)와 밸류(value)의 쌍으로 이루어진 모임이다.

kim = {'age' : 20, 'name' : 'eric'}

딕셔너리를 만드는 여러가지 방법

a = {"one":1, "two":2}
a = {} # 비어있음
a = dict() # 비어있음

딕셔너리에는 순서가 없기 때문에 인덱싱 사용 불가능

person = {"name":"Bob", "age": 21}
print(person[0])   # 0이라는 key가 없으므로 KeyError 발생!

딕셔너리와 배열의 조합

people = [{'name': 'kim', 'age': 22}, {'name': 'park', 'age': 32}]

# people[0]['name']의 값은? 'kim'
# people[1]['name']의 값은? 'park'

cat = {'name': 'soondoo', 'age': 1}
cat.append(person)

# people의 값은? [{'name':'kim','age':22}, {'name':'park','age':32}, {'name':'soondoo','age':1}]
# people[2]['name']의 값은? 'soondoo'

조건문

파이썬은 JS와 다르게 들여쓰기가 매우 중요하다.

  • if문
money = 3000
if money > 2800:
    print("걸어가")
  • else와 elif
a = 5
if a < 4:
    print("a < 4")
elif a < 7:
    print("a < 7")
else:
    print("a > 8")

반복문

파이썬 반복문은 for in을 사용한다.

fruits = ['사과', '배', '감', '귤']

for fruit in fruits:
    print(fruit)
    
# 사과
# 배
# 감
# 귤

함수

def hello():
	print("Hi")
    print("Hello")


hello()
# Hi
# Hello

튜플 - 심화

리스트와 비슷하지만, 불변. [] 대신 () 사용.

a = (1,2,3)
a[0] = 99 # 불가능

f-string - 심화

print(name+'는 '+age+'살 입니다') # 일반적인 코드
print(f'{name}{age}살 입니다') # f-string 사용 코드

파일 불러오기 - 심화

# main.py

from func import *

say_hi()
# func.py

def say_hi():
	print('Hi!')

if문, for문 한 줄에 쓰기.

  • if문
result = "짝수" if num%2 == 0 else "홀수"
  • for문
b_list = [a*2 for a in a_list]
post-custom-banner

2개의 댓글

comment-user-thumbnail
2022년 11월 9일

벨로그 글을 여러개쓰시면서 잘 활용중이시네요
매일 하나만 쓰라는법은 없지요! 지금처럼 나눠서 쓰시는것도 너무좋습니다

1개의 답글