작심3일 챌린지/코드잇

[4일차] 1일 1코드잇 챌린지: 파이썬 응용하기

누Ring 2024. 1. 25.

 

솔직히 파이썬 이런 강의는 그냥 고등학생들이 듣기 좋겠다싶다..

오늘까지가 파이썬이고 내일부터가 데이터 분석쪽인데 쉬운 기초의 날을 즐겨둬야지 ^~^ 싶은

 

여튼 오늘도 1일 1 코드잇 챌린지

> 파이썬 응용하기 #가보자고

 

1. 모듈

1-1 모듈 호출

  - 동일한 폴더에 있는 파이썬파일(.py)을 불러와 사용 가능

파일 명 코드 결과값
calculator.py def add(num1,num2):
      return num1+num2

def subtract(num1,num2):
      return num1-num2
 
run.py import calculator as calc #calc는 별명

print(calc.add(2,5))
print(calc.subtract(7,4))
7
3
run.py import calculator import * #혹은 함수명
print(add(2,5))
print(substract(7,4))
7
3

 

1-2 스탠다드 라이브러리

라이브러리 명 코드 결과 값
random import random

print(random.randint(1,20))
print(random.randint(1,20))
#지정된 범위내의 랜덤 정수 값 반환
#a ≤ N ≤ b


print(random.uniform(0,1))
print(random.uniform(0,5))
#지정된 범위 내의 랜덤 값 소수 반환
#a ≤ N ≤ b
16
4
0.08811632754196952
2.5120418463594933
math import math

print(math.log10(100)) #로그 함수
print(math.cos(0)) #코사인 함수
print(math.pi) #파이
2.0
1.0
3.14159265389793
os import os #operating system

print(os.getlogin()) #os환경에 따라 달라질 수 있음
print(os.getcwd()) #현재 이 파일의 경로를 반환
root 
datetime import datetime

now_day=datetime.datetime(2024,1,25)
print(now_day)
print(type(now_day))
#연,월,일을 직접 입력

now_day=datetime.datetime(2024,1,25,13,25,11)
print(now_day)
#연, 월, 일 , 시, 분, 초 를 직접 입력

today=datetime.datetime.now()
print(today)
print(type(today))
#현재 일자와 시각을 자동 출력
2024-01-25 00:00:00
<class 'datetime.datetime'>
2024-01-25 13:25:11
2020-04-05 17:49:12.360266
<class 'datetime.datetime'>
2024-01-25 03:06:00.979694
<class 'datetime.datetime'>

  import datetime

today=datetime.datetime.now()
now_day=datetime.datetime(2024,3,11,3,11,0)

print(today-now_day)
print(type(today-now_day))

my_timedelta=datetime.timedelta(days=5, hours=3, minutes=10,seconds=30 )
print(now_day)
print(now_day+my_timedelta)
-47days, 23:57:54.853758
<class 'datetime.timedelta'>
2024-03-11 03:11:00
2024-03-16 06:21:30
  import datetime

now_day= datetime.datetime.now()

print(now_day)
print(now_day.year) #년도
print(now_day .month) #월
print(now_day .day) #일
print(now_day .hour) #시
print(now_day .minute) #분
print(now_day .second) #초
print(now_day .microsecond) #마이크로초
2024-01-25 03:14:41.053607
2024
1
25
3
14
41
53607
  import datetime

today=datetime.datetime.now()
print(today)
print(today.strftime("%A %B %dth %Y"))
2024-01-25 03:19:53.931129
Thursday January 25th 2024

 

데이트타임 포매팅

포맷 코드 설명 출력 예
%a 요일(영어 숏) Mon
%A 요일(영어 풀) Monday
%w 요일(숫자, 0~6, 0=일) 4
%d 일(01~31) 25
%b 월(영어 숏) Nov
%B 월(영어 풀) November
%m 월(숫자, 01~12) 01
%y 연도(2자리) 24
%Y 연도(4자리) 2024
%H 시간(24시제 표기)  23
%I 시간(12시간제 표기) 10
%p AM/PM AM
%M 00
%S 03
%f 마이크로초 (000000~999999)  
%Z 표준시간대 PST
%j 1년중 며칠째인지(001~366) 25
%U 1년 중 몇주째인지 (00~53, 일요일이 한 주의 시작) 03
%W 1년 중 몇주째인지(00~53, 월요일이 한 주의 시작) 24

2. 사용자 입력

2-1 input 

   input() 으로 사용하며 문자열을 입력받음.

기능 코드 출력 값
  name=input("이름: ")
#콘솔에서 누Ring  을 입력
print(name)
누Ring
  num=int(input('숫자를 입력해주세요:'))
#콘솔에서 3  을 입력
print(num+3)
6

 

2-2 파일 읽기

    결과
파일 오픈 하는 방법 with open('경로(같은 경로면 생략 가능)/파일명.txt','r') as f:
   #코드 입력
 
파일의 데이터 타입 with open('파일명.txt','r') as f:
   print(type(f))
<class 'i_io.TextIOWrapper'>
파일 내용 
1일: 453400
2일: 388600
3일: 485300
with open('파일명.txt','r') as f:
   for line in f:
       print(line)
#줄바꿈기호도 읽어들이기때문에
#줄바꿈이 추가된것처럼 보일때도 있음
1일: 453400 

2일: 388600

3일: 485300
strip 함수 print("  \t \n    ab     c   de       \n\n".strip()) ab     c   de
파일 내용 
1일: 453400
2일: 388600
3일: 485300
with open('파일명.txt','r') as f:
   for line in f:
       print(line.strip())
1일: 453400
2일: 388600
3일: 485300
split 함수 my_string="1. 2. 3. 4. 5. 6"
print(my_string.split("."))
data= my_string.split(". ")
print(data[0])
['1 ','2 ','3 ','4 ', '5 ', '6 ']
1
  my_string="1 \n 2 \t 3  4 \n\n 5 \f 6   "
print(my_string.split())
data= my_string.split()
print(data[0]+data[1])
print(int(data[0])+int(data[1]))
['1','2','3','4','5','6']
12
3

 

2-3 파일 쓰기

기능 코드 결과
w의 경우 무조건 새로 시작(덮어쓰기) with open('new_file.txt','w') as f:
    f.write("Helloworld!")
    f.write("My name is 누Ring\n")
    f.write("배고프당")
(new_file.txt가 생기고 해당 파일을 열면)
Helloworld!My name is 누Ring
배고프당
a의 경우 해당 txt파일이 존재할 경우 이어쓰기, 존재하지 않을 경우 w와 동일동작 with open('new_file.txt','w') as f:
    f.write("Helloworld!")
    f.write("My name is 누Ring\n")
    f.write("배고프당")
with open('new_file.txt','a') as f:
    f.write("Helloworld!")
    f.write("My name is 누Ring\n")
    f.write("배고프당\n")
Helloworld!My name is 누Ring
배고프당
Helloworld!My name is 누Ring
배고프당

댓글