파이썬(python) 정리(1)

백준호·2022년 10월 25일
0

파이썬

목록 보기
1/3

파이썬이란?

파이썬(Python)은 1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어이다. 파이썬은 컴퓨터 프로그래밍 교육을 위해 많이 사용하지만, 구글과 같은 세계적인 기업에서도 많이 사용하는 언어이다.

파이썬은 문법이 쉬워 배우기 수월할 뿐만아니라 코드자체도 간결하고, 개발속도도 빠르다는 장점이 있어, 파이썬을 사용해 프로그램을 개발하는 업체들 또한 늘어 가고 있는 추세이다.

파이썬 문법

필자의 개발언어는 java를 기반으로 두고있기에 java와 차별화된 부분, java에 있지만 자주 사용하지 않았던 문법 위주로 정리하려한다. (새로운 문법을 발견할 때마다 지속적으로 추가 될 예정)


연산자


x의 y제곱을 나타내는 연산자 **

>>>a=4
>>>b=2
>>>x**y
16

실수형 나눗셈 /

>>>7/4
1.75

(java에서의 나눗셈) 몫만을 반환하는 //

>>>7//4
1


문자열


연속된 작은, 큰 따옴표 3개 (''',""")

>>>multiline="""
... Nice meet
... You
... """

출력값

>>> print(multiline)
Nice meet
You

문자열 곱하기

>>> a = "apple"
>>> a * 2
'appleapple'

문자열슬라이싱 ([시작값, 끝값(-1)]

>>>a= "hello joto bye bye"
>>>a[0:4] 
'hell'

문자열 포맷 코드

코드 			설명

%s		문자열(String)
%c		문자 1개(character)
%d		정수(Integer)
%f		부동소수(floating-point)
%o		8진수
%x		16진수
%%		Literal % (문자 % 자체)

[포매팅 연산자 %d와 %를 같이 쓸 때는 %%를 쓴다]

정렬과 공백
%10s는 문자열 공간 10개에 오른쪽 정렬

>>> "%10s" % "hi"
'        hi'

%-10s는 문자열 공간 10개에 왼쪽 정렬

>>> "%-10sjane." % 'hi'
'hi        jane.'

소수점 표현*
4번째 자리까지 표현

>>> "%0.4f" % 3.42134234
'3.4213'

위 두 예시 혼합 (공백/소수점)

>>> "%10.4f" % 3.42134234
'    3.4213'

format 함수를 사용한 포매팅
숫자인덱스로 숫자, 문자열 등 대입

>>> "I eat {0} apples".format(3)
'I eat 3 apples'

2개도 가능

>>> "I eat {0} apples {1}".format(3,2)
'I eat 3 apples 2'

이름으로 숫자, 문자열 등 대입

>>> "I eat {a} apples {b}".format(a=3,b=2)
'I eat 3 apples 2'

왼쪽 정렬

>>> "{0:<10}".format("hi")
'hi        '

오른쪽 정렬

>>> "{0:>10}".format("hi")
'        hi'

가운데정렬

>>> "{0:^10}".format("hi")
'    hi    '

공백 채우기

>>> "{0:=^10}".format("hi")
'====hi===='
>>> "{0:!<10}".format("hi")
'hi!!!!!!!!'

f 문자열 포매팅

>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age+1}입니다.'
'나의 이름은 홍길동입니다. 나이는 31입니다.'

정렬

>>> f'{"hi":<10}'  # 왼쪽 정렬
'hi        '
>>> f'{"hi":>10}'  # 오른쪽 정렬
'        hi'
>>> f'{"hi":^10}'  # 가운데 정렬
'    hi    '

공백 채우기

>>> f'{"hi":=^10}'  # 가운데 정렬하고 '=' 문자로 공백 채우기
'====hi===='
>>> f'{"hi":!<10}'  # 왼쪽 정렬하고 '!' 문자로 공백 채우기
'hi!!!!!!!!'

소수점

>>> y = 3.42134234
>>> f'{y:0.4f}'  # 소수점 4자리까지만 표현
'3.4213'
>>> f'{y:10.4f}'  # 소수점 4자리까지 표현하고 총 자리수를 10으로 맞춤
'    3.4213'

f 문자열에서 { } 문자를 표시하려면 다음과 같이 두 개를 동시에 사용.

>>> f'{{ and }}'
'{ and }'

문자열 관련 함수들

문자 개수 세기(count)

>>> a = "hobby"
>>> a.count('b')
2
# 문자열 중 문자 b의 개수를 돌려준다.

위치 알려주기1(find)

>>> a = "Python is the best choice"
>>> a.find('b')
14
>>> a.find('k')
-1
#문자열 중 문자 b가 처음으로 나온 위치를 반환한다. 만약 찾는 문자나 문자열이 존재하지 않는다면 -1을 반환한다.

위치 알려주기2(index)

>>> a = "Life is too short"
>>> a.index('t')
8
>>> a.index('k')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found

# 문자열 중 문자 t가 맨 처음으로 나온 위치를 반환. 
 만약 찾는 문자나 문자열이 존재하지 않는다면 오류를 발생.
 앞의 find 함수와 다른 점은 문자열 안에 존재하지 않는 문자를 찾으면 오류가 발생.

문자열 삽입(join)

>>> ",".join('abcd')
'a,b,c,d'
# abcd 문자열의 각각의 문자 사이에 ','를 삽입한다.

join 함수는 문자열뿐만 리스트나 튜플도 입력으로 사용.

>>> ",".join(['a', 'b', 'c', 'd'])
'a,b,c,d'
#소문자를 대문자로 바꾸기(upper)
>>> a = "hi"
>>> a.upper()
'HI'

대문자를 소문자로 바꾸기(lower)

>>> a = "HI"
>>> a.lower()
'hi'
# lower 함수는 대문자를 소문자로 바꾸어 준다.

왼쪽 공백 지우기(lstrip)

>>> a = " hi "
>>> a.lstrip()
'hi '
#문자열 중 가장 왼쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지운다. lstrip에서 l은 left를 의미한다.

오른쪽 공백 지우기(rstrip)

>>> a= " hi "
>>> a.rstrip()
' hi'
# 문자열 중 가장 오른쪽에 있는 한 칸 이상의 연속된 공백을 모두 지운다. rstrip에서 r는 right를 의미한다.

양쪽 공백 지우기(strip)

>>> a = " hi "
>>> a.strip()
'hi'
# 문자열 양쪽에 있는 한 칸 이상의 연속된 공백을 모두 지운다.

문자열 바꾸기(replace)

>>> a = "Life is too short"
>>> a.replace("Life", "Your leg")
'Your leg is too short'
# replace(바뀌게 될 문자열, 바꿀 문자열)처럼 사용해서 문자열 안의 특정한 값을 다른 값으로 치환해 준다.

문자열 나누기(split)

>>> a = "Life is too short"
>>> a.split()
['Life', 'is', 'too', 'short']
>>> b = "a:b:c:d"
>>> b.split(':')
['a', 'b', 'c', 'd']


리스트

리스트의 인덱싱

자바와는 다르게 리스트값 출력시 []괄호가 프린트됨

>>> a = [1, 2, 3]
>>> a
[1, 2, 3]

이중리스트 사용가능

>>> a = [1, 2, 3, ['a', 'b', 'c']]

# 값 이끌어내기
>>> a[0]
1
>>> a[-1]
['a', 'b', 'c']
>>> a[3]
['a', 'b', 'c']

# 이중 리스트 안에 값 중 일부 끌어내기
>>> a[-1][0]
'a'

리스트 연산하기
리스트 더하기(+)

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a + b
[1, 2, 3, 4, 5, 6]

리스트 반복하기(*)

>>> a = [1, 2, 3]
>>> a * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

리스트의 추가 삭제

>>> a = [1, 2, 3]
>>> del a[1]
>>> a
[1, 3]

리스트에 요소 추가(append)

>>> a = [1, 2, 3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]

리스트 정렬(sort)

>>> a = [1, 4, 3, 2]
>>> a.sort()
>>> a
[1, 2, 3, 4]

리스트 뒤집기(reverse)

>>> a = ['a', 'c', 'b']
>>> a.reverse()
>>> a
['b', 'c', 'a']

위치 반환(index)

>>> a = [1,2,3]
>>> a.index(3)
2
>>> a.index(1)
0

리스트에 요소 삽입(insert)

>>> a = [1, 2, 3]
>>> a.insert(0, 4)
>>> a
[4, 1, 2, 3]

리스트 요소 제거(remove) (앞에있는 것부터 하나씩 지워짐)

>>> a = [1, 2, 3, 1, 2, 3]
>>> a.remove(3)
>>> a
[1, 2, 1, 2, 3]
>>> a.remove(3)
>>> a
[1, 2, 1, 2]

리스트에 포함된 요소 x의 개수 세기(count)

>>> a = [1,2,3,1]
>>> a.count(1)
2

리스트 확장(extend)

>>> 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]

튜플

튜플과 리스트는 비슷한 역할을 하지만 튜플은값을 변화(생성,삭제,수정)시킬 수 없다. 리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러싼다.

>>> t1 = ()
>>> t2 = (1,) #한개의 값일 경우 끝에 , 찍어주기
>>> t3 = (1, 2, 3) 
>>> t4 = 1, 2, 3 #괄호 생략가능
>>> t5 = ('a', 'b', ('ab', 'cd'))

함수는 리스트와 같다


참조 : 점프 투 파이썬

profile
남들이 다 아는 걸 모를 수는 없지!

0개의 댓글