상세 컨텐츠

본문 제목

[PYTHON] 자료형과 함수, 클래스

PYTHON/기본

by ranlan 2021. 4. 20. 17:56

본문

728x90

 

점프 투 파이썬 wikidocs https://wikidocs.net/16

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net


 

표준 입출력

정식 입출력 (Standard Output - stdout, sysout)

print("Hello World")

a = input("input message")
print(a)

문장 마지막에 출력할 문자 지정

print('abc', end='\n') # abc\nabc
print('abc', end='\n')

print('abc', end='___') # abc___abc___
print('abc', end='___')

구분자 지정

print("010", "1234", "5678", sep="-") # 010-1234-5678

 

 

자료형

숫자형

a = 1 # <class 'int'> 정수형
b = 1.345 # <class 'float'> 실수형

숫자형 연산

1 + 2 # 3
4 - 2 # 2
4 * 2 # 8
4 / 2 # 2.0
4 % 2 # 0

# 거듭제곱
3 ** 2 # 9

# floor division 버림 나눗셈
7 // 2 # 3
int(7 / 2) # 3
8.0 // 3 # 2.0

- 두 숫자중 하나가 소수형이면 소수형 반환

- 나눗셈은 결과가 항상 소수점

 

반올림 내장함수

pie = 3.14
round(pie) # 3
round(pie, 1) # 3.1 반올림 자리수 지정

 

Bool 자료형

True
False

bool(1) # True
bool(1==3) # False

 

문자열

2021.06.07 - [python] - [PYTHON] 자료형 - 문자열

 

집합

2021.06.07 - [python] - [PYTHON] 자료형 - 집합

 

리스트

2021.05.12 - [python] - [PYTHON] 자료형 - 리스트

 

딕셔너리

2021.05.12 - [python] - [PYTHON] 자료형 - 사전

 

 

변수 

변수 선언시 변수 타입을 따로 지정하지 않음

변수 이름 = 변수에 저장할 값

한번에 여러 변수 선언 가능 (* temp 없이 swap 가능)

a, b = 1, 2
print(a, b) # 1, 2

b, a = a, b
print(a, b) # 2, 1

 

 

함수

{} 대신 : 들여쓰기 로 영역을 나눔으로 들여쓰기가 매우 중요!

def function_name(param1, param2 ..):
    # 함수 내용
    # ..
    
funtion_name(arg1, arg2 ..);

여러개의 값 리턴 가능

def function_name2(param1, param2):
	// 함수 내용
    // ..
    return a, b ..
    
result1, result2 .. = function_name2(arg1, arg2)

default 값 지정

def add_nums_default1(num1, num2=10):
    # num2 default 10
    return num1 + num2

add_nums_default1(10) # 20
def add_nums_default2(num1=5, num2=10): 
    # num1 default 5
    # num2 default 10
    return num1 + num2

add_nums_default2(30) # 40 뒤의 매개변수부터 default처리

 

람다 함수 (익명함수)

보통 이름을 따로 정의하지 않고 일회성으로 사용할 함수에 사용

lambda 인자 : 표현식
함수명 = lambda input1, input2, .. : output

예시)

def add_nums(x, y):
	return x + y
    
add_nums = lambda x, y : x + y
~~~~([1, 2, 3], lambda x : x + 1)

 

 

클래스(Class)

파이썬은 변수 작성 시 snake_case(스네이크 표기법)를 권장하나 클래스 명은 PascalCase(파스칼 표기법) 사용

class 클래스명: # class 클래스명(상속받을 클래스):
	
    클래스 내용

    def __init__(self):
        # 생성자 constructor
        # 클래스 생성 시 실행되는 함수
        초기화 내용
        ...

    def 메서드명(self):
        메서드 내용
        ...

클래스 변수가 메서드를 호출할 때 객체 자신의 정보가 메서드의 첫번째 인자로 전달됨 -> self 변수를 이용하여 함수 내 변수 접근 가능

 

예시)

class Cage:
    
    def __init__(self):
        self.animals = ['Cat', 'Dog', 'Tiger']
    
    def check_animals(self):
        print(self.animals)
        
    def plus_animal(self, animal):
        self.animals.append(animal)
        print(self.animals)
cage_1 = Cage() # cage_1 = Cage.__init__()

cage_1 # ['Cat', 'Dog', 'Tiger'] 리스트 초기화

cage_1.add_animal('Pig') # cage_1.add_animal(cage_1)
cage_1.print_animals() # cage_1.print_animal(cage_1)

# ['Cat', 'Dog', 'Tiger', 'Pig'] 

 

 

Aliasing (가명)

# 1
x = 5
y = x
y = 3
print(x) # 5
print(y) # 3

# 2
x = [2, 3, 5, 7, 11]
y = x
y[2] = 4
print(x) # 2, 3, 4, 7, 11
print(y) # 2, 3, 4, 7, 11

# 3
x = [2, 3, 5, 7, 11]
y = list(x)
y[2] = 4
print(x) # [2, 3, 5, 7, 11]
print(y) # [2, 3, 4, 7, 11]

#1  x와 y는 다른 변수

#2  x와 y는 같은 메모리(리스트)를 참조하기 때문에 y를 변경하면 x도 변경됨, y는 alias(가명)

#3  y에 x를 복사해서 사용

728x90

관련글 더보기

댓글 영역