일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- asp
- 기초
- jQuery
- sqld52회차
- JSP
- JS
- SQLD후기
- 애니메이션
- 텍스트조절
- 웹표준
- 팝업레이어
- 웹개발키워드
- 프론트앤드키워드
- SQL
- 마우스커서
- 바닐라 자바스크립트
- Slide
- 로또 회차
- sqld
- Python
- 바닐라자바스크립트
- 웹접근성
- CSS
- VANILLA
- IP차단
- TweenMax.js
- 바닐라스크립트
- git
- github
- 코딩공부
- Today
- Total
단비의 코딩 공부 blog
[Python] study 5주차 본문
Python If ... Else
수학의 일반적인 논리적 조건을 지원한다.
- 같음: a == b
- 같지 않음: a != b
- 미만: a < b
- 작거나 같음: a <= b
- 보다 큼: a > b
- 이상: a >= b
이러한 조건은 여러가지 방법으로 사용될 수 있으며 일반적으로 'If'문에서 사용한다.
*들여쓰기가 없는 If문의 경우 오류가 발생한다.
a = 33
b = 200
if b > a: #33보다 200이 커서 true이므로 출력
print("b is greater than a")
출력 결과:
키워드 elif는 "그렇지 않고 ~ 이면"을 뜻하는 키워드이다.
이 예에서 a는 b와 동일하므로 첫 번째 조건은 true가 아니지만 elif조건은 true 이므로 a == b 을 화면에 출력한다.
a = 33
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
출력 결과:
else 키워드는 이전 조건에 맞지 않은 모든 항목을 캐치한다.
이 예에서는 a가 b보다 크므로 true가 아니고 elif 조건도 true가 아니므로 else 조건으로 이동한다.
else 조건은 elif가 없어서 사용가능하다.
a = 200
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
a = 200
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
출력 결과:
실행할 조건문이 한줄일 경우 if문과 같은 줄에 넣을 수 있다.
a = 200
b = 33
if a > b: print("a is greater than b")
출력 결과:
또, 실행할 명령문이 하나만 있는 경우(if문 하나, else문 하나) 모두 같은 줄에 배치할 수 있다.
a = 2
b = 330
print("A") if a > b else print("B")
출력 결과: B
같은 줄에 여러 개의 else문을 배치할 수 있다.
a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")
출력 결과:
and 키워드와 or 키워드는 논리 연산자이며 조건문을 결합하는데 사용한다.
nor 키워드는 논리 연산자이며 조건문의 결과를 뒤집는데 사용한다.
#and
a = 200
b = 33
c = 500
if a > b and c > a:
print("Both conditions are True")
# or
a = 200
b = 33
c = 500
if a > b or a > c:
print("At least one of the conditions is True")
#not
a = 33
b = 200
if not a > b:
print("a is NOT greater than b")
출력 결과:
if 명령문안에 if문이 있을 수 있으며, 이를 중첩된 if명령문이라고 한다.
x = 41
if x > 10:
print("Above ten,")
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
출력 결과:
if문은 비워둘 수 없지만 어떤 이유로 내용이 없는 경우 pass문을 사용하여 오류가 발생하지 않도록 할 수 있다.
a = 33
b = 200
if b > a:
pass
Python While Loop
파이썬에는 두가지 리본 루프 명령이 있다.
- while loop
- for loop
while 루프를 사용하면 조건이 참인 일련의 명령문을 실행할 수 있다.
i = 1
while i < 6:
print(i)
i += 1
출력 결과:
break문을 사용하면 while 조건이 true인 경우에도 루프를 중지 할 수 있다.
i = 1
while i < 6:
print(i)
if (i == 3):
break
i += 1
출력 결과:
continue문을 사용하면 현재 반복을 중지하고 다음을 계속할 수 있다.
i = 0
while i < 6:
i += 1
if i == 3:
continue
print(i)
# Note that number 3 is missing in the result
출력 결과:
else문을 사용하면 조건이 더 이상 참이 아닐때도 코드 블록을 한번 실행할 수 있다.
i = 1
while i < 6:
print(i)
i += 1
else:
print("i is no longer less than 6")
출력 결과:
Python For Loop
for 루프는 시퀀스(목록, 튜플, 사전, 집합 또는 문자열)을 반복하는 데 사용된다.
for루프를 사용하면 각 항목에 대해 한 번씩 일련의 명령문을 실행할 수 있다.
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
출력 결과:
문자열도 반복 가능한 객체이므로 일련의 문자를 포함한다.
for x in "banana":
print(x)
출력 결과:
break문을 사용하면 모든 항목을 반복하기 전에 루프를 중지할 수 있다.
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
# break위치 확인 //인쇄전에 중단 발생
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
break
print(x)
출력 결과:
continue문을 사용하면 루프의 현재 반복을 중지하고 계속할 수 있다.
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
출력 결과:
지정된 횟수만큼 코드 세트를 반복하려면 range() 함수를 사용할 수 있다.
range()함수는 기본적으로 0부터 시작하여 1씩 증가하고 지정된 숫자에서 끝나는 일련의 숫자를 반환한다.
for x in range(6):
print(x)
출력 결과:
range()는 기본 시작 값은 0이지만, 매개변수 range(2, 6)을 추가하여 시작 값을 지정할 수 있다.
(이는 2 ~ 6사이의 값, 6은 포함하지않음)
range()함수는 기본적으로 시퀀스를 1씩 증가시키지만 세 번째 매개변수 인 range(2, 30, 3) 를 추가하여 증가 값을 지정할 수 있다.
for x in range(2, 6):
print(x)
for x in range(2, 30, 3):
print(x)
출력 결과:
for 루프의 else키워드는 for가 완료될 때 실행될 코드 블록을 지정한다.
for x in range(6):
print(x)
else:
print("Finally finished!")
# x가 3일 때 루프 중단
for x in range(6):
if x == 3: break
print(x)
else:
print("Finally finished!")
#If the loop breaks, the else block is not executed.
출력 결과:
중첩루프는 루프 내 루프를 말한다. 내부 루프는 외부 루프가 반복될 때마다 한번씩 실행된다.
# 모든과일에 대해 각각의 형용사를 출력하라.
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
출력 결과:
Python 함수
함수는 호출될 때 실행되는 코드 블록이다. 매개변수라고 하는 데이터를 함수에 전달할 수 있다.
함수는 결과로 데이터를 반환할 수 있다.
def 키워드를 사용하여 함수를 정의한다.
def my_function():
print("Hello from a function")
my_function()
출력 결과 :
정보는 함수에 인수로 전달될 수 있다. 인수는 함수 이름 뒤에 괄호 안에 지정된다.
원하는 만큼 추가 가능하며 쉼표로 구분한다.
def my_function(fname):
print(fname + " Refsnes")
my_function("Emil")
my_function("Tobias")
my_function("Linus")
출력 결과:
기본적으로 함수는 올바른 수의 인수를 사용하여 호출해야한다.
함수에 2개의 인수가 필요한 경우 정확히 2개의 인수를 사용하여 함수를 호출해야 한다.
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil", "Refsnes")
출력 결과:
인수를 1개만 넣을 시 오류가 발생한다.
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil")
출력 결과:
함수에 전달될 인수 수를 모르는 경우 *args를 변수 이름 앞에 추가한다.
여러 개(복수 개)의 인자를 함수로 받고자 할 때 씌인다.
def my_function(*kids):
print("The youngest child is " + kids[2])
my_function("Emil", "Tobias", "Linus")
# 0 # 1 #2
출력 결과:
key = value 구문을 사용하여 인수를 보낼 수도 있다. key = value 구문을 사용하면 인수의 순서가 중요하지 않다.
def my_function(child3, child2, child1):
print("The youngest child is " + child3)
my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")
출력 결과:
임의의 키워드 인수를 **kwargs라고한다.
함수에 전달될 키워드 인수의 수를 모를 경우 변수 이름 앞에 **를 추가한다.
def my_function(**kid):
print("His last name is " + kid["lname"])
my_function(fname = "Tobias", lname = "Refsnes")
출력 결과:
인수 없이 함수를 호출하면 기본값이 사용된다. 이것을 기본 매개변수라고 한다.
def my_function(country = "Norway"): #기본
print("I am from " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
출력 결과:
모든 데이터 유형의 인수를 함수에 보낼 수 있으며 이는 함수 내에서 동일한 데이터 유형으로 처리된다.
def my_function(food):
for x in food:
print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)
출력 결과:
함수가 값을 반환하도록 하려면 return 명령문을 사용하면 된다.
def my_function(x):
return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
출력 결과:
어떤 이유로 내용이 없는 정의가 있는 경우 오류가 발생하지 않게 하려면 pass 명령문을 입력한다.
def myfunction():
pass
함수가 위치 인수만 가질 수 있거나 키워드 인수만 가질 수 있도록 지정할 수 있다.
인수뒤에 , / 을 추가한다.
def my_function(x, /):
print(x)
my_function(3)
def my_function(x):
print(x)
my_function(x = 3)
#오류 발생
def my_function(x, /):
print(x)
my_function(x = 3)
출력 결과:
함수가 키워드 인수만 가질 수 있도록 지정하려면 인수 앞에 *, 를 추가한다.
def my_function(*, x):
print(x)
my_function(x = 3)
def my_function(x):
print(x)
my_function(3)
#오류 발생
def my_function(*, x):
print(x)
my_function(3)
출력 결과:
동일한 함수에서 두 인수 유형을 결합할 수 있다.
앞의 모든 인수는 위치 / ,전용이고 뒤의 모든 인수 는 *, 키워드 전용이다.
def my_function(a, b, /, *, c, d):
print(a + b + c + d)
my_function(5, 6, c = 7, d = 8)
출력 결과:
'Python' 카테고리의 다른 글
[Python] study 4주차 (0) | 2024.04.17 |
---|---|
[Python] study 3주차 (0) | 2024.04.12 |
[Python] study 2주차 (0) | 2024.04.05 |
[Python] study 1주차 (0) | 2024.04.04 |