반응형
'점프 투 파이썬' 책의 예시를 정리했습니다.
자세한 내용은 아래 링크에서 확인할 수 있습니다.
참고 및 출처 : https://wikidocs.net/book/1
점프 투 파이썬
이 책은 파이썬이란 언어를 처음 접해보는 독자들과 프로그래밍을 한 번도 해 본적이 없는 사람들을 대상으로 한다. 프로그래밍을 할 때 사용되는 전문적인 용어들을 알기 쉽게 풀어서 …
wikidocs.net
함수
# 사용법
# def 함수명(매개변수):
# <수행할 문장1>
# <수행할 문장2>
# ...
def add(a, b):
return a + b
a = 3
b = 4
c = add(a, b)
## c = 7
# 매개변수와 인수
# 매개변수 : 함수에 정의된 변수
# 인수 : 함수로 전달하는 값
def hello(name):
print("%s님 안녕하세요." % name)
hello("kim")
## name : 매개변수
## "kim" : 인수
# 일반적인 함수
def inputOutput(input):
return "output"
result = inputOutput("input")
## result = "output"
# 입력값이 없는 함수
def output():
return "output"
result = output()
## result = "output"
# 리턴값이 없는 함수
def input(input):
print(input)
result = input("input")
## result = None
def noInputOutput():
print('')
result = noInputOutput()
## result = None
# 매개변수 지정하여 호출
def sub(a, b):
return a - b
result = sub(a = 1, b = 2)
## result = -1
result = sub(b = 2, a = 3)
## result = 1
# 여러 개의 입력값을 받는 함수
# 입력값을 모아서 튜플로 만든다.
# args = (first, second, ...)
def add_many(*args):
result = 0
for i in args:
result += i
return result
result = add_many(1, 2, 3)
## result = 6
def add_mul(choice, *args):
if choice == "add":
result = 0
for i in args:
result += i
elif choice == "mul":
result = 1
for i in args:
result *= i
return result
result = add_mul("add", 2, 3, 4)
## result = 9
result = add_mul("mul", 2, 3, 4)
## result = 24
# 키워드 매개변수 kwargs
# 입력값을 모아 딕셔너리로 만든다.
def print_kwargs(**kwargs):
print(kwargs)
print_kwargs(a=1)
## 출력 결과
## {'a': 1}
print_kwargs(name='foo', age=3)
## 출력 결과
## {'name': 'foo', 'age': 3}
# 함수의 리턴값은 언제나 하나다!!!!!!
def add_and_mul(a, b):
return a + b, a * b
result = add_and_mul(3, 4)
## result = (7, 12)
## 튜플로 반환된다.
result1, result2 = add_and_mul(3, 4)
## result1 = 7
## result2 = 12
# 함수 즉시 종료
def return_test(number):
if number % 2 == 0:
return
print("홀수입니다.")
return_test(3)
## 출력 결과
## 홀수입니다.
return_test(2)
## 출력 결과 없음
# 매개변수 초깃값 설정
def say_myself(name, age, man=True):
print("나의 이름은 %s입니다." % name)
print("나이는 %d살입니다." % age)
if man:
print("남자입니다.")
else:
print("여자입니다.")
say_myself("kim", 4)
## 출력 결과
## 나의 이름은 kim입니다.
## 나이는 4살입니다.
## 남자입니다.
say_myself("kim", 4, True)
## 출력 결과
## 나의 이름은 kim입니다.
## 나이는 4살입니다.
## 남자입니다.
say_myself("kim", 4, False)
## 출력 결과
## 나의 이름은 kim입니다.
## 나이는 4살입니다.
## 여자입니다.
# 초기값 error 예제
# 초기값을 설정할 매개변수는 항상 뒤에 있어야 한다
# def say_myself(name, man=True, age):
# print("나의 이름은 %s입니다." % name)
# print("나이는 %d살입니다." % age)
# if man:
# print("남자입니다.")
# else:
# print("여자입니다.")
# 함수 내에 선언된 변수의 범위
# 함수 내에 선언된 변수는 함수 안에서만 사용된다.
number = 1
def scope_test(number):
number += number
print(number)
scope_test(2)
print(number)
## 출력 결과
## 4 : 함수 내의 number 값 4
## 1 : 함수 밖의 number 값 1
# 함수 안에서 함수 밖의 변수를 변경하는 방법
# 1. return 사용
number = 1
def scope_test(number):
number += number
return number
number = scope_test(number)
## number = 2
# 2. global 사용
number = 1
def scope_test2():
global number
number += number
scope_test2()
## number = 2
# lambda
add = lambda a, b: a + b
result = add(3, 4)
## result = 7
사용자 입출력
# 사용법
str = input() # hello 입력
## str = "hello"
name = input("이름을 입력하세요: ") # kim 입력
## name = "kim"
# print 자세히 알기
# 1. 큰따옴표(")로 둘러싸인 문자열은 + 연산과 동일하다
print("hello" "world")
## 출력 결과
## helloworld
# 2. 문자열 띄어쓰기는 콤마로 한다
print("hello", "world")
## 출력 결과
## hello, world
# 3. 한 줄로 출력하기
for number in range(1, 11):
print(number, end=' ')
## 출력 결과
## 0 1 2 3 4 5 6 7 8 9 10
반응형
파일 입출력
# 파일 생성
f = open("새파일.txt", 'w')
f.close()
# 파일 열기 모드
# r : 읽기 모드
# w : 쓰기 모드. 파일이 이미 존재하면 기존 내용은 삭제된다.
# a : 추가 모드. 파일의 마지막에 새로운 내용을 추가한다.
# 특정 경로에 파일 생성
f = open("C:/path/새파일.txt", 'w')
# f.close()
# 내용 쓰기
f = open("새파일.txt", 'w')
for number in range(1, 11):
data = "%d번째 줄입니다.\n" % number
f.write(data)
f.close()
## 새파일.txt 파일 내용
## 1번째 줄입니다.
## 2번째 줄입니다.
## 3번째 줄입니다.
## 4번째 줄입니다.
## 5번째 줄입니다.
## 6번째 줄입니다.
## 7번째 줄입니다.
## 8번째 줄입니다.
## 9번째 줄입니다.
## 10번째 줄입니다.
# 파일을 읽는 여러 가지 방법
# 1. readline 함수
f = open("새파일.txt", 'r')
line = f.readline()
print(line)
f.close()
## 출력 결과
## 1번째 줄입니다.
##
f = open("새파일.txt", 'r')
while True:
line = f.readline()
if not line:
break
print(line)
f.close()
## 출력 결과
## 1번째 줄입니다.
##
## 1번째 줄입니다.
##
## 2번째 줄입니다.
##
## 3번째 줄입니다.
##
## 4번째 줄입니다.
##
## 5번째 줄입니다.
##
## 6번째 줄입니다.
##
## 7번째 줄입니다.
##
## 8번째 줄입니다.
##
## 9번째 줄입니다.
##
## 10번째 줄입니다.
##
# 2. readlines 함수
f = open("새파일.txt", 'r')
lines = f.readlines()
## lines = ['1번째 줄입니다.\n', '2번째 줄입니다.\n', '3번째 줄입니다.\n', '4번째 줄입니다.\n', '5번째 줄입니다.\n', '6번째 줄입니다.\n', '7번째 줄입니다.\n', '8번째 줄입니다.\n', '9번째 줄입니다.\n', '10번째 줄입니다.\n']
for line in lines:
print(line)
f.close()
## 출력 결과
## 1번째 줄입니다.
##
## 1번째 줄입니다.
##
## 2번째 줄입니다.
##
## 3번째 줄입니다.
##
## 4번째 줄입니다.
##
## 5번째 줄입니다.
##
## 6번째 줄입니다.
##
## 7번째 줄입니다.
##
## 8번째 줄입니다.
##
## 9번째 줄입니다.
##
## 10번째 줄입니다.
##
# 줄 바꿈 문자 \n 제거
f = open("새파일.txt", 'r')
lines = f.readlines()
for line in lines:
line = line.strip()
print(line)
f.close()
## 출력 결과
## 1번째 줄입니다.
## 2번째 줄입니다.
## 3번째 줄입니다.
## 4번째 줄입니다.
## 5번째 줄입니다.
## 6번째 줄입니다.
## 7번째 줄입니다.
## 8번째 줄입니다.
## 9번째 줄입니다.
## 10번째 줄입니다.
# 3. read 함수
f = open("새파일.txt", 'r')
data = f.read()
f.close()
print(data)
## 출력 결과
## 1번째 줄입니다.
## 2번째 줄입니다.
## 3번째 줄입니다.
## 4번째 줄입니다.
## 5번째 줄입니다.
## 6번째 줄입니다.
## 7번째 줄입니다.
## 8번째 줄입니다.
## 9번째 줄입니다.
## 10번째 줄입니다.
# 4. 파일 객체를 for문과 함께 사용
f = open("새파일.txt", 'r')
for line in f:
print(line)
f.close()
## 출력 결과
## 1번째 줄입니다.
##
## 1번째 줄입니다.
##
## 2번째 줄입니다.
##
## 3번째 줄입니다.
##
## 4번째 줄입니다.
##
## 5번째 줄입니다.
##
## 6번째 줄입니다.
##
## 7번째 줄입니다.
##
## 8번째 줄입니다.
##
## 9번째 줄입니다.
##
## 10번째 줄입니다.
##
# 파일에 새로운 내용 추가
f = open("새파일.txt", 'a')
for number in range(11, 21):
data = "%d번째 줄입니다.\n" % number
f.write(data)
f.close()
## 새파일.txt 파일 내용
## 1번째 줄입니다.
## 2번째 줄입니다.
## 3번째 줄입니다.
## 4번째 줄입니다.
## 5번째 줄입니다.
## 6번째 줄입니다.
## 7번째 줄입니다.
## 8번째 줄입니다.
## 9번째 줄입니다.
## 10번째 줄입니다.
## 11번째 줄입니다.
## 12번째 줄입니다.
## 13번째 줄입니다.
## 14번째 줄입니다.
## 15번째 줄입니다.
## 16번째 줄입니다.
## 17번째 줄입니다.
## 18번째 줄입니다.
## 19번째 줄입니다.
## 20번째 줄입니다.
# with문
# 파일을 자동으로 닫아준다.
with open("새파일.txt", 'w') as f:
f.write("hello, world")
## 새파일.txt 파일 내용
## hello, world
프로그램 입출력
import sys
args = sys.argv[1:]
for i in args:
print(i)
## python filename.py hello world 실행
## 결과 출력
## hello
## world
for i in args:
print(i.upper(), end=' ')
반응형
'Python' 카테고리의 다른 글
[Python] 내장 함수 (0) | 2023.02.13 |
---|---|
[Python] 제어문 (0) | 2023.02.06 |
[Python] 자료형 (2) | 2023.01.31 |
댓글