파이썬은 다른언어에 비해 쉬운 언어이다. 데이터를 표현하는데 있어서 단순하며 쓸데없는 코드를 줄여 효율성이 좋다.
print("Hello Python")
화면에 문자를 출력하고자 할때 코드가 짧고 직관적이여서 가독성이 좋은편이며 pip를 통해 라이브러리를 받을 수가 있어 확장성이 매우 뛰어나다. 대부분의 소스가 오픈소스이다. 요즘에 뜨고있는 인공지능에 파이썬이 많이 사용되어 주목되고 있다.
# 큰 따옴표, 작은 따옴표
print("Hello Python")
# Hello Python
print('안녕 파이썬')
# 안녕 파이썬
# 이스케이프 문자
print("안녕하세요 \n저는 홍길동입니다.")
# 안녕하세요
# 저는 홍길동입니다.
print("김밥 한줄: 3000원 \t 두줄: 5000원") # 탭
# 김밥 한줄: 3000원 두줄: 5000원
print("여자들은 떡볶이를 좋아해. \r남자들도 ") # 캐리지 리턴 - 커서를 맨 앞으로
# 남자들도 떡볶이를 좋아해.
# 정수형
print(7) # 7
print(-7) # -7
# 실수형
print(3.14) # 3.14
print(-3.14) # -3.14
# 숫자를 표현하는 여러가지 방법
print(100000000)
print(3 + 5)
print(-5 - 4)
print(True)
print(3 < 5)
print(False)
print(1 == 2)
print(not (3 > 4))
# 변수는 값을 저장할 수 있는 공간
# 변수이름 = 변수에 저장할 값
name = "파이썬"
gender = "남자"
age = 15
is_highschool = age >= 17
print(
name
+ "는 "
+ gender
+ "아이이고, "
+ str(age)
+ "살 입니다."
+ "\n"
+ name
+ "는 고등학생입니까? "
+ str(is_highschool)
)
print(1 + 1) # 2
print(2 - 1) # 1
print(5 * 3) # 15
print(4 / 2) # 2.0 실수형으로 반환, 정수형으로 반환하기 위해서는 int()사용
print(2 ** 2) # 2^2 = 4
print(3 ** 4) # 3^4 = 81
print(7 % 5) # 나머지: 2
print(5 // 2)# 몫: 2
print(1 > 3) # False
print(1 <= 6) # True
print(7 == 7) # True
print(7 != 7) # False
# 논리 연산자
print((1 > 2) and (2 > 3)) # False --> and연산자는 두 값이 True일 때만 True를 반환
print((1 < 2) and (2 < 3))
print((1 > 2) & (2 < 3))
print((1 < 2) or (2 < 3)) # True --> or연산자는 두 값중 하나라도 True이면 True를 반환
print((1 < 2) or (2 > 3))
print((1 < 2) | (2 > 3))
# 멤버 연산자
print(1 in (1, 2, 3, 4)) # True --> in 왼쪽 값이 오른쪽의 피연산자의 멤버에 존재할 경우 True
print(1 not in (2, 3, 4, 5)) # True
# 문자열 표현하기
sentence = "hello my name is python"
print(sentence)
sentence = "python is useful"
print(sentence)
sentence = "python's favorite language is java"
print(sentence)
sentence = "python's favorite language is java"
print(sentence)
# 인덱싱
word = "Python"
print(word[0]) # 앞에서 부터 0, 1, 2 ... 5
print(word[3])
print(word[-1]) # 뒤에서 부터 -1, -2, ... -6
word = "2023-python"
print(word[0:2]) # 0부터 2미만 인덱스 까지
print(word[:4]) # 처음부터 4미만까지
print(word[4:]) # 4부터 마지막까지
word = "1234567"
print(word[::2]) # 2씩 건너뛰어서 0, 2, 4, 6
print(word[1:6:3]) # 1, 4
# 포맷팅
a = "파이썬님의 무게는 70.5kg입니다."
name = "파이썬"
weight = 70.5
print(name + "님의 무게는 " + str(weight) + "kg입니다.")
print("%s님의 무게는 %0.1fkg입니다." % (name, weight))
# %d = 정수, %s = 문자형, %f = 실수형을 의미한다.
print("%s님의 무게는 %skg입니다." % (name, weight))
print("{}님의 무게는 {:0.1f}kg입니다.".format(name, weight))
print("{}님의 무게는 {}kg입니다.".format(name, weight))
print("{name}님의 무게는 {weight}kg입니다.".format(name="자바", weight="60.8"))
# 문자열 관련 함수
# find, index, count, upper, lower, strip, replace, split, len
word = "apple"
print(word.find("k")) # 제일 먼저 발견된 인덱스의 번호를 출력, 없다면 -1을 반환
print(word.count("p")) # 단어의 갯수 출력
print(word.index("p")) # find와 같음, 만약 없다면 ValueError를 냄
print(len(word)) # 문자열의 길이 반환
print(word.upper()) # 대문자화
print(word[0].upper())
word = " APPLE "
print(word.lower()) # 소문자화
print(word.strip()) # 공백 제거
word = "my name is python"
print(word.replace("python", "java")) # 문자를 대체
print(word.split())
# 리스트
list1 = [1, 2, 3, 4, 5]
print(list1)
print(list1[0]) # 인덱스 첫번째부터 0번 인덱스
print(list1[2]) # 2번 인덱스: 세번째 3
print(list1[-1]) # 뒤에서부터 -1, -2, -3
# 리스트 슬라이싱
list1 = [1, 2, 3, 4, 5]
print(list1[:1])
print(list1[0:4:2])
# 다중 리스트
list1 = [1, 2, 3, 4, 5, [1, 2, 3, 4, 5, [1, 2, 3, 4, 5]]]
print(list1[5][0])
print(list1[5][5][0])
# 리스트 연산과 함수
list1 = [1, 2, 3, 4, 5]
print(len(list1)) # 리스트의 길이 반환
print(list1 + list1)
print(list1 * 2)
print(1 in list1)
print(7 not in list1)
print(min(list1))
print(max(list1))
# 함수
list1 = [1, 2, 3, 4, 5]
list1.append(6)
print(list1)
list1.insert(2, 7) # 2번 인덱스에 7을 추가
print(list1)
list1.extend([6, 7, 8, 9, 0])
print(list1)
list1 += [6, 7, 8, 9, 0]
print(list1)
list1.pop() # 마지막 요소 pop
list1.pop(2) # 2번 인덱스 요소 pop
print(list1)
list1.remove(4) # 일치하는 요소 제거
rint(list1)
list1.clear() # 리스트를 완전히 비워지게 함
print(list1)
print(list1.count(1)) # 일치하는 요소의 개수
ist1.extend([1, 2, 3, 4, 5])
print(list1.count(1))
ist1.reverse() # 리스트를 역순으로 정렬
print(list1)
list1.sort() # 오름차순으로 정렬
print(list1)
list1.sort(reverse=True) # 내림차순으로 정렬
print(list1)
# 튜플 순서를 가진 값 변경이 불가능한
tuple1 = 1, 2, 3, 4
tuple2 = ("a", "b", "c", "d")
# 튜플 더하고 곱하기
new_tuple = tuple1 + tuple2
print(new_tuple)
print(tuple2 * 3)
print(len(new_tuple))
print(new_tuple[0])
print(new_tuple[:3])
# 집합 자료형
# set 을 사용
# 중복된 값을 허용안함, 동일한 값은 하나로 취급
set1 = set("hello hellen")
print(set1)
list1 = list(set1)
print(list1)
# 교집합, 합집합, 차집합
set1 = set([1, 2, 3, 4])
set2 = set([3, 4, 5, 6])
print(set1 | set2) # 합집합
print(set1.union(set2)) # 합집합
print(set1 & set2) # 교집합
print(set1.intersection(set2))
print(set1 - set2) # 차집합
print(set2 - set1) # 차집합
print(set1.difference(set2))
# 집합 자료형의 함수
set1.add(5)
print(set1)
set2.update([1, 2])
print(set2)
set1.remove(5)
print(set1)
# dictionary 사전
dic = {"a": 1, "b": 2, "c": 3}
print(dic)
# json 형식과 비슷하게 생김
# api = {
# name: "에피노",
# 성별: "남자",
# 전화번호: "010-1111-1111",
# 회원가입일자: "2023-01-01"
# }
# 함수
dic = {"a": 1, "b": 2, "c": 3}
print(dic)
print(dic["a"]) # key값이 "a"
# update
dic.update({"e": 4})
print(dic)
# del
del dic["e"]
print(dic)
# fromkeys
list1 = ["a", "b", "c", "d"]
tuple1 = 1, 2, 3, 4
dic1 = {}.fromkeys(list1)
dic2 = {}.fromkeys(list1, 1)
dic3 = {}.fromkeys(tuple1)
dic4 = {}.fromkeys(tuple1, 1)
print(dic1)
print(dic2)
print(dic3)
print(dic4)
# keys/ values/ items/ get
dic = {"a": 1, "b": 2, "c": 3, "d": 4}
print(dic.keys())
print(dic.values())
print(dic.items())
print(dic.get("a"))
print(dic.get("f"))
print(dic.get("g", "값이 존재하지 않습니다."))
# pop/ popitems
print(dic.pop("a"))
print(dic)
print(dic.popitem()) # 맨 마지막 키 밸류만 튜플로 보여주고 제거
print(dic)
# for문 응용
for k in dic.keys():
print("키 :", k)
for v in dic.values():
print("값 :", v)
for k, v in dic.items():
print("키 :", k, "값 :", v)
day = "공휴일"
if day == "공휴일":
print("출근 안해")
elif day == "금요일":
print("오전에만 일합니다.")
else:
print("출근 이야")
# if 기본 유형
# if 조건문:
# if 조건문:
# 실행명령문
# else:
# 실행명령문
# 실행명령문
# elif 조건문:
# 실행명령문
# else:
# 실행명령문
# for문 기본형식
# for 변수 in 리스트, 튜플, 문자열 등:
# 실행문
for i in [1, 2, 3, 4]:
print(i)
room = [101, 102, 103, 104, 105, 201, 202, 203, 204, 205]
for i in room:
print("{}호가 배정되었습니다.".format(i))
print("%d호가 배정되었습니다." % (i))
for range
for i in range(len(room)):
print("{}호가 배정되었습니다.".format(room[i]))
for if
score = [90, 60, 70, 30, 40, 100]
num = 0
for i in score:
num += 1
if i == 100:
print("{}번 시험자는 100점으로 합격하였습니다. 장학생 대상자입니다.".format(num))
elif i >= 60:
print("{}번 시험자는 합격입니다. 축하드립니다.".format(num))
else:
print("{}번 시험자는 불합격입니다.".format(num))
# 2중 for문
for i in range(1, 5):
for j in range(1, 5):
print("i: {}, j: {}".format(i, j))
# 구구단
for i in range(2, 10):
print("----------{}단 시작!----------".format(i))
for j in range(1, 10):
print("{} X {} = {}".format(i, j, i * j))
a = int(input("정수 입력 : ")) # 정수로 값을 받고 싶다면 int를 이용
print("a의 값 :", a)
print(type(a)) # input으로 입력된 값은 문자형자료
# 리스트 만들어보기
input_list = []
for i in range(5):
i += 1
val = input("정수 입력 : ")
input_list.append(val)
print(input_list)
# input과 while문 사용해보기
password = "1234"
while True:
print("택배를 찾아가시려면 비밀번호를 입력해주세요.")
input_pass = input("비밀번호 입력 : ")
if input_pass == password:
print("보관함이 열렸습니다. 택배를 가져가주세요.")
break
else:
print("비밀번호가 틀렸습니다. 다시 입력해주세요.")
continue
# 다양한 입출력
print("C", "자바", "파이썬", sep=" vs ") # sep 세퍼레이션: 사이에 문자추가
print("뭐할래?\n" + "축구", "야구", "농구", sep="vs", end="?") # end : 문자열에 끝나는 곳에 문자추가
# 오른쪽 정렬 왼쪽 정렬
menu = {"김밥": 3000, "순대": 2000, "라면": 4500}
for item, price in menu.items():
# print(item)
print(
item.ljust(5), str(price).rjust(10), sep=":"
) # ljust 공간을 두고 왼쪽 정렬, rjust 칸을 두고 오른쪽 정렬
# zfill
num = 0
while num <= 10:
print("대기번 : " + str(num).zfill(5))
num += 1
# 3자리마다 콤마, 1,000원
print("내월급 : {0:,}원".format(2000000))
print("내자산 : {0:+,}원".format(-2000000)) # +, -가 붙음
print("내자산 : {0:+,}원".format(2000000))
# 정렬
print("{0: >5}".format(10)) # 오른쪽 정렬 rjust
print("{0: <5}".format(10)) # 왼쪽 정렬 ljust
print("{0: >+5}".format(-10))
print("{0: >+5}".format(10))
# 빈칸채우기
print("{0:*>10}".format(10))
print("{0:r<10}".format(10))
def sum(a, b):
result = a + b
return result
print(sum(1, 2))
def bank_open(name):
print("%s님의 계좌가 개설되었습니다." % (name))
bank_open("홍길동")
# 입력값이 없는 함수
def hello_bank():
print("안녕하세요. 파이썬은행입니다.")
hello_bank()
# 초기값을 설정
def bank_open(name, bank_num, open=True):
if open == True:
print("%s님의 계좌가 개설되었습니다." % (name))
print("%s님의 계좌번호는 %s입니다." % (name, bank_num))
else:
print("%s님의 계좌 개설이 거부되었습니다." % (name))
bank_open("파이썬", "01011111111")
# lambda 함수
def add(a, b):
return a + b
print(add(1, 2))
add = lambda a, b: a + b
print(add(1, 2))
# list1 = [def] 불가능
list1 = [lambda a, b: a + b, lambda a, b: a - b] # 리스트에 추가 가능 def함수는 불가능
print(list1[1](2, 1))
이번 주 유데미 필수 강의인 코딩 초보자를 위한 파이썬(Python) 입문(Beginner)
를 보고 파이썬을 배웠다. 파이썬 소개부터 자료형, 변수, 조건문, 반복문, 함수 등을 배우며 파이썬의 기초를 다뤘다. 파이썬을 써본적이 있어서 가볍게 훑어보며 예제를 통해 다시한번 파이썬의 기초를 다질 수 있었다.
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스 완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성 되었습니다.