deftemp(content, letter): """content 안에 있는 문자를 세는 함수입니다. Args: content(str) : 탐색 문자열 letter(str) : 찾을 문자열 Returns: int """ print("함수 테스트")
cnt = len([char for char in content if char == letter]) return cnt
if __name__ == "__main__": help(temp) docstring = temp.__doc__ print(docstring)
Help on function temp in module __main__:
temp(content, letter)
content 안에 있는 문자를 세는 함수입니다.
Args:
content(str) : 탐색 문자열
letter(str) : 찾을 문자열
Returns:
int
content 안에 있는 문자를 세는 함수입니다.
Args:
content(str) : 탐색 문자열
letter(str) : 찾을 문자열
Returns:
int
help()
위 코드에서 help()는 본인이 작성한 주석을 바탕으로 문서화한다.
리스트 컴프리헨션
for-loop 반복문을 한 줄로 처리
리스트 안에 반복문을 작성할 수 있다
1 2 3 4 5 6 7 8 9 10 11 12 13
my_list = [[10], [20,30]] print(my_list)
flattened_list = [] for value_list in my_list: print(value_list) for value in value_list: print(value) flattened_list.append(value)
# 사용자 정의함수의 문서화 defmean_and_median(value_list): """ 숫자 리스트의 요소들의 평균과 중간값을 구하는 코드를 작성해라 Args: value_list (iterable of int / float) : A list of int numbers Returns: tuple(float, float) """ #평균 mean = sum(value_list) / len(value_list)
#중간값 midpoint = int(len(value_list) / 2) iflen(value_list) % 2 == 0: median = (value_list[midpoint - 1] + value_list[midpoint]) / 2 else: median = value_list[midpoint] return mean, median
데코레이터, 변수명 immutable or mutable, context manager는 jump to python 페이지에 없기에 따로 찾아 공부해야 한다.
함수 실습
여러 개의 입력값을 받는 함수
1 2 3 4 5 6 7
# 여러 개의 입력값을 받는 함수 만들기 defadd_many(*args): result = 0 for i in args: result = result + i return result
1 2 3 4 5 6 7
# 위 함수를 이용해보자 result = add_many(1,2,3) print(result)
#위 함수는 매개변수가 몇 개든 작동한다. result = add_many(1,2,3,4,5,6,7,8,9,10) print(result)
6
55
1 2 3 4 5 6 7 8 9 10 11
# 여러 개의 입력값을 받는 함수 만들기2 defadd_mul(choice, *args): if choice == "add": result=0 for i in args: result = result + i elif choice == "mul": result = 1 for i in args: result = result * i return result
1 2 3 4 5 6
# 위 함수를 이용해보자 result = add_mul('add', 1, 2, 3, 4, 5) print(result)
result = add_mul('mul', 1, 2, 3, 4, 5) print(result)
defsay_myself(name, old, man=True): # boolean 값을 이용하여 설정 print("나의 이름은 %s 입니다." % name) print("나이는 %d살입니다." % old) if man : print("남자입니다.") # True else : print("여자입니다.") # False
# Q6 사용자의 입력을 파일(test.txt)에 저장하는 프로그램을 작성해 보자. #(단 프로그램을 다시 실행하더라도 기존에 작성한 내용을 유지하고 새로 입력한 내용을 추가해야 한다.) # 다시 풀어보자
user_input = input("저장할 내용을 입력하세요:") f = open('test.txt', 'a') # 내용을 추가하기 위해서 'a'를 사용 f.write(user_input) f.write("\n") # 입력된 내용을 줄 단위로 구분하기 위한 개행 문자 사용 f.close()
저장할 내용을 입력하세요:hihi
1 2 3 4 5 6 7 8 9 10 11
# Q7 다음과 같은 내용을 지닌 파일 test.txt가 있다. 이 파일의 내용 중 "java"라는 문자열을 "python"으로 바꾸어서 저장해 보자. # 다시 풀어보자 f = open('test.txt', 'r') body = f.read() f.close()