본문 바로가기

2013/07

클래스 객체 와 인스턴스 객체의 이름공간 인스턴스 객체를 통해 변수나 함수의 이름을 찾는 순서인스턴스 객체 영역 >>> 클래스 객체 영역 >>> 전역 영역순서대로 해도 찾지 못하는 경우 AttributeError 예외가 발생 >>> class Person: name = "Default Name" >>> p1 = Person() >>> p2 = Person() >>> print("p1's name: ", p1.name) p1's name: Default Name >>> print("p2's name: :", p2.name) p2's name: : Default Name생성된 두 인스턴스 객체는 클래스의 데이터를 참조 p1, p2에는 아직 인스턴스 객체만의 특화된 데이터가 없기 때문에 클래스 객체의 데이터를 참조 >>> print("p1's nam.. 더보기
클래스 선언 데이터와 메서드가 없는 클래스>>> class MyClass: """Very simple class""" pass >>> dir() ['MyClass', '__builtins__', '__doc__', '__name__', '__package__'] >>> type(MyClass) 멤버 변수와 메서드가 있는 클래스>>> class Person: Name = "Default Name" def Print(self): print("My Name is {0}".format(self.Name)) >>> p1 = Person() >>> p1.Print() My Name is Default Name self - 현재 인스턴스 객체를 가리키는 것(this 키워드와 동일) 바운드 메서드 - 메서드를 호출할 때 암묵적으로.. 더보기
리눅스 실행 파일 리눅스에서는 확장자 구분 없이 실행 가능한 파일(바이너리 파일)과 비실행 파일로 구분 리눅스 파일들은 대소문자 구별을 확실히 함 1 파일 및 디렉토리 보기(ls)1 기능도스의 dir과 같은 기능을 가진 파일 목록 출력 명령어 2 사용법ls [옵션] 3 옵션-a, -all: 디렉토리내의 모든 파일 출력-l, -format=long: 파일 정보(파일 종류, 퍼미션, 사이즈)를 표시-s, -size: 1k 블록 단위로 파일 크기 표시-t, --sort=time: 최근의 파일부터 출력-c, --time: 파일 최근 변경 시간에 따라 정렬해서 출력--color: 파일 종류에 따라 색상 표시-R (recursive): 현재 작업 디렉토리와 하위 디렉토리 모두 출력--help 도움말 ls -a 도트(.)로 된 숨겨진.. 더보기
리눅스 시스템 끄기 shutdown 명령은 오직 시스템 관리자 계정인 루트만이 실행할 수 있음1 사용방법shutdown [경고 메시지] 2 옵션-t 시간(초): 다른 런레벨로 바뀌기 전 경고를 내보내는 프로세스와 kill 시그널 사이의 기다리는 시간-k: 실제적으로 셧다운하는 것이 아니라, 사용자 모두에게 경고 메세지만 전달하는 옵션-r: 셧다운 후 리부팅하기-h: 셧다운 후 시스템 정지-c: 실행중인 셧다운 취소-f: 빠른 부팅, 부팅 시 fsck를 점검하지 않도록 함 시간now: 지금 바로+m: 지정한 m분 이후에hh:mm: 몇 시 : 몇 분에 명령shutdown -r now: 시스템 리부팅shutdown -h now: 시스템 바로 종료shutdown -h +5 5분 후에 시스템이 종료됩니다.: 종료 메시지와 함께 5분.. 더보기
제어문과 연관된 유용한 함수 range() - 수열의 생성range(['시작값'], '종료값'[, '증가값'])'종료값'은 필수 항목'시작값'과 '증가값'은 선택적으로 입력기본적으로 '시작값'은 0, '증가값'은 1 >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(5, 10)) [5, 6, 7, 8, 9] >>> list(range(10, 0, -1)) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>> list(range(10,20,2)) [10, 12, 14, 16, 18] 리스트 항목과 인덱스 값을 동시에 얻는 법기존 방법>>> L = ['Apple', 'Orange', 'Banana'] >>> for i in range(len(L)): prin.. 더보기
break, continue, 그리고 else break>>> L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> for i in L:if i>5:breakprint("Item: {0}".format(i)) Item: 1Item: 2Item: 3Item: 4Item: 5 continue>>> for i in L:if i%2 == 0:continueprint("Item: {0}".format(i)) Item: 1Item: 3Item: 5Item: 7Item: 9 else블록이 수행되는 예제break으로 루프가 종료되지 않은 경우 else 수행L=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] for i in L: if i%2 == 0: continue print("Item: {0}".format(i)) else: print(.. 더보기
UnknownHostException 와이파이나 3g 등에는 연결되었지만 인터넷이 접속이 안되는 상태를 잡아준다.try{// 하나의 도메인에 여러 IP주소가 맵핑될 수도 있다.ipArr = InetAddress.getAllByName("www.naver.com");}catch (UnknownHostException e) {new AlertDialog.Builder(this).setTitle("네트워크 연결 상태 ").setMessage("네트워크가 연결되지 않았습니다.").setNegativeButton("확인", null).show();return;} 더보기
네트워크 연결 상태 확인 permission 을 설정 네트웍을 사용하기 위해 ACCESS_NETWORK_STATE을 AndroidManifest.xml 에 추가한다 ConnectivityManager 객체를 통해 WIFI 와 3G 상태를 체크할수 있는 객체를 반환해서 상태를 체크WIFI, 3G 인지 구분없이 네트웍 연결상태가 제대로 되었는지에 대한 소스는 isConnectedOrConnecting 함수를 써서 확인ConnectivityManager manager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);boolean isMobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConn.. 더보기
이메일 보내기 Uri uri = Uri.parse("mailto:xxx@abc.com"); Intent it = new Intent(Intent.ACTION_SENDTO, uri); startActivity(it); 더보기
while 문, for 문 while문조건식이 거짓(False)으로 평가되면 while 문을 벗어남value = 5 while value >0: print(value) value -=15 4 3 2 1 for 문for in :구문 인자로 받은 시퀀스 객체 S의 아이템을 순차적으로 아이템 I에 할당시퀀스 객체 S의 모든 아이템을 순회하거나, 반복문의 종결을 수행하는 break를 만날 때 동작이 끝남l = ['Apple', 100, 15.23] for i in l: print(i, type(i))Apple 100 15.23 for문에 사용되는 시퀀스형 자료: 문자열, 리스트, 튜플, 사전과 같은 내장 클래스와 내장 함수 iter()로 생성되는 이터레이터 객체>>> l = [10, 20, 30] >>> iterator = iter(l).. 더보기