한동안 몸이 좀 안좋아서 공부에 집중을 잘 못했다ㅠ.. 하루하루 계획한 공부량이 매일 밀려서 지금 쫌 큰일이다!!
<오늘 공부한 것>
- python 기초 강의 1시간짜리 (맛보기 용)
<주말동안 할 것>
- 김왼손 python 강의
- 야구게임 추가기능 구현하기
print()
x = 1
y = 2
.
.
- 숫자 : 정수, 소수, 사칙연산
- 문자열 : 큰따옴표 or 작은따옴표 (둘다 기능은 같다) / """로 여러 줄 입력 가능
- 불리언 : True / False
// + not / and / or
if 1>2:
print("hello)
if not 1>2:
print("world")
python은 문자 + 숫자로 사칙연산 불가능! (캐스팅 해줘야 한다)
str(숫자) -> 문자 / int(문자) -> 숫자
print("철수 : 안녕?")
print("영희 : 잘가")
print("철수 : 안녕?")
print("영희 : 잘가")
print("철수 : 안녕?")
print("영희 : 잘가")
def chat():
print("철수 : 안녕?")
print("영희 : 잘가")
chat()
chat()
function 안에 값이 들어있는 function 은 return 을 사용해주어야 한다.
실습예제 #1
def sayHello(name, age): if age <10: print("안녕," + name) elif age <=20 and age >= 10: print("안녕하세요, " + name) else: print("안녕하십니까, " + name) sayHello("워니", 9) sayHello("알렉스", 20) sayHello("윤하", 40)
안녕,워니
안녕하세요, 알렉스
안녕하십니까, 윤하
i = 횟수 표시
range () = ()안 횟수-1 만큼 반복(횟수는 0부터 count 된다)
for i in range(10):
print("철수 : 안녕?")
print ("영희 : 잘가")
for i range (3): print("철수 : 안녕?") print ("영희 : 잘가")
0
철수 : 안녕?
영희 : 잘가
1
철수 : 안녕?
영희 : 잘가
2
철수 : 안녕?
영희 : 잘가
while에는 조건을 달 수 있다.
무한루프 그낭하다 (while의 조건이 무조건 true 일때)
i = 0 while i < 3: print(i) print("철수 : 안녕?") print("영희 : 잘가") i = i + 1
0
철수 : 안녕?
영희 : 잘가
1
철수 : 안녕?
영희 : 잘가
2
철수 : 안녕?
영희 : 잘가
무한루프 중단 가능 : break
특이한 조건에서 continue 아래의 코드를 실행시키고 싶지 않을때 : 그 윗줄에 continue 입력
x = list()
y = []
둘다 출력은 [] 로 된다.
x = tuple()
y = ()
둘다 출력은 ()fh ehlsek.
리스트와 비슷하다. (가능한 기능들도 거의 비슷)
차이점 : 튜플은 assingment가 안된다!!
assingment : tuple 안의 값을 업데이트 하는 것
list : 가변적 (mutable)
tuple : 불변적 (immutable)
x = dict()
y = {}
둘다 {}로 출력된다.
x = {
"name" : "워니",
"age" : 20, }
print(x["name"])
print(x["age"])
name이라는 key의 value와 age라는 key의 value 값만을 출력시키게 하기.
워니
20
과일 숫자 세는 프로그램 만들기
fruit = ["사과", "사과", "바나나", "바나나", "딸기", "키위", "복숭아", "복숭아", "복숭아"]
d = {} # d = {}
for f in fruit:
# f = "사과"
if f in d: # "사과"라는 key 가 d 라는 딕셔너리에 들어있어?
d[f] = d[f] + 1 # 그럼 "사과" 갯수를 하나 올려줘
else:
d[f] = 1 # 만약 "사과" 라는 애가 없으면, 그걸 딕셔너리에 넣고 value는 1로 만들어줘
print(d)
{'사과':2, '바나나':2, '딸기':1, '키위':1, '복숭아':3}
class : 함수 + 변수
object : class를 이용해 만든 것
흡사 class = 빵 틀 / object = 빵
class person:
name = "워니"
def say_hello(self):
print("안녕! 나는 " + self.name)
p = person()
p.say_hello()
안녕! 나는 워니
공통된 class와 그 안에 세부화되는 class (=상속)
- person이라는 class 안에 경찰이라는 class와 프로그래머라는 class 생성 -> 경찰과 프로그래머는 서로 할수있는게 달라야 하는데 이 둘이 할수있는건 person도 할 수 있어야 한다.
- class police(person) 형태이면 police이라는 class가 person이라는 class를 상속하는 것이다.
어떤 기능들을 구현하는 모듈들의 합 (흔히 library 개념)
모듈 1+ 모듈 2
코드들을 잘 모아 기능 하나를 구현해 놓은 파일
animal 이라는 package
dog, cat 이라는 modules
위 모듈은 hi 라고 말할 수 있다.
# Dog 이라는 모듈
# dog.py
class Dog:
def hi(self):
print("bark!") # 강아지가 안녕 하는 소리
# Cat 이라는 모듈
# cat.py
class Cat:
def hi(self):
print("meow") # 고양이가 안녕 하는 소리
## __init__.py 라는 파일 꼭 필요! (모듈 불러오는 파일)
from .cat import Cat # .<- "이 폴더에 있는" cat.py 라는 파일에서 Cat 이라는 클래스를 갖고와줘
from .dog import Dat # .<- "이 폴더에 있는" dog.py 라는 파일에서 Dog 이라는 클래스를 갖고와줘
## 위 3가지 파일은 animal이라는 폴더에 담겨 있다.
## 다른 폴더에 들어있는 메인 파일에서 패키지 불러오기
# 방법 1
from animal import dog # animal 패키지에서 dog 라는 모듈 갖고오기
from animal import cat # animal 패키지에서 cat 라는 모듈 갖고오기
d = dog.Dog() # instance
d.hi()
c = cat.Cat()
c.hi()
# 모듈 불러오기 방법 2 (더 간단!)
from animal import dog # animal 패키지에서 dog 라는 모듈 갖고오기
from animal import cat # animal 패키지에서 cat 라는 모듈 갖고오기
from animal import * # animal 패키지가 갖고 있는 모듈을 다 불러오기
d = Dog()
c = Cat()
d.hi()
c.hi()
정말 1시간 안에 혀끝으로 맛만 봤다^__^