
김인섭 강사님의 강의로 파이썬 기초에 대해서 정리
x = 3.14e3 # 3.14 * 10^(+3)
y = 3.14e-3 # 3.14 * 10^(-3)
print(x ** y) # 3^5 -> x를 y번 곱한 값
print(x // y) # x를 y로 나눈 몫
print(x % y) # x를 y로 나눈 나머지
a = "Hello python!"
a[4]
a[0:4] # 0<= a < 4
a[0:5]
a = 'TitanicJames'
title = a[:7]
director = a[7:]
#formatting
print("Name : " + name +", Age: " + str(age))
print("Name : {}, Age: {}".format(name, age)) # format
print(f"Name : {name}, Age: {age}")
# - strip(), join(), split()
x = ['a', 'b', 'c', ['d', 'e']]
type(x)
x[0:3]
append(), pop(), sort()
# 튜플형 (Tuple)
# - ( ) 소괄호로 감싸져있다.
# 특징: (1) 한번 생성되면 값 변경이 불가능합니다. => 요소를 더하거나, 제거하거나, 수정하거나 X
a = (1,2,3,4,5)
# 딕셔너리 (Dict)
# { } 안에 key:value => {key:value, key2:value2 .. } => json
# API 라고 불리는 형태와 동일 => FastAPI
x = {"name":"inseop", "age":[30, 32], "city":"seoul"}
type(x)
x['city']
# 집합형 (Set)
# 특징 (1) 순서가 없다. (2) 중복을 허용하지 않는다.
x = set([1,2,3,5,7,5,3,1,3,4,6,3])
# 불형 (Boolean)
# - True or False
x = True
type(x) # bool
if 조건문:
실행할 코드 ( if 조건문이 참일 때)
elif 조건문:
실행할 코드 ( elif 조건문이 참일 때)
else:
실행할 코드 (모든 if, elif 조건문이 거짓일 때)
for (반복문)
for 루프는 Python에서 반복 작업을 수행할 때 사용하는 가장 기본적인 도구 중 하나입니다. 특히, enumerate() 함수와 함께 사용될 때, 그리고 range() 함수와 함께 사용될 때 각각 다른 유용성을 갖습니다.
- for in range()
range() 함수는 지정된 범위의 숫자를 생성합니다. for 루프와 함께 사용될 때, 주로 지정된 횟수만큼 반복하거나, 인덱스를 통해 반복 가능한 객체의 요소에 접근할 때 유용합니다.
# range(10) => 0~9까지의 숫자 => 2,4,6,8,10
for i in range(2, 11, 2):
print(i)
for i in range(1, 4): # 1부터 3까지
print(i)
fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):
print(f"{i+1}: {fruits[i]}")
- for in enumerate()
enumerate() 함수는 반복 가능한(iterable) 객체를 입력으로 받아, 각 요소를 순회하면서 요소의 인덱스와 값을 튜플 형태로 반환합니다. 이를 for 루프와 함께 사용하면, 반복하는 동안 요소의 값과 함께 인덱스(또는 위치)에 쉽게 접근할 수 있습니다.
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits, start=1):
print(f"{index}: {fruit}")
sum = 0
i = 0
while i < 5:
i = i + 1
sum = sum + i
print(sum)
# 함수 def -> define, definition
def my_name(name, age): # input
print(f"제 이름은 {name}, 나이는 {age} 입니다.") # output: X
return name, age코드를 입력하세요
# 파이썬 내장함수/외장함수
# - 내장함수 (Built-in functions)
# - 외장함수 (External functions) => import를 통해 모듈을 불러와서 사용.
a = 'python'
b = a.upper() # 대문자
b.lower() # 소문자
import sys
if sys.version < 3.12:
print('파이썬을 업데이트 하시오.')
import os
os.getcwd() # current working directory
os.mkdir('test_folder')
import time
time.time() # UTC 기준 현재 시각을 초 단위로 반환
time.localtime(time.time()) # 서버시간
# 글로벌 서비스 준비시..
# 클래스 (Class)
class FishBread: # Camel Case
# 초기화 => 생성자 => 클래스가 호출됐을 때 가장 먼저 실행되는 함수(메소드)
def __init__(self, name, ingredient):
self.name = name
self.ingredient = ingredient
def bread(self):
print(f"붕어빵의 이름은 {self.name}, 재료는 {self.ingredient}")
redbean_bread = FishBread('팥붕어빵', '팥')
redbean_bread.name
redbean_bread.ingredient
redbean_bread.bread()
이 부문에서 여러가지 문제가 생겨서 해결함. 해결 과정을 상세하게 적어 본다.
작업환경 : Mac M1 notebook
설치 : anaconda, visual studio code(VSC)
from selenium import webdriver
# 여기서 부터 문제가 발생하면 커널 선택 문제
ChromeDriverManager().install()
# 아래의 webdriver.Chrome() 실행시 문제가 되는 경우
# executable_path = '' 로 위의 install된 chromedriver의 디렉토리를 수동으로 설정
browser = webdriver.Chrome(executable_path='/Users/작업아이디/.wdm/drivers/chromedriver/mac64/123.0.6312.86/chromedriver-mac-arm64/chromedriver')
path를 등록하는 것은 mac 의 경우
open -e ~/.zshrc
export PATH="$PATH:/Users/작업아이디/.wdm/drivers/chromedriver/mac64/123.0.6312.86/chromedriver-mac-arm64"
source ~/.zshrc
pip install selenium==4.9.0
위이 방법으로 모든 문제를 해결함..