a=0
def func():
global a
a+=1
실수형
지수 표현방식 제공
→ 최단경로 문제에서 가능한 최대값이 10억미만일때 자주 사용
a = 1e9
#10^9표현
#나머지 구하기
x = 10 % 3
#몫 구하기
y = 10 // 3
#나누기 -> 실수로 반환
z = 7 / 3
x = 2**3
hi = '안녕'*5
문자열 포매팅
% 이용
height = 172.5
a = '키는 %.2f입니다.' % height
print(a)
str.format 이용
→ 자료형 몰라도 가능
test = 'Hello {}'.format('Bob')
print(test)
자릿수 맞추기
year = 2020
month = 3
day = 5
a = '%d-%02d-%02d' % (year, month, day)
print(a)
역순 출력
#방법 1
def strReverse1(string):
return string[::-1]
#튜플, 리스트 전부 적용 가능
#방법 2
def strReverse(string):
return reversed(string)
in_string = input('문자열을 입력하세요: ')
result = strReverse(in_string)
print(''.join(result))
비교
#완전일치
if str1 == str2:
#부분일치
if str1 in str2:
#전방일치
if str1.startswith(str2):
#후방일치
if str1.endswith(str2):
year = 2020
month = 3
day = 5
print(year, month, day, sep='/')
a = '안녕하세용'
print(a, end='')
name = input('이름을 입력하세요: ')
print('%s님 반갑습니다.' % name)
import sys
input = sys.stdin.readline
score = 85
result = "Success" if score>=80 else "Fail"
a = [1,2,3,4,5,5,5]
remove_set = {3,5}
result = [i for i in a if i not in remove_set]
**range(종료값)**
0 ~ 종료값-1의 정수 범위(1씩 증가)의 값을 가집니다.
**range(시작값, 종료값)**
시작값에서 종료값-1의 정수 범위(1씩 증가)의 값을 가집니다.
**range(시작값, 종료값, 증가값)**
시작값 ~ 종료값~1의 정수 범위를 갖는데, 각 정수 사이의 간격은 증가값에 의해 결정됩니다.
**range(시작값, 종료값, 감소값)**
감소값, 즉 음수의 값을 가지는 경우 범위는 시작값 ~ 종료값+1 이 됩니다.
index(a)
: 리스트 요소 a의 인덱스 값 return
#뒤에서 첫번째
print(a[-1])
#뒤에서 세번째
print(a[-3])
pop(x)
: x번째 인덱스의 요소를 리스트에서 삭제
insert(x,y)
: x번째에 y추가
remove(a)
: 리스트에서 값 a를 가진 요소 삭제
→ 여러개면 하나만
count(a)
: 리스트에서 값 a를 가지는 원소 개수
a = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
x = a.index(30)
print(x)
a.pop(x) # del a[x]와 동일
print(a)
a.remove(90)
print(a)
a.clear()
print(a)
sort()
: 리스트의 오름차순 정렬
→ 내림차순은 reverse=True 이용
list2 = [-7, 1, 5, 8, 3, 9, 11, 13]
list2.sort()
print(list2)
list2.sort(reverse=True)
print(list2)
List comprehension
array = [i for i in range(20) if i%2 == 1]
#array=[]
#for i in range(20):
#if i%2 == 1:
#array.append(i)
→ 리스트 컴프리헨션 이용해 2차원 리스트초기화
n=3
m=4
array = [[0]*m for _ in range(n)]
튜플과 리스트
: 튜플은 소괄호() 사용, 요소의 수정/삭제 불가능
→ 리스트에 비해 공간효율적, 각 원소의 성질이 다를떄 주로 사용
삭제
#tuple1의 존재 자체를 완전히 삭제
del tuple1
members = {'name':'김우경', 'age':25, 'phone':'010-3787-3146'}
#접근
print(members['name'])
추가, 수정, 삭제 가능
관련 함수
key_list = data.keys()
value_list = data.values()
for문 활용
phones = {'갤럭시 노트8': 2017, '갤럭시 S9': 2018, '갤럭시 노트10': 2019, '갤럭시 S20': 2020}
print(phones)
for phone in phones :
print('%s => %s' % (phone, phones[phone]))
print(len(phones))
정렬
fruits = { 'apple': 2, 'banana' : 1, 'pear' : 2, 'melon' : 0, 'plum' : 1}
#key 기준 정렬
res = sorted(fruits)
print(res)
#value 기준 정렬
res = sorted(fruits, key=lambda k : fruits[k])
print(res)
특징
: 중복 허용x, 순서 x
초기화
data = set([1,2,3,4,5])
data = {1,2,3,4,5}
a = set([1,2,3,4,5])
b = set([3,4,5,6,7])
print(a|b)
print(a&b)
print(a-b)
data = set([1,2,3])
data.add(4)
#원소 여러개 추가
data.update([5,6])
#특정값 갖는 원소 삭제
data.remove(3)
def average(*scores) :
sum = 0
for i in range(len(scores)) :
sum += scores[i]
avg = sum/len(scores)
print('%d과목의 평균 : %.2f' % (len(scores), avg))
average(80, 90, 100)
average(75, 80, 94, 78)
average(80, 73, 76, 86,82)
#call by value
def func(x) :
x = 100
print('func() : x = ', x, ', id =', id(x))
x = 10
print('메인 : x = ', x, ', id =',id(x))
func(x)
print('메인 : x = ', x, ', id =', id(x))
# call by reference
def func(x) :
x[0] = 100
print('func() : x = ', x, ', id =', id(x))
x = [1,2,3]
print('메인 : x = ', x, ', id =', id(x))
func(x)
print('메인 : x = ', x, ', id =', id(x))
**lambda 매개변수 1, 매개변수2, ... : 수식**
f = lambda x, y, z: x+y+z
print(f(10, 20, 30))
def mul(n) :
return lambda x : x * n
g = mul(3)
h = mul(5)
print(g(10))
print(h(10))
전역변수
: global 이용해 선언
파일 쓰기
#파일객체 = open(파일명, 파일모드, 인코딩)
file = open('sample.txt', 'w', encoding='utf8')
class Member:
def __init__(self, name, age) :
self.name = name
self.age = age
def showMember(self) :
print('이름 : %s' % self.name)
print('나이 : %d' % self.age)
mem1 = Member('홍지수', 24)
mem1.showMember()
mem2 = Member('안지영', 20)
mem2.showMember()
class Animal:
def __init__(self, name):
self.name = name
def printName(self):
print(self.name)
class Dog(Animal):
def __init__(self, name, sound):
super().__init__(name)
self.sound = sound
def printSound(self):
print(self.sound)
dog1 = Dog('행복이','멍멍~~~')
dog1.printName()
dog1.printSound()
깔끔한 정리 감사합니다 :)