그 외 새로 배운 작은 내용:
_아스키 아트(ASCII art) 그리고 파이썬 환경에서 실행하는 법.
요새 파이썬 터미널에서 게임 만들기 과제를 하는 중에, 다른 팀 작업물을 보니
귀여운 고양이가 나오길래 좀 알아보았다.
아스키 아트라는 것이 있다. ㅎㅎㅎㅎ
컴퓨터 특수문자 부호를 사용해서 모자이크 방식처럼 그림으로 나타내는 것이다.
print(f"""\033[33m\n\n
_▄███▀▀▀▀███▄_
¿██▀ ▀▀█_
█ ▀█_
ε█▀ █▄
¿█ ▄ ▄█ ▄ █▌
█▌ ▀ ▄██▀█▄ ▀ ▐█
¿█████▌ ▀████▀ ¡█████_
█ ██ _▄▄_ ▐█ █
▄███▄_▐█ ▄██▀▀ `▀██▄_ ██_▄███▄
█L ▀▀█▄▄▄██▀ ▀██▄▄▄██▀ █
█▌ δ█
└█ █▌
▀█ THE END! >.< b ██
█ █▀
█▄ ▄█
█▄ _ █
▀█▄_ _▄█▀
ⁿ▀███▄▄▄▄▄▄▄▄███▀ⁿ
\033[0m""")
print("""
줄바꿈이 정말로
잘 표현되는지
보자
""")
요런것이다 ㅋㅋㅋ.
처음에 적용하면서 살짝 고생을 했는데, 자꾸 print("") 안에다가 넣으려고 해서였다. ㅋㅋㅋ
독스트링(**따옴표를 좌우에 3개씩 감싸는 방식)을 사용해서 출력하면
문자열의 줄바꿈까지 적용되기 때문에 직관적으로 출력할 수 있는데,
그냥 출력하면 \n 기호를 써줘야 줄 바꿈이 되기 때문에 이렇게 여러줄로 이뤄진 그래픽은 문장이 가로로 무진장 길어진다.
처음엔 독스트링의 개념도 몰랐기 때문에 뭐가 문제인지 모르는 상태로 GPT한테 물어보았다. ㅎㅎ
질문: '아스키 아트를 파이썬에서 출력하는 코드'
아스키 아트 너무 귀엽다. 흥미로운 개념을 새로 알았구나.
이미지 파일을 아스키 아트로 변환해주는 사이트가 몇 있는데, 서너군데 돌아다녀보았으나 별로였다.
결국 좋은 데 한 군데가 있어서 찾았다. : https://asciiart.club/
들어가자마자 보이는 입력란에 참고가 될 이미지 파일을 넣고 go 버튼을 누르면 아스키 아트가 생성된다.
생성된 아스키 아트 밑에 3가지 수치 바가 생기는데,
쉽게 설명하자면 세 줄 다 버튼을 오른쪽으로 슬라이드 해놓을 수록
원본 이미지와 비슷한 또렷한 모습을 띠게 된다.
_클래스할 때
이건 인자를 main 함수에서 받아서 쓴거지 변수로 선언한게 아니기 때문에 프린트 안된다.
self.b 는 되는데
a는 안된다. 인잇에서 self.뭐시기로 선언을 해줘야 같은 클래스 내 다른 메소드에서도 해당 선언을 쓸 수 있다.
클래스에 담겨 있는 애들이 아니라면 이렇게 return을 써서 특정값을 받아내면 가능하다.
받아내면 다른 메서드에서 해당 값을 매개변수로 받아 사용 가능하다.
클래스에 담겨 있는 애들이라면 이렇게 self.어쩌구 해서 변수로 선언해놓고
메서드 이곳 저곳에서 받아서 쓸 수 있다.
_용어설명
파라미터 = 인자. 다만 줄때냐 받을때냐 차이. 인수. 인자. 매개변수. 엄밀히 말하면 줄때받을때 이름이 다르겠지만 일단 작업 시 문맥 상 차이 없음.
_self가 없어도 되는 메소드 : 중급이상 기술이므로 일단 패스
@staticmethod 라는 데코레이터를 붙이면 돌아간다. 아래꺼는 class를 인자로 받음
_while문이 여러개 겹치게 필요할 땐: 이렇게 함수로 써놓고 부르는 게 좋다.
_이 셋은 모두 리턴값이 None
셋 다 리턴이 있으나 리턴이 생략되었거나 리턴의 값이 생략되었거나 넌을 리턴한거임.
_리턴을 쓰는 경우는
프린트는 리턴이 필요 없지만,
숫자계산 내용의 함수 같은 경우.
즉. 무언가 그 함수 작동 이후에 값을 받아서 그걸 이용하고 싶은 경우 return을 쓰는거다.
즉. 함수에 무조건 리턴이 있어야 하는 것도 아니고, 없어야 하는 것도 아니다.
내가 그 함수 작동 후에 나온 값을 어떻게 사용하고 싶은가에 따라 리턴을 적어줄수도, 안적을 수 도 있는 것.
_리스트 안에 함수가 넣어질 경우 작동이 안된다고?
이렇게 i처럼 함수는 뒤에 소괄호를 붙여주면 잘 작동한다.
_값만 붙은 인자들은 아규먼트로 들어가서 튜플이 되고, a=2 이런 애들은 키워드 아규먼트로 들어가서 딕셔너리가 된다.
_받아야 하는 인자가 여러개일 때, **kwargs로 받고, 줄때 파라미터에서 값을 하나하나 정해준다.
글구 받는 함수에서도 kwarg.get("") 이렇게 받아준다.
글구 쩜겟문법에서, 기본값을 지정해주려면
_아래 main( )두줄 코드는 같다. 즉, *은 리스트의 양쪽 괄호는 벗기는 거고, **는 딕셔너리의 괄호를 벗기는거다.
팩킹 언팩킹
_멀티커서 활용법 윈도우 기준
Ctrl Alt 화살표 위아래로 멀티커서를 잡는데,
단어의 길이가 다를때는 home 버튼이나 end버튼 누르면 맨앞으로 가거나 맨뒤로가고,
Ctrl + 화살표 하면 커서가 단어 단위로 움직인다.
_Ctrl Shift 하고 방향키 움직이면 단어단위로 드래그도 가능.
_콘솔창 지우는 코드
import os
os.system("cls")
_{"verbose": "마법공격"}
verbose는 수다스럽다는 뜻. 코딩에서는 인포메이션 느낌.
_어뉴머레이트 뒤에 숫자를 인자로 넣어주면
이렇게 1부터 안먹이고 5부터 먹임
_뭐 이런 내용
'About coding > Today I learned' 카테고리의 다른 글
2023년 04월 04일 TIL [#Django 입문_2] (0) | 2023.04.05 |
---|---|
2023년 4월 3일 TIL [#Django 입문_1] (0) | 2023.04.03 |
2023년 03월 30일 TIL (0) | 2023.03.30 |
2023년 03월 29일 (0) | 2023.03.29 |
2023년 03월 28일 TIL (0) | 2023.03.28 |