본문 바로가기

Programming

(165)
if~else 있고, switch 없다. 프로그래밍하면서 if 구문을 안 쓸 순 없죠. 파이썬에도 당연 if~else 가 있는데, C나 Java 하고 약간 다릅니다. 다른 점을 요약하면, 1) if ~ elif ~ else 이다. if ~ else if ~ else 가 아니고 2) switch ~ case 구문 없다. 1. if ~elif ~ else else if 가 아니고 elif 입니다. 여기서도 파이썬 언어 개발자들의 귀차니즘 철학이 들어 있는 듯합니다. else if 도 아니고 elseif도 아니고 elif 라니. ^^ if a > 10 : ... elif (a 0): ... else: ... 뭐 어렵지 않습니다. else if 가 아니고 elif 라는 것만 명심하면 2. switch ~ case 구문 없음 s..
변수 선언 없다. C나 Java에 익숙한 사람일수록 가장 당황스러운 것이..... 변수선언 없이 사용하는 것!! 이래도 되나? 하는 생각이 들고, 이러면 문제 있지 않을까? 하면서도... 익숙해지면 괜찮습니다. ^^ a = 2 b = 3.5 c = a + b print(c) C나 Java 였으면 앞에 이런 선언이 필요하죠. (C/Java 고수들은, 자꾸 이러고 싶어 집니다. ) int a; float b, c; 파이썬에서는 대입되는 값에 따라 변수형이 결정되고, 쭈욱 사용되다가 다시 다른 타입의 값이 대입되면 다시 변수 타입이 바뀝니다. 따라서, 파이썬이라고 해서 변수의 타입이 없는 건 아닙니다. bool, int, float, complex, str 등의 기본 타입이 있습니다. 처음 변수가 만들어질 때 타입이 선언되는 ..
main이 어디 있나? print("Hello") 이렇게 하면, 바로 Hello 가 출력됩니다. 파이썬에서는, main 필요 없습니다. 그냥 하고픈 명령을 쓰면 차례대로 그냥 실행됩니다. 즉, 위 코드가 들어 있는 hello.py라는 파일을, python hello.py 이렇게 커맨드 창에 입력하면 그냥 됩니다. Java나 C 프로그래밍에 익숙한 사람들이 파이썬 접하면서 가장 먼저 낯설게 느껴지는 것이 main 없이 코드가 진행되는 것일 겁니다. Java/C는 프로그램의 시작점이 main에서 시작되기에, 코드를 볼 때 일단 main부터 찾는 게 습관화되어 있습니다. 프로그램 시작점에 대해서 좀 더 알아둘 게 있습니다. 코드 파일 3개를 만들어서, 몇 가지 테스트를 해보겠습니다. #controller.py print("I'm C..
이 글목록에 대해 파이썬이 C나 Java와 다른 점만을 소개합니다. C 혹은 Java에 나름 고수라고 생각하시는 분들이 파이썬을 우습게 보고 대충 접근했다가 "이게 뭐지" 하는 부분만을 모아놨습니다. 역설적으로 얘기하면, 여기 나와 있는 부분만 잘 이해하면, C나 Java의 고수분들은 파이썬에 대해 단기간에 그 정수리를 파악할 수 있다는 얘기!!! Let's Go~
[022]Triangle/ArrowTip Triangle triangle = Triangle() ArrowTip tip = ArrowTip()
[021]Polygon Polygon p=Polygon(UP+LEFT, ORIGIN, DOWN+LEFT, RIGHT) RegularPolygon p = RegularPolygon() RegularPolygon: start_angle left = RegularPolygon() right = RegularPolygon(start_angle=PI/2) RegularPolygon: n def regulat_test3(self): tracker = ValueTracker(3) rp = RegularPolygon(3, fill_opacity=1, fill_color=RED) num = DecimalNumber(3,num_decimal_places=0).next_to(rp,UP) def update_func(mob): n = int(tra..
[020]Vector/TangentLine Vector Class def get_vector_test(self): plane = NumberPlane() a = np.array([1,3,0]) b = np.array([2,2,0]) vector_a = Vector(a) vector_b = Vector(b) c = Arrow(a,b, buff=0) vector_c = Vector(c.get_vector()) self.add(plane) self.add(vector_a, vector_b, c) self.play(ShowCreation(vector_c)) self.wait() Line.get_unit_vector Line.get_angle class VectorTest(MovingCameraScene): def construct(self): self...
[019]Arrow/DoubleArrow Arrow arrow = Arrow() Arrow: draw arrow between two points arrow = Arrow(DOWN, UP) Arrow: buff, scale class Arrow_Buff(Scene): def construct(self): buff_changed = Arrow_Buff.get_buff_changed() scale_changed = Arrow_Buff.get_scale_changed() buff_changed.to_corner(UL, buff=1) buff_changed.arrange(DOWN, center=False, aligned_edge=LEFT) scale_changed.to_edge(UP, buff=1) scale_changed.arrange(DOWN, c..
[018]Line/DashedLine Line: draw simple line grid = self.get_grid(-7, 7, 1, -4, 4, 1) self.add(grid) line = Line(stroke_color=RED, stroke_width=8) self.add(line) self.wait() Line: draw line between two points a = np.array([-1,1,0]) b = np.array([1, -1, 0]) line = Line(a,b) self.add(line) self.wait() Line: stroke_color, stroke_width line = Line(stroke_color=RED, stroke_width=6) def change_stroke_width(self): def get_l..
[016]Mobject Class Diagram