Python_Part2

sihwan_e·2020년 4월 23일
0

Python Dic

목록 보기
3/13

part2
1.Concatenating Text Strings
2.Significant Whitespace
3.If Statement
4.Comparison Operators
5.elif and else
6.Testing set of conditions
7.Nested If Statements
8.Comment

1.Concatenating Text Strings

문자열의 연속(문자열 더하기)

기본적으로 문자열은 " " 따옴표로 감싸져 있는 것이고, 그것을 하나의 객체로 본다면 더하기는 쉽다.
단순히 " " + " " 면 충분하기 때문이다.

복잡한 strinf concatenation
"+" 이외에도, 특히 길고 복잡한 문자열의 경우에는 literal string interpolation을 사용하면 좋다.
직역하면 문자열의 사이를 채운다는 의미이다.

사용법
1. 문자열을 감싸는 따옴표 앞에 f 를 붙인다.
f를 붙이면 파이썬은 f다음에 오는 string값을 literal string interpolation으로 인지하고, string 안에 있는 변수들을 실제 값으로 치환한다.
2.치환하고 싶은 변수(함수 호출도 가능)를 중괄호를 사용해서 표시한다.

간단히 줄여서 f-string이라고도 부르는 듯한데,
사용 예제를 보자

x = 1 y = 2 f'x + y = {x+y} | x * y = {x*y}' 출력 'x + y = 13 | x * y = 30'

따옴표 앞에 f를 써주고 치환해주고싶은 부분을 {} 중괄호로 감싸주면 된다.

2.Significant Whitespace(중요)

들여쓰기(indention)

다른 언어에서는 들여쓰기가 필수사항은 아니다. 단순히 코드의 가독성을 높이기 위해서 사용되는 수준이다.

하.지.만

파이썬에서는 들여쓰기는 필수사항이다. 들여쓰기를 통해 코드의 "종속성"을 나타내야한다.

종속성을 생각해서 들여쓰기를 잘해주어야한다.
들여쓰기는 조건문,반복문 등에서 아주 중요하며 해당 부분을 다룰때 다시 언급하겠다.

3.If Statement

파이썬에서 if 는 특정한 조건을 확인 할 때 사용된다.

 if 구문 :
 	실행할 코드

if 구문 들여쓰기

 if condition:
    print("if statement code 1")
    print("if statement code 2")
 print("Not if statemet code")

위의 코드에서 if 구문보다 간격이 안으로 들어와 있는 첫번쨰와 두번째 print구문은 if구문과 연결되어 있는 코드이다. 그럼으로 condition 변수가 true일때만 실행된다. 반면 3번째 print구문은 if구문과 동일한 간격 선상에 있음으로 if 구문과 연결되어있지 않은 독립적인 구문이다. 그러므로 condition변수의 값과 상관없이 항상 실행된다.

4.Comparison Operators

(== ) : equal
(!= ) : not equal to
( > ) : greater than
( < ) : less than
( >=) : greater than or equal to
( <=) : less than or equal to

5.elif and else

지금까지의 if는 구조상 딱 하나의 condition만 확인할수 있는 구조였다. 하지만 이젠 그보다 더 복잡한 경우를 다룰수도 있어야 한다.

if city == "seoul"
	print("한국")
if city == "busan"
	print("한국")
if city != "seoul"
	print("해외")
if city != "busan"
	print("해외")   

이렇게 테스트 해야 하는 연결된 condition들이 있을때는 단순 if구문으로는 안된다.

elif
else if 의 줄인말이며, if구문이 먼저 선행되고 그 다음에 위치할수있다.
elif는 만일 if구문이 false이면 실행되며 if구문이 false일 경우 다른 condition을 테스트 한 후 실행한다.
else
else는 if구문(elif구문이 있다면 elif구문) 의 condition이 false인 경우 default로 실행된다.
else 는 if구문과 elif 구문이 먼저 선행되고 마지막에 위치하게 되며 if/elif구문의 코드가 실행되지 않으면 마지막으로 default로 실행된다.

예제로 이해하기

x = int(input())
y = int(input())

if x%2==0 and y%2==0:
  print("YES")
elif  x%2!=0 and y%2!=0:
  print("YES")
else:
  print("NO")
 x = 10
 if x < 10 :
 	print("한자리수")
 elif x < 100:
	print("두자리수")
 else:
 	print("세자리수 이상")

pass

if n < 10:
    pass
else:
    print(n)

조건문 안에서 특정 문장을 수행하지 않고 skip하기 위해 pass키워드를 사용할수 있다. n이 10보다 작은경우는 아무 문장도 실행하지 않고 지나가고, 10보다 크거나 같을때 n값을 출력한다.

6.Testing set of conditions

지금까지 봐온 if구문은 한가지 조건문만 테스트 하는 간단한 구조였다. 만약 여러가지 조건문들을 테스트 해야하는 복잡한 케이스를 다룰 땐 어떻게 해야할까.

<and , or >의 사용
1. and
and 구문을 사용하면 여러 조건문들을 연결하여 테스트 할 수 있게된다.
and 구문을 사용할 때 염두해야 할 점은 and구문을 사용하여 테스트하는 모든 것이 true 일때만 if 구문의 코드가 실행이 된다. 조건문중 하나라도 false이면 실행이 안된다.

2.or

and의 반대의 경우가 or이다.
or는 테스트하는 조건들중 하나만 true여도 if구문의 코드가 실행이 된다.

3.and와 or 둘다사용

if age > 19 and age < 30 or married == True and income < 100000000:
    print("WeCode 은행의 전세대출 우대자 이십니다")
    
  if (age > 19 and age < 30) or (married == True and income < 100000000):    
    print("WeCode 은행의 전세대출 우대자 이십니다")

이렇게 and와 or둘다 사용할때는 괄호를 적절히 사용하여 가독성을 높히는 것이 중요하다.

4.not
not은 특정 표현식의 반대값을 리턴한다.

not 표현식

결과값은 항상 true, false 객체이다.
5.not in

1 in [1,2,3] >>>true
1 not in [1,2,3] >>> false

7.Nested If Statements

직역하면 반복되는 구문을 if구문을 이용해서 집합화시키는 것이다.

if status == "빚쟁이" and year >=3:
	print("빚땜에 자기생활이 없음")
elif status == "빚쟁이" and year ==2:
	print("외식은 가능")
elif status == "빚쟁이" and year <2:
	print("다갚아간다..")
else:
	print("수고했다..")

위의 if구문에서 status는 반복되고 있다.
반복되는 컨디션이 있을떄는 중첩되는 if구문을 사용하면 가독성이 훨씬높아지고 코드가 간결해진다.

if status == "빚쟁이":
	if year >= 3:
    	print("빚땜에 자기생활이 없음")
    elif year == 2:
    	print("외식은 가능")
	elif year < 2:	
    	print("다갚아간다..")
else:
	print("수고했다..")

파이썬에서는 안으로 간격이 더 들어갈수록 중첩 된것이다.
위의 구문을 보면 왼쪽에 간격이 하나도 없는 if와 else구문은 최상위 if구문들이고 안으로 간격이 한닫ㄴ계 들어가 있는 if구문들은 최상위 if구문에 연결 되어 있는 nested if 구문이다.
근데 2단계이상 네스팅해주지 않는게 가독성에 이롭다.

8.Comment (주석)

라인의 첫글자가 #으로 시작하면 해당 라인은 파이썬을 주석으로 처리하여 실행시키지 않고 무시한다. 그래서 오직 사람을 위해 해당 코드를 이해하기 쉽게 설명해주는 역할이다.

profile
Sometimes you gotta run before you can walk.

0개의 댓글