print 안 뒤쪽에 ,sep = ' ' 하면 빈 칸 대신 다른 것을 삽입하라는 의미.
ex) print("Best", 100, sep = "") -> Best100
======================================================
input과 쓰는 예시
================================================
텍스트 파일 만들기
1. pwd로 주피터 노트북 실행위치 확인
한 줄씩 읽는 readline()
전체 읽기 함수 readlines()
=======================================================
하지만 with 문을 많이 쓴다.
기존 방식으로 한 것을 with로 쓰면(또는 반대로 하면) 내용이 통째로 교체됨
option이 'w'가 아닌 'a' (= append)인 경우, 기존 내용을 지우지 않고 뒤에 바로 추가함
응용 예제
===========================================================
함수 개념: argument; input(매개변수) -> 출력(output)
작성법:::(custom, 사용자정의함수) <-> built in(내장) 함수 such as float(), int() ...
def 함수이름(): * : 콜론 까먹지 말 것!
액션코드(return)
실행법:::
함수이름() <- 이것 만 입력시, 액션코드 실행됨
변수를 넣은 함수 작성 예제
def 함수이름(변수):
print("숫자", 변수) Ex) 함수이름(3) -> 숫자 3
def 함수이름(x, y): <- 변수 여러개 可
print("변수", x, y) Ex) 함수이름(x, y) -> 변수 x y <- 단 입력때 하나 누락시, 오류발생
def func(x, y):
z = x + y
return z Ex) func(1,2) -> 3
local, global 변수
a = 5 <- global variable when it is outside normally
def func1(): <- local variable when it is in functions or classes
a = 1
print(a)
-> 여기서 func1() 입력 >>> 1 -> 함수 안에서만 a = 1.
그냥 a 입력 >>> 5
함수 안에서 global을 정의하는 경우
def func1():
global a <- 근데 보통은 굳이 이렇게 안함
lambda 함수 -> 함수 정의를 단순하게 할 때 사용.
(lambda 변수 : 변수 식)(대입값) ex) (lambda x : x**2)(3)
함수 = (lambda x : x**2) -> 함수(3) -> 이런식으로 변수 지정해서 대입도 可
다변수 ex) 여러함수 = lambda x,y,z : x + y + z -> 여러함수(1, 2, 3,) -> 6
리스트를 변수로 넣기(중첩함수)
Ex) data = [1,2,3,4,5]
def func(data): outer함수
dataSet = data
def avg_func(): inner 함수
avg_val = mean(dataSet) <- from statistics import mean
return avg_val
return avg_func
재귀함수: LIFO 규칙 따름 (last income, first out 나중에 나온게 제일 먼저 나옴)
def counter(n): -> 0이 될 때까지 카운트하는 함수
if n == 0:
return 0
else:
counter(n-1)
print(n, end = ' ')
보통은 내장함수(패키지)를 쓰지 직접 만들어 쓰는 경우는 드물다!
bool() bool(0) -> False bool(1) -> True
pass: 문법상 오류 방지하면서 아무런 기능을 하지 않는 것.
==============================================================
class 각종 특성들을 만들어놓고 가져다 쓸 수 있게 하는 것.
type(int, float 등) 을 만들어내는 개념
개념 이해에 목적을 두고 공부! (짜는 것에 대한 부담갖지 말기)
class a:
x = 0
y = 0 <- 객체(=object) 생성 (생성자) 객체: 만들어놓고 가져다 쓸 수 있는 것들
def __init__(self, x, y):
self.x = x
self.y = y
def plus(self): <- 생성자 메소드(방법)정의
z = self.x + self.y
return z
def __del__(self): <- 소멸자 (굳이 안써도 보통 자동으로 사라짐)
del self.x
del self.y
Ex)
def 바퀴(self): <- 생성자 메소드(방법)정의
z = self.x + self.y
return z
def 엔진(self): <- 생성자 메소드(방법)정의
z = self.x + self.y
return z
def 도어(self): <- 생성자 메소드(방법)정의
z = self.x + self.y
return z
소나타 = 자동차(10, 20)
산타페 = 자동차(10, 20)
예제)
class Bicycle(): <-bicycle에 대해 저장
wheel_szie = 26
color = 'black'
(pass) <- 없으면
my_bicycle = Bicycle()
(따로 정의)
my_bicycle.wheel_size=26
my_bicycle.color = 'black'
print("바퀴크기:", my_bicycle.wheel_size )
print("색상:", my_bicycle.color)
Two method(메소드; 클래스에 정의된 함수)
1. instant method (static method) ; 정적매소드
-- object.method() 호출, self(기본)
2. class method(함수)
-- class.method() 호출, cls(기본)
'Programming > Python' 카테고리의 다른 글
[python] 문자열 편집, 절대경로 상대경로, 데이터 읽고 처리 (1) | 2023.08.21 |
---|---|
[Python] 모듈, package, random (0) | 2023.08.18 |
[Python] class 개념 재정리 (pre course) (0) | 2023.08.17 |
[Python] set, dict, If, for, while (0) | 2023.08.16 |
[Python] 기본 연산, 변수, 리스트, 튜플, range (0) | 2023.08.14 |