파이썬 기초

45697 단어 pythonpython

1.파이썬 기본 문법

1.input

======실행코드======

var1=input()
print(var1)
print(type(var1))

======실행결과======

20
20
<class 'str'>

>>var1이란 변수에 input()함수를 통해 키보드에서 입력을 받고 그 자료형은 str로 들어간다.

2.자료형 변형

======실행코드======

var1=int(input())
print(var1)
print(var1,type(var1))
var1=str(var1)
print(var1,type(var1))
var1=float(var1)
print(var1,type(var1))

======실행결과======

20
20
20 <class 'int'>
20 <class 'str'>
20.0 <class 'float'>

>>int(),float,str() 괄호 안에 변수를 넣음으로써 변수의 자료형을 변형할 수 있고 var1=int(input())을 통해 입력값을 넣고 정수형으로 바로 변형시켜 변수에 초기화 가능하다.

3.시퀀스자료형

======실행코드======

strdata = 'abcde'  #문자열자료형
listdata = [1,[1,2],'안녕']  #리스트자료형
tupledata = (100,200,300)  #튜플자료형
#
print(strdata)
print(listdata)
print(tupledata)
#
print(strdata[0])
print(listdata[1])
print(tupledata[2])
#
print(strdata[1:])
print(listdata[1:2])
print(tupledata[:])

======실행결과======

abcde
[1, [1, 2], '안녕']
(100, 200, 300)
a
[1, 2]
300
bcde
[[1, 2]]
(100, 200, 300)

>>시퀀스자료형이란 순서가 있는 자료형을 말하며 리스트,튜플,문자열등의 자료형이있다.이자료형들은 인덱싱을 통해 자료안의 데이터를 꺼낼 수 있으며 슬라이싱을 통해 여러데이터를 한번에 뽑아올 수 있다.

4 .조건문

======실행코드======

answer=25;
submit=int(input());
if (submit>answer):
    print("정답보다 더 큰 수를 입력했습니다.");
elif (submit<answer):
    print("정답보다 더 작은 수를 입력했습니다.");
else:
    print("정답!");

======실행결과======

20
정답보다 더 작은 수를 입력했습니다.

>>if,elif,else를 통해 조건을 통해 원하는 코드를 실행 할 수 있으며 if에서 조건의 결과가 false라면 false라는 조건 중에서 elif를 판단하고 elif의 결과도 false라면 else의 구문을 실행한다.

5.반복문

======실행코드======

# 리스트를 범위로 지정한 예
list = [1, 2, 3, 4, 5]
for num in list:
    print(num,end=' ')
# range()를  범위로 지정한 예
print()
for num in range(10):
    print(num,end=' ')

======실행결과======

1 2 3 4 5 
0 1 2 3 4 5 6 7 8 9 

>>for num in list 구문을 통해 num변수에 차례로 list의 데이터를 하나하나 받아와 반복을 수행하며 for num in range(10)구문은 range가 0~9까지의 숫자를 생성하여 num이 차례로 받아와 반복을 수행한다.


2.파이썬 내장함수 및 메소드

1.내장함수

  • type
    >>print(type(var))

    var변수의 자료형을 출력
  • divmod
    >>ret1, ret2 = divmod(a,b)

    a를 b로 나눈 몫과 나머지를 각각 ret1,ret2에 저장
    (a가 실수형일 경우 int(a)로 형변환후 divmod연산을 수행한다.)
  • hex,bin
    >>h1 = hex(97)
    >>a = int(h1,16)
    >>b1 = bin(97)
    >>b = int(b1,2)

    hex는 16진수로 변환,bin은 2진수로 변환하여 저장하고 int의 두번째 인자에 데이터의 진수를 입력하여 10진수로 변환
  • abs,round
    >>abs1 = abs(-3)
    >>abs2 = abs(-3.25)
    >>ret1 =round(16.554,2)
    >>ret2 =round(1118,-1)

    abs는 정수든 실수든 자료형을 유지하며 절댓값을 반환하고 round는 두번째 인자에 원하는 소수점을 넣어 반올림
    (round의 두번째인자의 음숫값은 소수점 왼쪽자리이다.)
  • min,max
    >>maxlist = max(listdata)
    >>minlist = min(listdata)

    max는 시퀀스자료형의 가장 큰 요소를 반환하고 min은 가장 작은 요소를 반환
    (round의 두번째인자의 음숫값은 소수점 왼쪽자리이다.)
  • len
    >>word_len = len(word)

    시퀀스자료형의 길이를 반환

2.문자열 메서드

  1. isalpha(),isdigit()
    ======실행코드======
txt1 = 'A'
ret1 = txt1.isalpha()
txt2 = 'Warcraft Three'
ret2 = txt2.isalpha()
txt3 = '010-1234-5678'
ret3 = txt3.isdigit()
txt4 = '010 1234 5678'
ret4 = txt4.isdigit()
print(ret1,ret2,ret3,ret4)

======실행결과======

True False False False

>>특정 문자열이 한글이나 알파벳으로만 구성되어 있는지 확인하여 불린자료형으로 반환

(공백도 false로 간주하여 반환한다.)
  1. upper(),lower()
    ======실행코드======
txt = 'Python is a widely used High-level Programming Language for general-purpose programming.'
ret1 =txt.upper(
ret2 =txt.lower()
#
print(ret1)
print(ret2)
print(txt)

======실행결과======

PYTHON IS A WIDELY USED HIGH-LEVEL PROGRAMMING LANGUAGE FOR GENERAL-PURPOSE PROGRAMMING.
python is a widely used high-level programming language for general-purpose programming.
Python is a widely used High-level Programming Language for general-purpose programming.

>>upper은 대문자,lower은 소문자로 변형시키며 원본은 유지한다.

  1. lstrip(),rstrip(),strip()
    ======실행코드======
txt = '  양쪽에 공백이 있는 문자열입니다.     '
ret1 =txt.lstrip()
ret2 =txt.rstrip()
ret3 =txt.strip()
#
print('ret1 : ' + '<' + ret1 + '>')
print('ret2 : ' + '<' + ret2 + '>')
print('ret3 : ' + '<' + ret3 + '>')

======실행결과======

ret1 : <양쪽에 공백이 있는 문자열입니다.     >
ret2 : <  양쪽에 공백이 있는 문자열입니다.>
ret3 : <양쪽에 공백이 있는 문자열입니다.>

>>lstrip는 문자열의 왼쪽
rstrip는 문자열의 오른쪽
lstrip는 문자열의 양쪽의 공백을 제거한다.

  1. count()
    ======실행코드======
txt = 'A lot of things occur each day, every day.'
word_count1 = txt.count('o')
print(word_count1)

======실행결과======

3

>>count는 문자열안의 특정 문자의 갯수를 세어 반환한다.

  1. find()
    ======실행코드======
txt = 'A lot of things occur each day, every day.'
offset1 = txt.find('e')
offset2 = txt.find('day',30)
print(offset1)
print(offset2)

======실행결과======

22
38

>>find는 특정 문자의 첫 시작인덱스를 반환한다.

(두번째 인자는 찾기시작할 인덱스를 의미한다.)
  1. split(),join()
    ======실행코드======
fb_url = 'https://www.facebook.com/elice.io'
ret1 = fb_url.split('.')
print(ret1)
loglist = ['2017/09/01', '10:10:25', '프로그램이 종료']
log = '-'.join(loglist)
print(log)
print(fb_url)
print(loglist)

======실행결과======

['https://www', 'facebook', 'com/elice', 'io']
2017/09/01-10:10:25-프로그램이 종료
https://www.facebook.com/elice.io
['2017/09/01', '10:10:25', '프로그램이 종료']

>>split은 특정문자를 기준으로 문자열에서 리스트로 변환시키고
join은 특정 문자를 기준으로 리스트에서 문자열로 변환시킨다.

(원본은 유지한다.)

3.리스트 메서드

  1. index()
    ======실행코드======
solarsys = ['태양', '수성', '금성', '지구', '화성', '목성', '토성', '천왕석', '해왕성']
earth = '지구'
pos1 = solarsys.index(earth)
print('%s은(는) 태양계에서 %d번째에 위치하고 있습니다.' %(earth, pos1))

======실행결과======

지구은() 태양계에서 3번째에 위치하고 있습니다.

>> index는 데이터의 인덱스를 찾아 반환한다.

  1. append(),insert()
    ======실행코드======
day = ['아침', '점심', '저녁']
day.append('야식')
print(day)
#
solarsys = ['수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성']
solarsys.insert(3,'달')
print(solarsys)

======실행결과======

['아침', '점심', '저녁', '야식']
['수성', '금성', '지구', '달', '화성', '목성', '토성', '천왕성', '해왕성']

>> append는 끝 리스트에 데이터를 추가하고
insert는 원하는 인덱스에 데이터를 삽입한다.

(insert삽입시 데이터가 뒤로 밀린다.)
  1. del,remove()
    ======실행코드======
solarsys = ['태양', '수성', '금성', '지구', '달', '화성', '목성', '토성', '천왕성', '해왕성']
del solarsys[0]
print(solarsys)
#
solarsys.remove('달')
print(solarsys)

======실행결과======

['수성', '금성', '지구', '달', '화성', '목성', '토성', '천왕성', '해왕성']
['수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성']

>> del은 특정 인덱스로 제거하고
remove는 특정 데이터로 검색하여 제거한다.

(del solarsys[1:3]와 같이 슬라이싱을 통해 한번에 많은 데이터를 제거할 수 있다.)
  1. sort(),sorted()
    ======실행코드======
lotto770 = [34, 1, 43, 9, 12, 39, 23]
namelist = ['Marry', 'Sams', 'Aimy', 'Tom', 'Michael', 'Bob', 'Kelly']
#
lotto770.sort()
#
ret = sorted(namelist,reverse=True)
#
print(lotto770)
print(namelist)
print(ret)

======실행결과======

[1, 9, 12, 23, 34, 39, 43]
['Marry', 'Sams', 'Aimy', 'Tom', 'Michael', 'Bob', 'Kelly']
['Tom', 'Sams', 'Michael', 'Marry', 'Kelly', 'Bob', 'Aimy']

>> sort()는 리스트의 원본 자체를 정렬시키고
sorted는 복사하여 정렬후 반환한다.

  1. enumerate()
    ======실행코드======
solarsys = ['태양', '수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성']
ret = list(enumerate(solarsys))
print(ret)

======실행결과======

[(0, '태양'), (1, '수성'), (2, '금성'), (3, '지구'), (4, '화성'), (5, '목성'), (6, '토성'), (7, '천왕성'), (8, '해왕성')]

>> enumerate()는 시퀀스 자료형을 인자로 받아 각 요소를 인덱스와 함께 쌍으로 추출하여 반환한다.

  1. sum()
    ======실행코드======
listdata1 = [2, 2, 1, 3, 8, 5, 7, 6, 3, 6, 2, 3, 9, 4, 4]
listdata2 = list(range(103, 1226))
ret1 = sum(listdata1)
ret2 =sum(listdata2)
print(ret1)
print(ret2)

======실행결과======

65
745672

>> sum()은 리스트형의 인자만 받을 수 있으며 리스트안의 모든 합을 반환한다.

(리스트안에 숫자형 데이터가 아닐 경우 에러가 난다.)

자료형별 메서드 분류

문자열리스트공통
isalpha()isdigit()index()max(),min()
upper(),lower()append(),insert()len()
lstrip(),rstrip(),strip()del,remove()count()
find()sort()count(),
split(),join()enumerate()sorted()
sum()

좋은 웹페이지 즐겨찾기