무료로 공부할려면 https://wikidocs.net/2 이 사이트를 이용하자
파이썬은 대소문자를 구분해서 사용한다.
변수 생성 count = 1 COUNT = 2 는 다른변수 이다.
변수 값 대입 시 number = 1 flag = True char='X' 를 설정시 자동으로 자료형이 정해짐
파이썬에서 주석 처리할때는 # 을 이용
여러줄 주석시에는 """ """ 삼중 따옴표를 이용한다.
"""
여러줄 주석입니다
"""
자료형에는 정수 , 실수 , 복소수, 문자열(한,영) , 리스트 , 튜플 ,사전등이 있다
data=1 # 정수
data2 = 1.5 # 실수
data3 = 1+7j # 복소수
data4 = '대충벌레' # 문자열
data5 = [1,2,3] # 리스트
data6 = (1,2,3) # 튜플
data7 = {0:"대충",1:"벌레"} # 사전
print는 인자로 입력된 값을 출력한다
ex) a= 20 print(a) 20이 출력됨.
a = 20
print(a) # 20이 출력됨.
파이썬은 다른 언어와 달리 {} 로 코드를 구분하기 않고 들여쓰기로 대신함
그래서 들여쓰기가 가장 중요!!
a = 20
if a == 20:
print('a는 20입니다.')
파이썬 조건문 if~else
if 조건이 참이면 들여쓰기한 코드를 실행하고 조건이 거짓일떄 else가 있다면 else문을 실행한다
b=1
c=2
if b == c:
print('b와 c의 값이 같습니다.')
else:
print('b와 c의 값이 다릅니다.')
조건이 여러개일때는 if ~elif
여러개의 조건을 순차적으로 체크합니다.
b=2
c=2
if b > c:
print('b가 c 보다 큽니다.')
elif b <c:
print('b가 c보다 작습니다.')
else:
print('b와 c의 값이 같습니다..')
반복문 for
for문에서 범위로 사용되는것은 반드시 반복가능한 자료
for 변수 in 범위:
실행코드
ex_for = [1,2,3,4]
for i in ex_for:
print(i)
str1='abcd'
for i in str1:
print(i)
code1 = {'a':97,'b':98}
for i in code1:
print(i)
for문 반복문을 돌다가 조건에 맞으면 탈출할수도 있고 계속 수행할수도 있음
for ~ continue ~ break
ex_for = [1,2,3,4]
for x in ex_for:
print(x)
if x<3:
continue
else:
break
출력 결과는 1\n2\n3\n (\n는 줄넘김 한다는 뜻)
또 for문이 정상적으로 수행됐을때 실행하는 코드도 있음
for ~ else
ex_for = [1,2,3,4]
for x in ex_for:
print(x)
if x<3:
continue
#else:
#break
else:
print('끝까지 반복됨')
# 실행결과
1
2
3
4
끝까지 반복됨
for문과 비슷한 반복문 while문도 있음
while문은 조건을 만족할때 주로 사용함.
x = 0
while x < 5:
print(x)
x += 1
if(x>3):
break
파이썬에선 다른언어에서 처럼 null 이란 말대신 ? None을 사용함
변수에 자료형을 결정하지않았을때나 함수에서 아무런 값도 리턴하지 않을때 사용함
함수에서 None으로 리턴종료시 함수호출한 쪽에서 실행도중 오류가 발생하였다는것을 알수 있게 합니다.
a= None
if a==None:
print('없음')
2 진수에는 0b 8진수에는 0o 16진수는 0x로 시작하는 수이다.
data1=10 # 기본 10진수
data2=0b10 # 2진수 2
data3=0o10 # 8진수 8
data4=0x10 # 16진수 16
a+b의 합을 하고 출력할때 print에 end='' 이것을 추가하면 줄넘김을 하지않는다.
a=1
b=2
print('a+b의 합:',a+b,end='')
연산자 축약 // True , False
a += 1
a -= 1
a *= 1
a /= 1
===========
a = True
b = False
논리 연산자 and , or , not
a = True
b = False
print(a and b) # False
print(a or b) # True
print(not a) # False
print(not b) # True
시퀀스 자료 인덱싱
인덱싱은 해당하는 자리의 값을 추출? 하는 방법
str2 = '대충벌레'
listbug = [1,2,3,[1,2]]
print(str2[2]) # 벌
print(str2[-3]) # 충
print(listbug[1]) # 2
print(listbug[3][0]) # 1
인덱싱이랑 슬라이싱의 차이는
인덱싱은 해당요소 하나를 가져오지만 슬라이싱은 일정범위에 해당하는 부분을 가져온다.
str3 = '대충벌레'
print(str3[0:2]) # 대충
print(str3[2:]) # 벌레
print(str3[:-2]) # 대충
print(str3[-2:]) # 벌레
print(str3[:]) # 대충벌레
print(str3[::2]) # 대벌
시퀀스 자료 연결
자료형이 동일하면 + 연산자로 새로운 시퀀스 자료로 만들수 있음.
str1='대충하는'; str2= '벌레'; str3 = '나'
list_data=['대충','벌레']
print(str1+str2) # 대충하는벌레
print(str1+str3) # 대충하는나
print(list_data[1]+str2) # 벌레벌레
시퀀스 자료 반복
다른언어와 다르게 쉽게 문자를 반복할수 있음
str1='대충하는'; str2= '벌레'; str3 = '나'
print(str1*3)
시퀀스의 자료 크기는 len으로 나타냄
print(len(str1)) # 대충하는 4
print(len(str2)) # 벌레 2
print(len(list_data)) # list_data=['대충','벌레'] 2
리스트 혹은 문자열에 어떠한 값이 있는지 체크할려면 in 키워드 사용
str1='대충하는'; str2= '벌레'; str3 = '나'
list_data=['대충','벌레']
test1 = '대충' in str1
print(test1) # True
test2 = '대' in list_data
print(test2) # False
문자열 포맷팅
값이 변하는 문자열을 표현할때 사용
포맷 문자열은 %s, %c ,%f %d 등이 있으며
%s 는 문자열 %c는 문자 혹은 기호 %f는 실수 %d는 정수에 대응한다.
text1 = '대충벌레'
text2 = '블로그'
num1= 2021
num2= 1
print('이 %s 의 이름은 %s %s 입니다'%(text2,text1,text2))
# 이 블로그 의 이름은 대충벌레 블로그 입니다
print('지금은 %d 년 %d월 입니다'%(num1,num2))
# 지금은 2021 년 1월 입니다
리스트 [ ]
파이썬에서 자주 활용 대괄호로 표시하고 튜플과는 다르게 요소값 변경 가능
요소는 [객체: 숫자, 문자 , 문자열 , 리스트, 튜플 ,사전 등 자료형 함수 ,클래스] 가능
list1=[1,2,3,4]
list2=['a','b','c','d']
튜플 ( )
리스트와 비슷하지만 요소의 값 변경 불가
tuple1 = (1,2,3,4,5)
tuple2 = ('a','b','c')
tuple3 = (1,)
tuple4 = 2,
한개짜리 튜플을 만들때는 쉼표가 반드시 있어야 합니다. 만약 쉼표가 없다면 그건 그냥 int형입니다[숫자일경우]
type(tuple3)
Out[11]: tuple
type(tuple4)
Out[12]: tuple
쉼표가 없을경우
tuple형이 아니라 int형이 된다.
test = (1)
type(test)
Out[13]: int
사전 { }
사전은 순서가 없기때문에 인덱싱으로 접근 불가
dict1 = {'key1':'value1','key2':'value2','key3':'value3'}
type(dict1)
print(dict1)
#print(dict1[0]) 사전은 순서가 없다
print(dict1['key1']) # value1
print(len(dict1)) # 3