def say():
return 'Hi'
a = say()
print(a)
결과 >>> Hi
def sum(a, b):
print("%d, %d의 합은 %d입니다." % (a, b, a+b))
# sum(3,4)
결과 >>> 3, 4의 합은 7입니다.
a = sum(3,4)
print(a)
>>> None # print는 결과값을 리턴하며, 참고로 None는 거짓이다.
def say()
print("Hi")
say()
결과 >>> Hi
4번의 쓰임 방법은 단 하나이다 / 함수명()
def 함수명(*입력변수):
수행할 문장
입력 인수가 아닌 입력 변수로 값이 변하게 들어올 때
def sum_many(*args):
sum = 0
for i in args:
sum = sum + i
return sum
ex)
print(sum_many(1,2))
결과 >>> 3
print(sum_many(1,2,3,4,5,6,7,8,9,10))
결과 >>> 55
*args 처럼 입력변수명 앞에 *을 붙이면 입력값들을 전부 모아서 튜플로 만들어준다.
args 말고 다른 단어를 써도 무방하나 arguments의 약자로 관례적으로 자주 사용된다.
*abc 나 *anyword 같이 *를 붙여서 아무 이름이나 써도 된다.
예를 들어 결과값이 return 1, 3 처럼 2개가 나오는 상황이라면 튜플 (1, 3)을 반환한다.
return 하고 뒤에 아무것도 안 적으면 값을 출력하지않고 함수를 즉시 빠져나간다.
def say_myself(name, old, man=True):
print("나의 이름은 %s입니다." % name)
print("나이는 %d살입니다." % old)
if man:
print("남자입니다.")
else:
print("여자입니다.")
say_myself("박응용", 27)
say_myself("박응용", 27, True)
결과 >>>
나의 이름은 박응용입니다.
나이는 27살입니다.
남자입니다.
say_myself("박응선", 27, False)
결과 >>>
나의 이름은 박응선입니다.
나이는 27살입니다.
여자입니다.
주의할점 초깃값 설정의 위치를 가운데로 넣으면 첫번째 케이스의 경우 True가 적용되지 않아 에러가 남.
print("a" "b" "c d")
결과 >>>abc d
print("a"+"b"+"c d")
결과 >>>abc d
큰따옴표(")로 둘러싸인 문자열은 + 연산과 동일하다
print("a", "b", "c d")
결과 >>> a b c d
문자열 띄어쓰기는 콤마로 한다.
for i in range(10):
print(i, end=" ")
결과 >>> 0 1 2 3 4 5 6 7 8 9
한 줄에 결과값을 계속 이어서 출력하려면 입력인수 end를 이용해 끝문자를 지정해야한다. 안 그러면 반복문을 돌며 세로로 하나씩 출력할 것이다.
f = open("새파일.txt", 'w')
f.close()
파일 객체 = open(파일 이름, 파일 열기모드)
r 읽기모드 / w 쓰기모드 / a 추가모드 / w 쓰기모드 사용이 기존에 있던 내용이 사라짐.
만약 새파일.txt라는 파일을 C:/Python이라는 디렉토리에 생성하고자 하면 다음과 같이 작성해야한다.
f = open("C:/Python/새파일.txt", 'w')
f.close()
write(입력인수) 해당 파일에 입력인수의 내용을 쓴다 / f.write(data)
해당파일.readline() 해당파일의 1번째 줄을 출력한다. / f.readline()
해당파일.readlines() 해당 파일의 줄들을 리스트로 출력한다. / f.readlines()
해당파일.read() 해당 파일의 내용 전체를 문자열로 리턴한다. / f.read()
(166p~~~)
with open("foo.txt", "w") as f: f.write("Life is too short, you need python")
위처럼 with 블록을 쓰면 열린 파일객체 f가 자동으로 close 되어 편리하다.
169(피보나치 수열),170(파일 읽고 쓰기) 문제풀이