본문 바로가기
  •                        自分に負けずやれば出来る
  • 自分を信じる
Computer/Programming Language

Python basic skills[수정 중]

by Divertome 2021. 2. 14.

파이썬을 사용하여 작업하기 위한 최소한의 기본 스킬들

  • 데이터 타입과 변수, 출력
  • 문자열 다루기 기본, 리스트 데이터 구조
  • 조건문, 반복문
  • 함수
  • 튜플, 딕셔너리
  • JSON
  • Open API, web
  • 객체와 클래스 기본

1.데이터 타입, 변수, 출력

  • 출력의 여러 방법
#solution 1 
print("나는 %s살입니다." % "25") 
print("나는 %d살입니다." % 25) 
print("나는 %s살이고 %s 출신입니다." % ("25","경주")) 
#solution 2 
print("나는 {}살입니다.".format(25)) 
print("나는 {}와 {}를 좋아합니다.".format("never young beach","혁오"))
print("나는 {0}와 {1}를 좋아합니다.".format("never young beach","혁오")) 
print("나는 {1}와 {0}를 좋아합니다.".format("never young beach","혁오"))
#solution 3 
print("나는 {band}와 {osi}를 좋아합니다.".format(osi="never young beach",band="혁오"))
#solution 4 
age = 20 
color = "빨강" 
print(f"나는 {age}살이며, {color}를 좋아해요.")

>>>나는 25살입니다.
>>>나는 25살입니다.
>>>나는 25살이고 경주 출신입니다.
>>>나는 25살입니다.
>>>나는 never young beach와 혁오를 좋아합니다.
>>>나는 never young beach와 혁오를 좋아합니다.
>>>나는 혁오와 never young beach를 좋아합니다.
>>>나는 혁오와 never young beach를 좋아합니다.
>>>나는 20살이며, 빨강를 좋아해요.

2.문자열 다루기 기본, 리스트 데이터 구조

  • 예제로 간단히 알아보는 문자열 인덱싱과 슬라이싱

a="Life is too short, that's why you need python"

print(a[0])

>>>L

print(a[0:5]) #문장의 왼쪽 0번째부터 4번째 까지 슬라이싱 결과 도출

print(a[:5]) #문장의 왼쪽 0번째부터 4번째 까지 슬라이싱 결과 도출

>>>Life

>>>Life

#예제: 사이트별로 암호 생성하는 프로그램 작성하기

# ex) https://naver.com  

#https://제외, 처음만나는 (.) 이후 부분 제외, 남은 글자 중 처음 3자리+글자갯수+글자내의 e의 갯수+! 로 구성

url=https://naver.com

my_str=url.replace("https://","")

my_str=my_str[:my_str.index(".")]

print(my_str)

>>> naver

password=my_str[:3]+str(len(my_str))+str(my_str.count("e"))+"!"

print("{0}의 암호는 {1}입니다.".format(url,password))
>>nav51!
  • 리스트 데이터가지고 놀기 예제
subway=["유재석","정형돈","노홍철"]
print(subway)
print(subway.index("정형돈"))

subway.append("하하")
print(subway)

subway.insert(1,"조세호")
print(subway)

subway.append("박명수")
print(subway)

print(subway.pop())
print(subway)

subway.append("유재석")
print(subway.count("유재석"))

subway.pop(subway.index("유재석"))#겹치는 것 중 첫번째 index의 유재석 삭제
print(subway)

>>>['유재석', '정형돈', '노홍철']
>>>1
>>>['유재석', '정형돈', '노홍철', '하하']
>>>['유재석', '조세호', '정형돈', '노홍철', '하하']
>>>['유재석', '조세호', '정형돈', '노홍철', '하하', '박명수']
>>>박명수
>>>['유재석', '조세호', '정형돈', '노홍철', '하하']
>>>2
>>>['조세호', '정형돈', '노홍철', '하하', '유재석']
  • 리스트 정렬과 간단한 특성
#정렬 가능

num_list=[5,2,3,1,4]
num_list.sort()
print(num_list)

#모두 지우기
num_list.clear()
print(num_list)


#리스트는 다양한 자료형과 함께 사용 가능
mix_list=["조세호",5,True]

#리스트 합치기 가능
num_list=[5,2,3,1,4]
num_list.extend(mix_list)
print(num_list)

>>>[1, 2, 3, 4, 5]
>>>[]
>>>[5, 2, 3, 1, 4, '조세호', 5, True]

3.조건문, 반복문

4.함수

5.튜플, 딕셔너리

  • 딕셔너리
cabinet ={3:"호랑이", 100:"용"} #dictionary
print(cabinet[3])
print(cabinet.get(3))

#print(cabinet[5]) #없을 경우 프로그램 중단됨
print(cabinet.get(5)) #없을 경우 none 출력
print(cabinet.get(5,"사용가능")) #없을 경우 "사용가능" 출력

print(3 in cabinet)#True출력
print(5 in cabinet)#False출력

#딕셔너리 내 성분 추가할 때
cabinet[4]="강아지"
print(cabinet)

#key들만 출력
print(cabinet.keys())

#value들만 출력
print(cabinet.values())

#key, value 쌍으로 출력
print(cabinet.items())


#딕셔너리 내 원하는 key값의 성분을 뺄 때
print(cabinet.pop(3)) #3번 삭제
del cabinet[4] #4번 삭제
print(cabinet)



cabinet.clear()
print(cabinet)


>>>호랑이
>>>호랑이
>>>None
>>>사용가능
>>>True
>>>False
>>>{3: '호랑이', 100: '용', 4: '강아지'}
>>>dict_keys([3, 100, 4])
>>>dict_values(['호랑이', '용', '강아지'])
>>>dict_items([(3, '호랑이'), (100, '용'), (4, '강아지')])
>>>호랑이
>>>{100: '용'}
>>>{}
  • 튜플
tuple=(1,"강아지","고양이","牛")
print(tuple[1])
print(tuple[2])

(name, age, hobby)=("divertome",26, "coding")
print(f"{name} {age} {hobby}")

>>>강아지
>>>고양이
>>>divertome 26 coding
  • 집합 set에 관해
#set 집합을 정의 , 중복 안됨, 순서 상관없음
java={"박명수","유재석","노홍철"}
python= set(["유재석","정형돈","하하","길성준"])

#교집합 
print(java & python)

#합집합
print(java |  python)
print(java.union(python))

#차집합 (java는 할 수 있지만 python 은 할 줄 모르는 개발자)
print(java - python)
print(java.difference(python))

#python을 할 줄 아는 사람이 늘어남
python.add("김태호")
print(python)

#박명수가 java를 까먹음
java.remove("박명수")
print(java)

>>>{'유재석'}
>>>{'길성준', '유재석', '박명수', '하하', '노홍철', '정형돈'}
>>>{'길성준', '유재석', '박명수', '하하', '노홍철', '정형돈'}
>>>{'박명수', '노홍철'}
>>>{'박명수', '노홍철'}
>>>{'유재석', '길성준', '김태호', '하하', '정형돈'}
>>>{'유재석', '노홍철'}

6.JSON

7.Open API, web

8.객체와 클래스 기본