Python #0 ㅣ 파이썬의 함수들

신승호·2021년 2월 24일
0

Python

목록 보기
5/35
post-custom-banner

문자열 관련 함수

  • 기본구조 : 변수이름.함수()
  • ~.count() : 문자 개수 세기
>>a = 'shin' 
>>a.count('s') # 문자열 중 s의 개수 출력
1
  • ~.find() : 위치 알려주기
>> a = 'shin'
>> a.find('s') # 문자열 중 문자 s 가 처음으로 나온 위치 출력
0 # 파이썬은 0부터 세기 때문에 h 는 0임
  • ~.index() : 위치 알려주기
    index에서는 find와 달리 문자열 안에 존재하지 않는 문자를 찾으면 오류가 발생한다.
>> a = 'shin'
>> a.index('s') # 문자열 중 문자 s 가 처음으로 나온 위치 출력
0 # 파이썬은 0부터 세기 때문에 h 는 0임
  • ~.join() : 문자열 삽입
>>",".join('shin') #shin 문자열 각각의 문자 사이에 `,`삽입
's,h,i,n' 
>> ",".join(['a', 'b', 'c', 'd']) # 리스트와 튜플에서도 사용 가능
'a,b,c,d'
  • ~.upper() : 대문자 만들기
>> a = 'shin'
>> a.upper()
'SHIN'
  • ~.lower() : 소문자 만들기
>> a = 'SHIN'
>> a.lower()
'shin'
  • ~.lstrup() : 왼쪽 공백 지우기
>> a = ' shin '
>> a.lstrup()
'shin '
  • ~.rstrup() : 오른쪽 공백 지우기
>> a = ' shin '
>> a.rstrup()
' shin'
  • ~.strup() : 양쪽 공백 지우기
>> a = ' shin '
>> a.strup()
'shin'
  • ~.replace() : 문자열 바꾸기
>> a = 'shin is stupid '
>> a.replace('stupid', 'smart') #stupid -> smart 로 바꾸란 말이당
'shin is smart'
  • ~.split() : 문자열 나누기
>> a = 'shin is smart'
>> a.split()
['shin', 'is', 'smart']-> 공백으로 문자열 나눔
>> a = 'shin_is_smart'
>> a.split('_') #이때 공백이 아닐 때 에는 따옴표 붙혀라..
['shin', 'is', 'smart']
>> a.split('s')
['', 'hin_i', '_', 'mart']

기타 함수

  • '~ {0} ~.'.format() : 문자열의 format 함수를 사용하여 좀 더 발전된 스타일로 문자열 포멧을 지정
  • len(변수) : 길이 구할 수 있다.
1. 문자열에서의 사용
>> a = "Life is too short"    
>> len(a)
17     **이때 출력값은 공백칸까지 추가된것 (글자 수 는 14개)
2. 리스트에서의 사용
>> a = [1, 2, 3]
>> len(a)
3
  • del 변수[삭제할 꺼] : 리스트의 요소들을 삭제할 수 있다
>> a = [1, 2, 3]
>> del a[1]
>> a
[1, 3]
>> a = [1, 2, 3, 4, 5]
>> del a[2:]
>> a
[1, 2]
  • type(x) : x의 자료형을 확인하는 함수
>> type(a)
<class 'bool'>
>> type(b)
<class 'bool'>
  • bool() : 자료형의 참과 거짓을 식별 할 수 있다.
>> bool([1,2,3])
True
>> bool([])
False
>> bool(0)
False
>> bool(3)
True
>> bool('')
False
>> bool('python')
True

range 함수

-'range(시작 숫자,끝 숫자)`: 숫자 리스트를 자동으로 만들어 주며, 시작 숫자부터 끝 숫자 전까지를 리스트로 만들어 준다

>> a = range(10)
>> a
range(0, 10) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 리스트가 만들어 진것임
  • forrange를 활용해서 1부터 10까지 더하기
>> add = 0 
>> for i in range(1, 11): 
...     add = add + i 
... 
>> print(add)
55
  • len() 함수와 같이 사용 : len() 함수는 리스트안의 요소 개수를 돌려주는 함수다.
>>marks = [90, 25, 67, 45, 80]
>> for number in range(len(marks)): # len(marks)는 5가 될것임 -> number 변수에는 차례로 0부터 4까지의 숫자가 대입될 것
	if marks[number] < 60: 
		print('%s student is fail, do not cry and study' % (number+1))
	elif marks[number] >= 60:
		print('%s student is pass, but u study more' % (number+1))
1 student is pass, but u study more
2 student is fail, do not cry and study
3 student is pass, but u study more
4 student is fail, do not cry and study
5 student is pass, but u study more
  • for와 range를 이용한 구구단
>> for i in range(2,10):
	for j in range(1,10):
		print('{}*{}={}'. format(i, j, i*j), end =" ")
	print(' ')
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18  
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27  
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36  
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45  
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54  
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63  
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72  
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81  
>> for i in range(2,10):
	for j in range(1,10):
		print(i*j, end = " ")
	print(' ')
2 4 6 8 10 12 14 16 18  
3 6 9 12 15 18 21 24 27  
4 8 12 16 20 24 28 32 36  
5 10 15 20 25 30 35 40 45  
6 12 18 24 30 36 42 48 54  
7 14 21 28 35 42 49 56 63  
8 16 24 32 40 48 56 64 72  
9 18 27 36 45 54 63 72 81  
***`print(i*j, end=" ")` 
이때 `매개변수 end= " "`는 출력 값을 다음줄로 넘기지 않고 그 줄에 계속해서 출력하기 위해서 사용 
***`print(' ')`
매개변수 이후 바로 나오는 `print(' ')`는 두 번째 for문이 끝나면 결괏값을 다음 줄부터 출력하게 해준다

리스트 관련 함수

  • 기본구조 : 변수이름.함수()
  • ~.append(x) : 리스트의 맨 마지막에 x값을 추가
>> a = [1, 2, 3]
위의 리스트에 4를 추가하라
>> a.append(4)
>> a
[1, 2, 3, 4]
>> a.append([5,6])
>> a
[1, 2, 3, 4, [5, 6]]
  • ~.sort() : 리스트의 값을 순서대로 정렬
>> a = [1, 4, 3, 2]
>> a.sort()
>> a
[1, 2, 3, 4]
>> a = ['a', 'c', 'b']
>> a.sort()
>> a
['a', 'b', 'c']
  • ~.reverse() : 리스트의 값들을 그대로 거꾸로 뒤집음
>> a = ['a', 'c', 'b']
>> a.reverse()
>> a
['b', 'c', 'a']
  • ~.index(x) : 리스트의 있는 x값의 위치를 알려줌
>> a = [1,2,3]
>> a.index(3)
2
>> a.index(1)
0
  • ~.insert(a,b) : 리스트의 a위치에 b를 삽입
>> a = [1, 2, 3]
>> a.insert(0, 4)
>> a
[4, 1, 2, 3]
  • ~.remove(x) : 리스트에서 첫번째로 나오는 x를 삭제
>> a = [1, 2, 3, 1, 2, 3]
>> a.remove(3)
>> a
[1, 2, 1, 2, 3]
>> a.remove(3)
>> a
[1, 2, 1, 2]
  • ~.pop(1) : 괄호 위치의 리스트를 출력하고, 그 출력된 값을 리스트에서 삭제(괄호에 아무것도 없다면 리스트 맨 마지막 값을 출력 후 삭제)
>> a = [1,2,3]
>> a.pop()
3
>> a
[1, 2]
>> a = [1,2,3]
>> a.pop(1)
2
>> a
[1, 3]
  • ~.count(x) : 리스트안 x의 개수를 출력
>> a = [1,2,3,1]
>> a.count(1)
2
  • ~.extend(x) : append와 달리 x는 리스트만 올 수 있다
>> a = [1,2,3]
>> a.extend([4,5])
>> a
[1, 2, 3, 4, 5]
>> b = [6, 7]
>> a.extend(b)
>> a
[1, 2, 3, 4, 5, 6, 7]

딕셔너리 관련 함수

  • 기본구조 : 변수이름.함수()

-변수이름.key() : key로만 리스트를 만들고, dict_keys를 변수로 리스트 출력한다.

>> a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}
>> a.keys()
dict_keys(['name', 'phone', 'birth'])
>> for k in a.keys():
...    print(k)
...
name
phone
birth
  • dict_keys 의 사용
  • 리스트를 사용하는 것과 차이가 없지만, 리스트 고유의 append, insert, pop, remove, sort 함수는 수행할 수 없다.
>> list(a.keys())
['name', 'phone', 'birth']
  • 변수이름.value() : value로만 리스트 만들고, dict_value를 변수로 리스트 출력한다.
>> a.values()
dict_values(['pey', '0119993323', '1118'])
  • 변수이름.items() : Key, Value 같이 리스트 만들고, dict_items로 리스트 출력한다.
>> a.items()
dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])
  • 변수이름.clear() : key, value를 전부 지운다.
>> a.clear()
>> a
{} # 리스트는 값이 없을 때'[]`, 튜플은 '()', 딕셔너리는 '{}'
  • 변수이름.get(key값) : x에 key값을 넣어서 value값 얻을 수 있다.
>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>> a.get('name')
'pey'
>> a.get('phone')
'0119993323'
  • **이때 변수이름(key값)사용과 '변수이름.get(key값)`의 차이점은 존재하지 않은 키값을 입력했을 때 나온다.
>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>> print(a.get('nokey')) 
None # 값이 None으로 나오며, 이 이 의미는 거짓이라는 의미
>> print(a['nokey'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'nokey' # 오류가 나온다
  • 변수이름.get(key값, default값) : 안에 찾으려는 Key 값이 없을 경우 미리 정해 둔 디폴트 값을 대신 가져오게 하고 싶을 때 사용한다.
>> a.get('foo', 'bar')
'bar'

key값 in 변수이름 :해당 key가 딕셔너리 안에 있는지 없는지 조사할 때 사용한다.

>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
>> 'name' in a
True # 있으면 True 출력
>> 'email' in a
False # 없으면 False 출력

집합 자료형 관련 함수들

  • 기본구조 : `변수이름.함수()'

변수이름.add(추가할 값) : 자료형에 값을 1개만 추가

>> s1 = set([1, 2, 3])
>> s1.add(4)
>> s1
{1, 2, 3, 4}

변수이름.update([추가할 값1, 추가할 값2,..]) : 자료형에 값을 여러개 추가

>> s1 = set([1, 2, 3])
>> s1.update([4, 5, 6])
>> s1
{1, 2, 3, 4, 5, 6}

변수이름.remove(추가할 값) : 특정 값을 제거 할 때

>> s1 = set([1, 2, 3])
>> s1.remove(2)
>> s1
{1, 3}
profile
신승홉니다
post-custom-banner

0개의 댓글