학습 목표
- 데이터 분석에 필요한 파이썬의 기초를 학습한다.
핵심 키워드
- import
- boolean
- data type
- list
- for
- if
- len
- split
- join
학습하기
학습 목표
- 데이터 분석에 필요한 파이썬의 기초를 학습한다.
핵심 키워드
- import
- boolean
- data type
- list
- for
- if
- len
- split
- join
학습하기
학습내용
Zen of Python
- 파이썬의 철학이 잘 담겨있는 Zen of Python을 출력해 봅니다. (아래의 실습을 통해 확인해 보세요!)
import this
#결과 :
# The Zen of Python, by Tim Peters
#
# Beautiful is better than ugly.
# Explicit is better than implicit.
# Simple is better than complex.
# Complex is better than complicated.
# Flat is better than nested.
# Sparse is better than dense.
# Readability counts.
# Special cases aren't special enough to break the rules.
# Although practicality beats purity.
# Errors should never pass silently.
# Unless explicitly silenced.
# In the face of ambiguity, refuse the temptation to guess.
# There should be one-- and preferably only one --obvious way to do it.
# Although that way may not be obvious at first unless you're Dutch.
# Now is better than never.
# Although never is often better than *right* now.
# If the implementation is hard to explain, it's a bad idea.
# If the implementation is easy to explain, it may be a good idea.
# Namespaces are one honking great idea -- let's do more of those!
- import를 통해 파이썬의 라이브러리나 패키지를 가져올 수 있습니다.
boolean
- 파이썬에서는 명시적인 것이 암시적인 것보다 낫다라는 철학이 있습니다.
- True나 False는 0과 1로도 표현할 수 있으나 명시적으로 표현하기 위해 True와 False를 사용합니다.
# 1. True를 출력해 보세요.
True
# 결과 : True
# 2. False를 출력해 보세요.
False
# 결과 : False
# 3. True는 1과 같음을 표현해 보세요. 파이썬에서는 같음을 비교할 때 == 연산을 사용합니다.
False == 0
# 결과 : True
# 4. 하지만 True는 문자 1과 다릅니다. 1을 따옴표로 감싸면 문자열이 됩니다.
True == "1"
# 결과 : False
# 5. 문자열 1과 True는 다릅니다.
True != "1"
# 결과 : True
# 6. False도 마찬가지 입니다.
False = "0"
# 결과 : False
# 7. False는 문자열 0과 다릅니다.
False != "0"
# 결과 : True
# 8. and 연산으로 True 값 끼리 비교합니다.
# and는 모든 값이 True 일때만 True가 됩니다.
True and True
# 결과 : True
# 9. and는 조건 중 하나라도 False라면 False가 됩니다.
True and False
# 결과 : False
# 10. or은 하나만 True 라도 True가 됩니다.
True or False
# 결과 : True
Strings and List
# "Hello World!"를 출력해 봅니다.
"Hello World!"
# 결과 : 'Hello World!'
# 주소 "경기도 성남시 분당구"를 출력해 봅니다.
"경기도 성남시 분당구"
# 결과 : '경기도 성남시 분당구'
String
# til 이라는 변수에 문자열을 담아봅니다.
til = "Today I Learned"
til
# 결과 : 'Today I Learned'
# 모두 소문자로 만들어 보세요.
til.lower()
# 결과 : 'today i learned'
# 모두 대문자로 만들어 보세요.
til.upper()
# 결과 : 'TODAY I LEARNED'
lists
# 비어있는 리스트를 만듭니다. lang이라는 변수에 담습니다.
lang = []
lang
# 결과 : []
# python, java, c를 원소에 추가합니다.
lang.append("python")
lang.append("java")
lang.append("c")
lang
# 결과 : ['python', 'java', 'c']
# lang이라는 변수에 담겨있는 언어명을 인덱싱을 통해 가져옵니다.
lang[0]
# 결과 : 'python'
# 1번 인덱스를 가져옵니다.
lang[1]
# 결과 : 'java'
# 마지막 인덱스를 가져옵니다.
lang[-1]
# 결과 : 'c'
제어문(조건문, 반복문)
# 반복문을 통해 리스트의 원소를 하나씩 출력합니다.
for i in lang:
print(i)
# 결과 : python
# java
# c
# 위 코드에서 python일 때는 그대로 출력하고 나머지 텍스트는 "기타"라고 출력합니다.
# 출력 결과가 아래의 순서로 나오도록 합니다.
# python
# 기타
# 기타
for i in lang:
if i == "python":
print("python")
else:
print("기타")
# 결과 : python
# 기타
# 기타
# 특정 횟수만큼 반복문을 실행하도록 합니다.
for i in range(5):
print(i)
# 결과 : 0
# 1
# 2
# 3
# 4
# for문과 if문을 함께 사용해 봅니다.
# 짝수일 때 python을 홀수일 때 java를 출력합니다.
for i in range(1, 10):
if i % 2 == 0:
print("python")
else:
print("java")
# 결과: java
# python
# java
# python
# java
# python
# java
# python
# java
# enumerate를 사용하면 인덱스 번호와 원소를 같이 가져올 수 있습니다.
for i, val in enumerate(lang):
print(i, val)
#결과 : 0 pyhon
# 1 java
# 2 c
문자열
# 주소를 address 변수에 담습니다.
address = " 경기도 성남시 분당구 불정로 6 NAVER 그린팩토리 16층"
address
# 결과 : '경기도 성남시 분당구 불정로 6 NAVER 그린팩토리 16층"
# 앞뒤 공백을 제거합니다.
# 데이터 전처리 시 주로 사용합니다.
address = address.strip()
address
# 결과 : '경기도 성남시 분당구 불정로 6 NAVER 그린팩토리 16층'
# 문자열의 길이
len(address)
# 결과 : 33
# 공백으로 문자열 분리
address_list = address.split()
address_list
# 결과 : ['경기도', '성남시', '분당구', '불정로', '6', 'NAVER', '그린팩토리', '16층']
# 리스트 길이
len(address_list)
# 결과 : 8
슬라이싱, startswith, in을 통해 문자열에 경기가 있는지 확인하기
# 슬라이싱으로 문자 가져오기
address:[:2]
# 결과 : '경기'
# startswith를 사용하면 특정 문자가 포함되는지 여부를 확인할 수 있습니다.
address.startswith("경기")
# 결과 : True
# in을 사용하게 되면 특정 문자열을 포함하고 있는지 여부를 확인할 수 있습니다.
"경기" in address
# 결과 : True
리스트
- 문자열에서 쓰는 방법과 비슷하게 메소드 등을 사용할 수 있습니다.
- 차이를 비교해 보세요
# 인덱싱으로 리스트의 원소 가져오기 - 주소에서 구를 가져와 gu라는 변수에 담아보세요.
gu = address_list[2]
gu
# 결과 : '분당구'
# 인덱싱으로 리스트의 원소 가져오기 - 주소에서 도로명을 가져와 street라는 변수에 담아보세요
street = address_list[3]
street
# 결과 : '불정로'
# 리스트의 마지막을 가져옵니다.
address_list[-1]
# 결과 : '16층'
# " ".join(리스트)를 사용하면 리스트를 공백 문자열을 연결할 수 있습니다.
# 리스트로 분리된 문자열을 다시 연결합니다.
" ".join(address_list)
# 결과 : '경기도 성남시 분당구 불정로 6 NAVER 그린팩토리 16층'
# in을 사용하게 되면 리스트에 해당 데이터를 포함하고 있는지 여부를 확인할 수 있습니다.
# "경기"가 리스트에 포함되는지를 봅니다.
"경기" in address_list
# 결과 : False --> "경기도" 처럼 완전하게 적어야 True가 나옵니다.
# in을 사용하게 되면 리스트에 해당 데이터를 포함하고 있는지 여부를 확인할 수 있습니다.
# "분당구"가 리스트에 포함되는지를 봅니다.
"분당구" in address_list
# 결과 : True
자유롭게 실습해 보세요.
결과 일치 여부를 확인합니다. 실습결과 성공 후 수강완료가 가능합니다.
comment
오코완
실행까지 꽤 시간이걸리네요. 안되는 것은 아닙니다...
실행이 안됩니다...
"C" - 대소문자 구분하는 군요. 대문자로 썼더니 오답이래서 다시했어요.
실행이 좀 느리네요
코드 실습 실행이 너무 오래걸려요,,
2번째 코드실습하기 실행해도 종료가 안됩니다.jupyter에서는 잘되요
실습 출력 기다리면서 Colab에서 실행한 결과, Colab에서 리스트 내용 수정해서 반복적으로 실행할때 리스트가 확장되면서 쌓입니다. 맞는걸까요?
출력이 너무 느리네요
학습 내용에 올려주신 boolean 코드 #6에서, = 가 하나 빠진 것으로 보여집니다.
# 6. False도 마찬가지 입니다.
False = "0"
# 결과 : False
첫번째 문제 실습이 잘 안됩니다
ㅠㅜ 실행이 잘 안되네요 ㅠㅜ
colab에서 실행을 했는데 이것을 복사해서 등록하는건가요, 실습화면에서 실행을 누르면 실행이 안되는데 어떻게 하는건가요
address_list = address.split()
address_list
address[:2]
address.startswith('경기')
address_list[2]
address_list[3]
address_list[-1]
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
고생하셨습니다~
그런데 실습이 실행을 하면 진행이 않되네요~
- type : print what type of code
- xxx.lower : print in lower caps
- xxx.upper : print in upper caps
- xxx.append("yyy") : add content yyy to xxx
- xxx[0] : print 1st content
- xxx[1] : print 2nd content
- xxx[2] : print 3rd content
... ...
- xxx[-1] : print last content
- xxx.strip : rid of spaces at start at end
- xxx = xxx.strip : xxx without spaces at start and end
실습코드 에러나네요ㅠㅠ
간단한 코드인데 실행도 너무 오래걸리고 문제가 있나봅니다.
코드실습은 ...;;;; 문제가 많네요
좋은 강의 감사합니다~!!! 설명이 너무 친절해서 좋아요@!
실행이 너무 느립니다. 지금 10분 가량 기다렸는데
한 문장이 실행이 안 됩니다.