노마드 코더 phython 강의 2일차 정리

야무GYM·2023년 2월 9일
post-thumbnail

2023 - 01 - 30

1. if문

if 문의 기본적인 구조는

if 조건문:
  수행할 코드(A)
else:
  수행할 코드(B)

이런 식인데, 여기서 조건문은 Boolean이다. 따라서, if 문은 조건문이 참인 경우에만 실행된다. 만약 여기서 조건문이 true로 판명된다면, A코드를 실행할 것이고, 조건문이 false로 판명된다면, 나머지 경우인 else로 넘어가 B코드를 실행할 것이다.

조건문은 하나 뿐만이 아니라 elif로 여러가지를 사용할 수 있다.
더불어 조건문이 false인 경우로 사용하고 싶으면, if not 조건문이라고 하면 된다.

if a > 10:
  코드A
elif a > 5 and a <=10:
  코드B
else:
  코드C

2.사용자에게 직접 값을 받아낼때 쓰는 함수

input()함수를 이용하면, 사용자가 직접 값을 입력할 수 있다.

a = input("원하는 숫자를 입력하세요.")

print("입력하신 숫자는",a,"입니다.")

3. type을 바꾸는 방법

string 숫자를 int 숫자로 바꾸는 방법
정수로 변환 - int()
실수로 변환 - float()
문자열로 변환 - str()
문자로 변환 - chr()
불리언으로 변환 - bool()

이지만, 아직 실습해 보지 못한 관계로 다음에 자세히 적어보도록 하겠다.

4. 외부 모듈에서 import 하는 방법

ex) random 모듈에서 randint, random 함수를 쓰고 싶다.

from random import randint, random

이걸 코드 맨 윗줄에 쓰고 시작하면 된다.

5. 스크립트(quote)를 하는 방법

한줄에는 #을 써 넣으면 된다. 하지만 다음 줄로 넘어가면 그 내용은 처리되지 않는다.
단 전체를 무시하려면 쌍따움표 3개씩을 끼고 있으면 된다.

from random import randint #스크립트 내용
스크립트 처리 되지않음.
"""
print("Welcome to World")  - 이 안에는 모두
choice = randint(1, 50)    - 스크립트 표시가 됨.
"""

6. method 사용

object(객체)와 연관되어 사용되고, 사용하고자 하는 대상이 . 으로 연결되어 있어야 한다.

str,float,list와 같은 자료형은 모두 객체이므로 이러한 자료형과 연관되어 사용되는 것은 메소드로 볼 수 있다.

ex) .append() : 요소의 마지막에 새로운 요소를 추가시켜준다.
.apper() : 문자열 전체를 대문자로 바꿔준다.
.pop() : list나 tuple에서 요소를 지워준다.
.endswitch() : 어떤 글자로 끝나는지 확인한다. true or false로 나타남.

7. data structure

data structure는 data를 구조화 하고 싶을 때 사용하는 것이다.
phython에서 배워야할 data structure에는 3가지가 있다.
1. list
2. tuple
3. dictionary

먼저 list에 대해 알아보자, list는 여러가지 요소들을 나열한 집합체를 의미한다.
각 요소별로 주소가 정해져 있으며 이를 이용해 여러가지 작업에 용이하다.

number = [1, 2, 3, 4, 5, ...]

< list >

list의 method 종류들을 보면

⦁ count(내 list의 특정 value가 몇개 있는지 알려준다.)
⦁ clear(list에 있는 모든 value들을 없앤다. list에게 mutate를(modify) 한것이다.)
⦁ reverse(list의 value들을 앞뒤 순서 바꿔버린다.)
⦁ append(list에 value을 추가할 수가 있다.)
⦁ remove(list에 특정 value을 없엘 수가 있다.)

< tupele >

number = (1, 2, 3, 4, 5, ...)

⦁List와 Tuple의 차이점은 List는 배열을 []로 표현하고 method로 변화를 줄 수 있고, Tuple은 배열이 ()로 표현하고, 불변성을 가지고 있다. 그렇기에 tuple의 method는 remove()나 clear()가 없다.

⦁Tuple, List 모두 인덱스를 -로 호출 할 수 있다.
list[-1]로 하면 맨 끝이 호출된다.

< dictionary >

dictionary란, 사전이라는 뜻을 가지고 있는데, 단어와 뜻이 있는 사전처럼 key와 value를 한 쌍으로 저장하는 자료형이다.
dictionary 안에 list, tuple은 물론 dictionary도 넣을 수 있다.
호출을 할때는 []안에 'key'(따움표 중요)를 넣어서 호출해야 한다.

player = {              #player라는 이름의 dictionary 생성.
  'name' : 'James',  #'name'은 key, 'James'은 value 
  'age' : 28,
  'alive' : True
}

player['name'] #호출

pop()은 key를 지워버리는 method

player = { 
  'name' : 'James',
  'age' : 28,
  'alive' : True
}
print(player)
print(player.pop('alive'))

이에 대한 출력결과는 이러하다.

{'name':'James', 'age':28, 'alive':True}
{'name':'James', 'age':28}					#alive key가 삭제됨.

dictionary 안의 tuple은 수정은 할 수 없어도 다른 요소로 대체하는건 가능하다.

8. for - in 문

for - in 문은 data structure를 이용해 코드를 반복사용 할 수 있다.
loop의 횟수와 자료의 개수는 동일하다.

websites = (
"google.com",
"airbnb.com",
twitter.com",
"facebook.com",
tictok.com"
)

for website in websites:
  print(website)

이 코드에서 for website in websites 는 websites라는 tuple의 길이만큼 코드를 반복하게 된다. 여기서 website는 임의로 정한 단어로 흔한 관습에는 list나 tuple을 만들 때 이름에 복수형을 사용하기 때문에 그 단수형을 적어준 것이다.

하지만 이 부분은 아무 단어나 써도 상관이 없다.
첫 번째 loop는 "google.com"이고 website는 "google.com"이 된다.
마찬가지로, 두 번째 loop는 "airbnb.com"이고, website 역시 "airbnb.com"가 된다. 따라서 website든, site든 아무단어나 써도 코드는 돌아간다.

0개의 댓글