print('hello\n my name is Umm\t PC \r \0')
print('hello\n\"nice to meet you.\"Umm \\')
이스케이프 문자를 이용한 사례이기는 합니다.
많이 쓰이는 것은 \t \n정도 이기는 합니다.
# 타입을 변환하는것이 가능합니다.
int_val = 13
print('int_val type is', type(int_val))
# int_val type is <class 'int'>
str_val = str(int_val)
print('int_val changed type is',type(str_val))
# int_val changed type is <class 'str'>
[int_val](변수) 의 타입은 int 타입입니다.
int_val 의 타입은 str() 함수를 이용하여 int_val의 타입을 변형하여, str 타입으로 변경을 하였습니다.
int 형은 str의 형과 합쳐지는 것이 어려워서 형 변환을 해 주어야 합니다.
explane = \
'Copyright (C) Microsoft Corporation. All rights reserved.'
print(explane)
# type(class)를 확인하는 함수
print(type(explane)) # <class 'str'>
# 글자수 세는 함수는 len
print(len(explane)) # 57개
# 문자열 인덱스(오프셋)
# 문자열에서 문자를 인덱스로 추출이 가능합니다
print(explane[0]) # C
print(explane[50]) # s
# 문자열에서 문자열속에 있는 문자열 또한 추출이 가능합니다
print(explane[0:10]) # Copyright
print(explane[10:14]) # (C)
print(explane[-9:-1]) # reserve
문자열 인덱스 :
색인이라는 뜻이 있습니다. 컴퓨터는 거의 언제나 0을 처음으로 인식하는 경우가 많습니다.
그래서 인덱스 0은 처음을 뜻하게 됩니다.
빨간색 네모들을 보시면 알 수가 있습니다.
설명을 다시 하겠습니다.
첫 번째 네모:
'explane' 이라는 변수를 지정하여
'Copyright (C) Microsoft Corporation. All rights reserved.' 라는 문자열을 대입하였습니다.
두 번째 네모:
type() 함수를 이용하여 explane 의 타입을 확인하였습니다.
str 이라는 문자열이라고 결과를 보여주고 있습니다.
세 번째 네모:
len() 함수를 이용하여 explane 의 문자개수를 알려줍니다.
총 57개라고 합니다.
네 번째 네모 :
explane의 변수에 [ ]을 이용하니 신기하게도 문자나 문자열을 추출할 수 있게 되었습니다.
다른 잘 만들어진 메크로들이 존재를 하며, 그렇게 고난도의 메크로를 원하지를 않는 것 같습니다.
솔직히 편한 메크로는 "메크로 프로그램"이라고 하면 잘 만들어두었으며,
사용하기에 있어 쉽다.
하지만 이 글을 읽어주시는 여러분들이라면 더 고난도의 기능을 추구하고 계실 것 같습니다.
오토잇은 오토 핫키에 비해서 인기가 없습니다.
저도 이렇게 글을 블로그를 쓰고는 있지만, 일단은 프로그램 언어의 C언어와 같은
기본적이면서 더 강력한 프로그램이라고 믿으면서 블로그 하겠습니다.
오토잇 소스코드 예제 편
오토잇을 설치한 폴더로 들어가서 Examples을 들어가 봅니다.
C:\Program Files (x86)\AutoIt3\Examples
저는 위쪽의 경로입니다.
여러분들도 비슷할 겁니다.
실행을 해 보시면 아시겠지만 그냥 간단한 프로그램들입니다.
우리 초보 한국인들은 잘 모를 수 있기에
그냥 블로그 보면서 소스코드를 따와서 사용하기 쉽도록
제가 설명도 최대한 하면서 잘 이용할 수 있도록 정리해드리겠습니다.
- calculator
저의 해석입니다.
이 스크립트는 정말 영어를 잘 모르는 저에게는 상당한 실험이 되었습니다.
#include <Constants.au3> ;Constants.au3는 상수를 가져다 쓰는 것입니다.
Local $iAnswer = MsgBox(BitOR($MB_YESNO, $MB_SYSTEMMODAL), "AutoIt Example", "This script will run the calculator and type in 2 x 4 x 8 x 16 and then quit. Do you want to run it?");MsgBox는 메시지 박스인데 BitOR은 예(Y)나 아니요(N) 이 버튼을 만드는 역할이며, $MB_YESNO,$MB_SYSTEMMODAL 이렇게 합니다.
If $iAnswer = 7 Then ;답이 7이라면 밑에 것을 실행한다는 것인데,
아니요 의 값이 7이라서 메시지를 띄우고 종료를 합니다 MsgBox($MB_SYSTEMMODAL, "AutoIt", "OK. Bye!") ;메시지 박스 띄우고 종료합니다 Exit EndIf
Run("calc.exe");계산기가 실행하기 위해서는 calc.exe를 사용합니다
WinWaitActive("[CLASS:CalcFrame]");정말 영문판이자 예전 버전에 쓰이는 거라서 그런지 win 10에서는
먹질 않습니다. 우리 WinWaitActive 함수는 윈도 창을 기다리겠다. CLASS가 CalcFrame이라는 창을
기다리겠다는 것입니다.
이것을 가지고 고생했습니다. 해결책은 ""안에 Title로 넣읍시다. "계산기"
AutoItSetOption("SendKeyDelay", 400) ; Send함수를 써서 입력할 때 딜레이를 주겠다는 것입니다. Send("2*4*8*16=") ;"2 * 4 * 8 *16 = "을 스스로 타이핑을 합니다. Sleep(2000) ;잠깐 있다가 종료를 합니다.
WinClose("[CLASS:CalcFrame]")
WinWaitClose("[CLASS:CalcFrame]")
위에 WinClose와 WinWaitClose함수도 Class대신에 Title로 대체합니다.
그러면 잘 되십니다.
Calculator.au3 파일 하나를 분석하는데도, 상당한 시간이 걸렸지만, 그냥 주워가세요