-
python TIL ( for문, ord(), upper(), isalpha(), 함수 선언 등 )python 2022. 11. 22. 21:39
오늘은 내배캠 알고리즘 강의를 들었지만
정리하고자 하는것은 의외로 python 문법이 되었다 ㅎ
개인적으로 python의 관대한 문법이 내 스타일하고는 맞지 않아서 선호하지 않는 편이긴 한데,
쓰다보니 뭐 python도 역시 재밌다는 생각
우선 제일 많이 쓰게 될
for 반복문
for number in numbers: # numbers 배열을 돌며 index 0부터 하나씩 number에 순차적으로 할당
일단 강의에서 가장 많이 본 형태.
자바의 for each문과 유사하다.
그리고 내가 자주 쓰는
for i in range(len(array)): # i가 0부터 시작해서 len(array)까지 반복, 수식으로 표현하자면 i < len(array)
while문이 아닌 이상,
i가 없으면 뭔가 찝찝해하는 나는 range()가 들어간 형태를 더 선호한다!
그런데 파이썬 반복문을 써보고서 느낀 점이,
그럼 i를 2씩 증가시키고 싶으면 for 문 안에 i+=1을 넣으면 되는걸까? 싶어서 해보았다. (파이썬에서는 ++와 --가 안된다)
for i in range(10): i += 1; print(i);
실행결과 전혀 안된다.
결과창을 보니 i 값은 처음 정해진 range(10)에 의해 1, 2, 3, 4, 5, 6 ... 이런 식으로 재할당이 되는듯 하다.
그래서 순차적으로 i에 1을 더한 값만이 출력되는듯.
그래서 2씩 증가시키는 방법을 검색을 해보았따
for i in range(0, 10, 2): # i에 0부터 10까지, 2씩 증가 print(i);
실행결과 range() 오버로딩을 통해 간단하게 구현이 가능했던것!
저 형태를 보면 짐작이 되겠지만
for i in range(2, 10): # 2부터 10까지
이렇게 범위를 지정할 수도 있다!
파이썬 굿!
break, continue
for i in range(len(array)): if i % 2 ==0: break; # 반복문 탈출! for i in range(len(array)): if i % 2 ==0: continue; # 반복문 1회 스킵
break와 continue는 그냥 아는대로 써봤더니 잘 작동해서 아주 마음에 들었다.
while문
while True: print('');
while문은 따로 설명조차 필요 없을듯.
그리고 문자열 다룰 때 많이 사용하게 될 함수들.
ord(), chr()
print(ord('a')); # 문자 'a'를 숫자로 변환, 아스키코드 97 출력. print(chr(97)); # 숫자 97을 문자로 변환, 아스키코드에 의해 'a' 출력
isupper(), upper()
print('A'.isupper()); # True 출력. 'A'가 대문자인지 검증하는 메소드 print('A'.islower()); # False 출력. 'A'가 소문자인지 검증하는 메소드 print('A'.lower()); # 'a' 출력. 'A'를 소문자로 변환하는 메소드 print('a'.upper()); # 'A' 출력. 'a'를 대문자로 변환하는 메소드
주의해야 할 점은 메소드 이름을 카멜표기법으로 isUpper처럼 쓰면 오류가 난다. (파이썬메소드는 전부 카멜표기법이 아닌듯)
그리고 lower()와 upper()는 알파벳이 아니어도 오류가 나지 않고, 그대로 반환함. '#'.upper()는 #를 그대로 리턴!
isalpha(), isdigit()
print('A'.isalpha()); # True 반환. 알파벳인지 검증 print('나'.isalpha()); # True 반환 print('23'.isdigit()); # True 반환. 숫자인지 검증
재밌는 점은 한글도 isalpha()를 통해 True로 검증이 가능하다는 것!
매우 유용해보이지만 조건을 더 세부적으로 나누고 싶을 땐 오히려 귀찮아지기도 할듯?
함수 선언방법
def testFunc(): print('test'); return 0;
python은 앞에 def를 붙여 선언한다.
그런데 저렇게 카멜표기법으로 명명하면 파이썬이 잔소리를한다 ㅋㅋㅋ
이렇게 써도 실행시켜줄거잖아 ㅋㅋ 'python' 카테고리의 다른 글
python TIL ( __init__(), overloading ) (0) 2022.11.24 python TIL ( list, dictionary ...) (0) 2022.11.23