함수 설명에 * 또는 ...가 있으면 계속 넣을 수 있다는 뜻
# 출력함수 print의 사용 방법
# print(*values) 출력할 값 인자를 원하는 만큼 입력하기
# *values? = 무한으로 값을 넣을 수 있다.
print(1,2,3,4,5,6) # 1 2 3 4 5 6
print(1,2,3,4,5,6, 'a', 'b', 'c', 'e', [1, 2, 3]) # 1 2 3 4 5 6 a b c e [1, 2, 3]
# print(*values, sep=) 값 사이에 구분자(seperator) 지정 기본은 ' '
# sep = 구분자(seperator)
print(1,2,3,4,5,6) # print(1,2,3,4,5,6)
print(1,2,3,4,5,6, sep='') # 123456
print(1,2,3,4,5,6, sep='/') # 1/2/3/4/5/6
# print(*values, sep=, end=) 출력 마무리에 붙일 문자. 기본 지정은 '\n'(줄바꿈)
# end = escape
print(1,2,3,4,5,6) # 1 2 3 4 5 6
print(1,2,3,4,5,6, end = 'n') # 1 2 3 4 5 6n
# => print의 마지막에 end에 'n'으로 설정된 데이터를 넣어줍니다.
# 체크할 점
print(1,2,3,4,5,6) # 1 2 3 4 5 6n1 2 3 4 5 6 => ??
# 여기서 print(1,2,3,4,5,6)을 출력해 보면
# 위에 출력한 print(1,2,3,4,5,6, end = 'n')과 합쳐져서
# 1 2 3 4 5 6n1 2 3 4 5 6 이 출력되는 것을 확인할 수 있습니다
# 이는 end의 기본값이 \n(줄바꿈)으로 설정되어 있어서 그렇습니다
# 상단 print(1,2,3,4,5,6, end = 'n')에서
# end에 \n이 아닌 n으로 들어가서 줄바꿈이 안되고 있습니다.
# sep의 기본값이 ' ' 로 공백이 한칸 설정되어 있는 것과 같은 이유입니다.
# 여러가지 특수문자
print('a\tb') # a b => \t => TAB과 같은 기능
print('a\\b') # a\b
print('Spencer\'s') # Spencer's
# print할때 문자 반복 사용
print('=' *20) # ====================
# format을 통해 변수 값을 문자열에 넣기
# => 문자열의 전용 함수
student = "김OO"
school = "아이씨뱅큐"
principal = " 스펜서"
# 기본 사용방법
text = "{}{}{}"
text = text.format(student, school, principal)
print(text) # 김OO아이씨뱅큐 스펜서
# => text = "{}{}{}".format(student, school, principal)과 같은 상황
text = "안녕하십니까 {} 학부모님 저는 {} 교장 {}입니다."
text = text.format(student, school, principal)
print(text) # 안녕하십니까 김OO 학부모님 저는 아이씨뱅큐 교장 스펜서입니다.
# => 그러나 보통 이런식으로 사용하지 않음
# 변수의 기본 사용 방법 => 주로 사용하는방법
print("안녕하십니까 {} 학부모님 저는 {} 교장 {}입니다.".format(student, school, principal))
# 안녕하십니까 김OO 학부모님 저는 아이씨뱅큐 교장 스펜서입니다.
# (예습) 나중에 배울 반복문과 학생 리스트를 함께
print('=' * 20)
students = ["김OO", "이OO", "박OO", "곽OO"]
school = "아이씨뱅큐"
principal = "스펜서"
text = "안녕하십니까 {} 학부모님 저는 {} 교장 {}입니다."
for student in students:
print("안녕하십니까 {} 학부모님 저는 {} 교장 {}입니다.".format(student, school, principal))
# 반복문이 실행됩니다.
# ▼
# 안녕하십니까 김OO 학부모님 저는 아이씨뱅큐 교장 스펜서입니다.
# 안녕하십니까 이OO 학부모님 저는 아이씨뱅큐 교장 스펜서입니다.
# 안녕하십니까 박OO 학부모님 저는 아이씨뱅큐 교장 스펜서입니다.
# 안녕하십니까 곽OO 학부모님 저는 아이씨뱅큐 교장 스펜서입니다.
# {0} {1}과 {변수명1} {변수명2}를 활용
student = "김OO"
school = "아이씨뱅큐"
principal = " 스펜서"
text = "안녕하십니까 {0} 학부모님 저는 {1} 교장 {2}입니다. {0}이가 우수한 성적을 거두었습니다."
print(text.format(student, school, principal))
# 안녕하십니까 김OO 학부모님 저는 아이씨뱅큐 교장 스펜서입니다. 김OO이가 우수한 성적을 거두었습니다.
# 보면서 알 수 있듯이 자바스크립트의 배열과는 비슷하지만 조금 다른 개념입니다.
# 배열의 인덱스 번호보다는 넣을 데이터의 순서번호에 가깝게 보입니다.
# 매개 변수 할당해서 사용하기
student = "김OO"
school = "아이씨뱅큐"
principal = " 스펜서"
text = "안녕하십니까 {name} 학부모님 저는 {b} 교장 {c}입니다."
# print(text.format(student, school, principal)) 이러면 에러가 발생하는것을 볼 수 있습니다
print(text.format(name = student, b = school, c = principal)) # 이렇게 할당해 주어야 합니다.
# 안녕하십니까 김OO 학부모님 저는 아이씨뱅큐 교장 스펜서입니다.
student = "김OO"
school = "아이씨뱅큐"
principal = " 스펜서"
text = "안녕하십니까 {name} 학부모님 저는 {school} 교장 {teacher}입니다.
print(text.format(name = student, school = school, teacher = principal))
# 안녕하십니까 김OO 학부모님 저는 아이씨뱅큐 교장 스펜서입니다.
# 입력 함수 input()
# 기본 사용 방법
name = input("이름을 입력해주세요 : ") # 사용자의 입력 대기 => 엔터를 누른 순간 값 반환
print("내 이름은", name, type(name))
# 내 이름은 (입력한 이름) <class 'str'>
# 숫자를 입력 -> 형 변환
age = int(input("나이를 입력 : "))
print(age, type(age)) # str -> int
# 11 <class 'int'>
# 여러 개를 입력 -> 문자열 함수 .split()
basket = input("구매한 물품 목록 : ")
print(basket, type(basket))
# '바나나 사과 복숭아 코코넛 우유' <class 'str'>
# 여러개를 입력해도 받아들일 수 없음
basket = input("구매한 물품 목록 : ").split()
print(basket, type(basket))
# '바나나 사과'를 입력한다면
# ['바나나', '사과'] <class 'list'>
basket = input("구매한 물품 목록 : ").split(',')
print(basket, type(basket))
# '바나나,사과'를 입력한다면
# ['바나나', '사과'] <class 'list'>
# 이를 통해 .split()의 기본 값은 ' '(공백한칸)임을 알 수 있습니다.
# [팀] 여러 숫자를 입력 -> 문자열 함수 .split()
# -> 리스트 각 value에 대해서 형변환 map(int, 리스트) ->
score = input("국가시험 점수는 : ").split()
print(score)
# ['90', '100', '80']
# map 사용
score = list(map(int, input("국가시험 점수는 : ").split()))
print(score)
# 모듈 참조 import module_name
import random
import math, time
print(math.pi) # 3.141592653589793 => 원주율 출력
print(random.random()) # 0~1의 랜덤한 숫자 출력
# 모듈 참조 from module_name
from random import random as rd # as ~~ => 별칭 만들기
from math import pi, cos, log2
# => from ... import ...의 장점 예시처럼 math없이 바로 호출할 수 있음
print(pi)
print(rd())