CodingTest/Python

파이썬 외워야할 문법 정리

슬라임 통통 2020. 12. 4. 02:31
728x90

bop.wikibook.co.kr/oop.html

 

객체지향 프로그래밍 · GitBook

객체지향 프로그래밍 지금까지 작성한 모든 프로그램에서는 프로그램을 함수, 즉 데이터를 조작하는 문장 블록 위주로 설계했습니다. 이를 절차지향(procedure-oriented) 방식의 프로그래밍이라고

bop.wikibook.co.kr

 

 

isalpha()

x = 'a'

x.isalpha()   #x가 알파벳이면 true, 아니면 false 리턴

 

List에 값 추가 

list = []

x=0
list.append(x)

 

 

 

join

list = ['a', 'b', 'c']

result = ''.join(list)

print(result) #abc출력

 

 

 

 

List 초기화

# 2차원 리스트를 0으로 초기하는 방법
# n x m 을 0으로 초기화 하는것. 
# 인덱스를 굳이 사용하지 않을 땐 언더바_ 를 이용하기도 한다.
d = [[0] * m for _ in range(n)]


# 2차원 리스트를 사용자로부터 입력 받는법
array =[]
for i in range(n) :
	array.append(list(map(int, input().split())))
 

 

 

 

 

얕은복사 깊은복사

import copy

a = [1,2,3]

b = a 
c = copy.deepcopy(a)

a[0] = 2

print(b) # [2,2,3] 출력
print(c) # [1,2,3] 출력

 

깊은 복사는 완전 다른 객체 ( 주소값이 다르게) 로 만들어준다.

 

 

 

 

다중 값으로 정렬하기

result = sorted(result, key = lambda x : (x[0], x[1], x[2]))

0번째인자 그다음 1번째 인자 그다음 2번째 인자 순서대로정렬 

혹시 역정렬 원할시에는 - 붙이면됨.

 

 

 

 

메소드의 인자 관련된 얘기

import copy

a = [[1,1,1],[2,2,2]]
b = [[2,2,2],[3,3,3]]
c = copy.deepcopy(a)

c[0] = [4,4,4]

def ex1(c):
    d = b
    d[0][0] = 1
    print(d)

ex1(c)
print(b)

인자를 넣지도 않았는데 돌아가는 경우도 있다. 바깥 변수를 전역변수로 인식.

728x90
반응형