본문 바로가기

나도코딩 파이썬

(16)
[나도코딩 파이썬기초(8)] 클래스(init 함수, 멤버변수, 객체, 상속, 메소드, 오버라이딩, pass, super) 클래스 스타크래프트를 예를 들면, 마린 유닛과 탱크유닛을 각각 생성한다고 하자. 각각의 이름과 체력 그리고 공격력을 지정해준다. 변수가 적으면 일일이 만들어 줄 수 있지만, 숫자가 점점 늘어난다면 관리가 어려워진다. 따라서 클래스가 필요하다. 붕어빵틀이라고 생각하면 된다. class Unit 여기서 Unit은 클래스의 이름, 내가 정한다. 클래스 안에 함수 등을 만들어 줄 수 있는데 일단 def __init__(self, ...) 이게 기본형이다 (설명은 뒤에) 각각의 전달값은 self.name = name 이런 식으로 선언해준다. 함수를 호출하듯이 클래스의 전달값으로 class 내부의 값을 출력할 수 있다. __init__ 파이썬에서 쓰이는 생성자. 객체가 만들어질 때 자동으로 호출된다. 객체 = cl..
[나도코딩 파이썬기초(7) 파일 입출력 (파이썬 상에서 파일만들기, 피클(pickle), with로 빠르게 파일 여러개 만들기) 파일 입출력 파이썬 상에서 새로운 파일을 만들 수 있다. score_file = open ("score.txt", "w", encoding="utf8") score.txt = 파일명 "w" = 쓰기 목적 encoding = "utf8" ... 한글을 쓸 때는 항상 쓰는 것을 추천. print("수학 : 0", file=score_file) => string으로 입력해준 파일명이 아닌 변수명으로 입력해주어야한다. score_file.close() ... 항상 닫는 것까지!! 이렇게 새로운 txt 파일이 생성된 것을 확인할 수 있다. print()를 실행해도 터미널에는 출력되지 않는다. 생성된 파일에 추가로 입력하기 "w"로 쓰면 해당 파일에 덮어쓰기가 된다. 따라서 "a"(append)로 뒤에 내용을 추가..
[나도코딩 파이썬기초(6)] 표준 입출력 (줄바꿈, 좌우정렬, 숫자정렬, input, 숫자 3자리마다 콤마표시, 소수점 표시) 표준입출력 콤마(,)로 구분하면 자동으로 띄어쓰기가 되고 플러스(+)로 구분하면 자동으로 붙여서 써지는데, sep=" ",를 통해 어떻게 띄어쓸지 정할 수 있다. 위 예시처럼 sep = ","를 입력하면 문자열 사이에 콤마가 입력된다. end는 이전 함수 예시에서도 배웠듯이 줄바꿈 없이 사용할 수 있는 기능인데, end="?" ... sep과 같이 다음 문장 사이에 무엇을 넣을지 정할 수 있다. sep 으로 구분된 곳에는 콤마가 end 로 구분된 곳에는 물음표가 잘 출력된다. sys file = sys.stdout file = sys.stderr 이렇게 입력한 뒤 디버깅을 해보면 VSC 터미널 상에서는 똑같이 출력된다. 그렇지만 stdout = "표준출력" stderr = "표준에러" 로 출력되는 것이다..
[나도코딩 파이썬기초(5)] 함수, 전달값과 반환값(return), 기본값, 키워드값, 가변인자, 지역변수 전역변수 함수 def 함수명() : 함수 실행내용 이런식으로 함수를 만들 수 있다. 함수는 선언하기전에는 실행되지 않는다. 함수의 전달값과 반환값 위에서 선언한 함수는 () 이부분이 좀 헷갈리긴 하는데 for 문을 자주 써보며 이해하기. => 변수를 별도로 선언하지 않고 내가 입력하는 값이 가변인자의 값에 들어간다고 이해하기. print() ... end = " " 으로 구분했으므로 다음 함수를 실행했을 때는 줄바꿈이 되도록 print() 를 입력해준다. 지역변수와 전역변수 지역변수 - 함수 내에서만 사용되는 변수 전역변수 - 프로그램 내에서 어디서든 사용되는 변수 gun 이라는 함수는 할당이 되기 전 (before assignment) 사용되었다.(referenced) 함수 내의 gun, 즉 지역변수 gun은 ..
[나도코딩 파이썬기초(4)] if문, for, while 반복문, input함수를 실행시켜 사용자가 직접 입력값을 넣는 방법 if 문 weather 라는 변수를 만들어두고 if (조건) : (결과) elif (조건) : (결과) else : (결과) 이런 식으로 작성할 수 있다. 변수를 input 함수로 사용자가 직접 입력하는 경우 input() 함수는 항상 문자열(string)으로 값을 받는다. 이 예시의 경우 if 문 변수의 자료형이 string이라 그대로 쓸 수 있다. if문 내의 자료형이 다른 자료형일 경우 변환해주어야 한다. 위 코드를 실행하면 input 함수에 의해 터미널에 다음과 같이 뜬다. if 문 내에 정해진 값을 입력하니 맞게 뜬다. input 함수에 숫자를 입력하는 경우 input함수 내에 숫자를 입력해도 문자열(string)으로 인식되기 때문에 int() 함수로 숫자로 변환해주어야한다. 대소를 비교할 때,..
[나도코딩 파이썬기초(3)] 자료구조(리스트 list, 사전 dictionary, 튜플 tuple, 집합 set) 리스트 list = [ , , , , ] ... 대괄호로 감싸준다. .index(" ") ... [0]부터 시작하므로 1번째에 위치해있다고 표시된다. .append(" ") ... 리스트에 새로운 index를 추가한다. .insert( 위치시킬 Index, "문자") ... insert를 통해 list의 원하는 위치에 추가한다. 리스트 삭제 .pop() ... 리스트 가장 뒤에 있는 index부터 삭제한다. 리스트 갯수 세기 .count(" ") ... 해당 index가 몇 개 있는지 알려준다. 리스트 정렬 .sort() ... 순서대로 정렬 .reverse() ... 역순으로 정렬 리스트 지우기 .clear() ... 리스트 안의 값들 지우기. 여러 자료형 리스트에 넣기, 리스트 확장(합치기) list..
[나도코딩 파이썬기초(2)] 연산자, 수식, 랜덤, 문자열, 탈출문자, 퀴즈! 연산자 ** n승 // 몫 구하기 == 참거짓에서 '같다'... 등호 하나가 아니라 두개로 비교한다. != 같지 않다, 등호의 반대 and 는 & 로도 쓸 수 있다. or는 | 로도 쓸 수 있다. 간단한 수식 number = number + 2 이 문장을 number += 2 이렇게 써도 같은 의미가 된다. 다른 연산부호를 써도 같다. 숫자처리함수 abs = 절대값 pow = n승 max = 최댓값 min = 최솟값 round = 반올림 from math import * 메스라이브러리를 이용한다는 의미 floor = 내림 ceil = 올림 aqrt = 제곱근 랜덤함수 # 파이썬이 제공하는 랜덤 라이브러리 사용하기 from random import * print(random()) # 0.0 ~ 1.0 미만..
[나도코딩 파이썬기초(1)] 파이썬 코딩 무료강의 기초편 Day 1 (나의 포부와 파이썬 자료형 기초 공부) 1년동안 공부하다가 1년 넘게 놓고 있었던 코딩을 다시 시작하게 되었다. 당시에는 빨리 코딩으로 뭔가를 만들어서 돈을 벌어야겠다... 는 생각이 막연히 있었는데, 구체화되지 못하다보니 공부만 하다가 접었다. 1년 전에는 C#과 자바스크립트 위주로 공부를 많이 했었는데, 이번에는 또 새롭게 파이썬을 배우게 되었다. 그 이유인 즉슨.. 이전에는 언어를 배우고, 활용할 방법을 먼저 찾았었는데 파이썬은 활용하는 방법을 먼저 보고 기초부터 배워야겠다는 생각이 들었다. 아무튼, 네이버블로그는 이미 경제블로그로 운영되기에 오롯이 코딩기록만 남기기 위해서.... 티스토리 블로그를 만들게 되었다. 이게 나의 아카이브가 될지, 또 하다가 접을지는 모르겠지만 이번에는 끝까지 무언가를 만들고싶다. 2023년에는 생산자가 되는..