Python 기초 튜 토리 얼,Python 입문 튜 토리 얼(초 상세)

파 이 썬 을 왜 사용 합 니까?
만약 에 우리 가 이런 임 무 를 가지 고 있다 고 가정 하면 랜 에 있 는 컴퓨터 가 연결 되 는 지 간단하게 테스트 합 니 다.이 컴퓨터 들 의 ip 범 위 는 192.168.0.101 에서 192.168.0.200 까지 입 니 다.
사고방식:셸 로 프로 그래 밍 합 니 다.
구현:자바 코드 는 다음 과 같 습 니 다.

String cmd="cmd.exe ping ";
String ipprefix="192.168.10."; int begin=101; int end=200;
Process p=null; for(int i=begin;i<end;i++){
     p= Runtime.getRuntime().exec(cmd+i);
     String line = null;
     BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
     while((line = reader.readLine()) != null)
     {
         //Handling line , may logs it.  }
    reader.close();
    p.destroy();
} 
이 코드 가 잘 작 동 되 고 있 습 니 다.문 제 는 이 코드 를 실행 하기 위해 서 입 니 다.추가 작업 이 필요 합 니 다.이 추가 작업 은 다음 과 같 습 니 다.
클래스 파일 을 작성 합 니 다.
main 방법 을 작성 합 니 다.
4.567917.바이트 코드 로 컴 파일 합 니 다.4.567918.
  • 바이트 코드 가 직접 실행 되 지 않 기 때문에 작은 bat 나 bash 스 크 립 트 를 써 서 실행 해 야 합 니 다
  • 물론 C/C++로 도 이 작업 을 완성 할 수 있 습 니 다.그러나 C/C++는 크로스 플랫폼 언어 가 아 닙 니 다.이 간단 한 예 에서 C/C++와 자바 가 실현 하 는 차 이 를 알 수 없 을 수도 있 습 니 다.그러나 더욱 복잡 한 장면,예 를 들 어 연결 여부 의 정 보 를 네트워크 데이터 베이스 에 기록 해 야 합 니 다.Linux 와 Windows 의 네트워크 인터페이스 실현 방식 이 다 르 기 때문에너 는 두 함수 의 버 전 을 써 야 한다.자바 로 는 이런 걱정 이 없다.
    같은 작업 은 Python 으로 다음 과 같이 이 루어 집 니 다.
    
     import subprocess
    cmd="cmd.exe" begin=101 end=200  while begin<end:
        p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,
                       stdin=subprocess.PIPE,
                       stderr=subprocess.PIPE)
        p.stdin.write("ping 192.168.1."+str(begin)+"
    ") p.stdin.close() p.wait() print "execution result: %s"%p.stdout.read()
    자바 에 비해 Python 의 실현 은 더욱 간결 합 니 다.작성 하 는 시간 이 더 빠 릅 니 다.main 함 수 를 쓸 필요 가 없 으 며,이 프로그램 을 저장 한 후에 바로 실행 할 수 있 습 니 다.또한 자바 와 마찬가지 로 Python 도 크로스 플랫폼 입 니 다.
    경험 이 있 는 C/자바 프로그래머 는 C/자바 로 쓰 는 것 이 Python 보다 빠르다 고 논쟁 할 수 있 습 니 다.이 관점 은 인 견 이 있 습 니 다.제 생각 은 자바 와 Python 을 동시에 파악 한 후에...Python 으로 이러한 프로그램 을 쓰 는 속도 가 자바 보다 훨씬 빠 를 것 이라는 것 을 알 게 될 것 입 니 다.예 를 들 어 로 컬 파일 을 조작 할 때 자바 의 많은 스 트림 포장 류 가 필요 하지 않 고 한 줄 의 코드 만 필요 합 니 다.각종 언어 는 자 연 스 럽 게 적합 한 응용 범위 가 있 습 니 다.Python 으로 간단 한 프로그램 을 처리 하 는 것 이 운영 체제 와 유사 한 인 터 랙 션 프로 그래 밍 작업 을 하 는 것 이 가장 편리 합 니 다.
    Python 응용 장소
    간단 한 임무,예 를 들 어 셸 프로 그래 밍 등 이 있 습 니 다.만약 파 이 썬 으로 대형 상업 사 이 트 를 설계 하거나 복잡 한 게임 을 디자인 하 는 것 을 좋아한다 면 마음대로 하 세 요.
    Hello world
    Python 을 설치 한 후(내 컴퓨터 버 전 은 2.5.4)IDLE(Python GUI)를 엽 니 다.이 프로그램 은 Python 언어 해석 기 입 니 다.당신 이 쓴 문 구 는 즉시 실 행 될 수 있 습 니 다.우 리 는 다음 유명한 프로그램 문 구 를 씁 니 다.
    
    print "Hello,world!"
    
    돌아 오 는 차 를 누 르 면 K&R 에 의 해 프로그램 세계 로 도입 되 었 다 는 명언 을 볼 수 있다.
    해석 기 에서"File"C"New Window"또는 단축 키 Ctrl+N 을 선택 하고 새로운 편집 기 를 엽 니 다.다음 문 구 를 쓰 십시오.
    
    print "Hello,world!"
    raw_input("Press enter key to close this window! ");
    
    a.py 파일 로 저장 합 니 다.F5 를 누 르 면 프로그램의 실행 결 과 를 볼 수 있 습 니 다.이것 은 Python 의 두 번 째 실행 방식 입 니 다.
    저 장 된 a.py 파일 을 찾 아 두 번 누 르 십시오.프로그램 결 과 를 볼 수 있 습 니 다.Python 프로그램 이 직접 실행 되 고 자바 와 비교 할 수 있 는 것 이 장점 입 니 다.
    국제 화 지원
    우 리 는 다른 방식 으로 세계 에 안 부 를 묻 습 니 다.편집 기 를 새로 만 들 고 다음 코드 를 쓰 십시오.
    
    print "        !" 
    raw_input("Press enter key to close this window!");
    
    코드 를 저장 할 때 Python 은 파일 의 문자 집합 을 바 꿀 지 여 부 를 알려 줍 니 다.결 과 는 다음 과 같 습 니 다.
    
    # -*- coding: cp936 -*-
    print "        !" 
    raw_input("Press enter key to close this window! ");
    
    이 문자 집합 을 우리 가 더 잘 아 는 형식 으로 바 꿉 니 다.
    
    # -*- coding: GBK -*-
    print "        !" #         
    raw_input("Press enter key to close this window");
    
    프로그램 처럼 잘 작 동 합 니 다.
    사용 하기 쉬 운 계산기
    마이크로소프트 에 첨부 된 계산기 로 계산 하 는 것 은 정말 번거롭다.Python 해석 기 를 켜 서 직접 계산 하 자.
    
    a=100.0 
    b=201.1 
    c=2343 
    print (a+b+c)/c 
    
    문자열,ASCII,UNICODE
    출력 형식 을 미리 정의 하 는 문자열 을 다음 과 같이 출력 할 수 있 습 니 다.
    
    print """ Usage: thingy [OPTIONS]
         -h                        Display this usage message
         -H hostname               Hostname to connect to """
    
    문자열 은 어떻게 접근 합 니까?이 예 를 보십시오.
    
    word="abcdefg" a=word[2]
    print "a is: "+a
    b=word[1:3]
    print "b is: "+b # index 1 and 2 elements of word.
    c=word[:2]
    print "c is: "+c # index 0 and 1 elements of word.
    d=word[0:]
    print "d is: "+d # All elements of word.
    e=word[:2]+word[2:]
    print "e is: "+e # All elements of word.
    f=word[-1]
    print "f is: "+f # The last elements of word.
    g=word[-4:-2]
    print "g is: "+g # index 3 and 4 elements of word.
    h=word[-2:]
    print "h is: "+h # The last two elements.
    i=word[:-2]
    print "i is: "+i # Everything except the last two characters
    l=len(word)
    print "Length of word is: "+ str(l)
    
    ASCII 와 UNICODE 문자열 의 차이 점 을 주의 하 십시오:
    
    print "Input your Chinese name:" s=raw_input("Press enter to be continued ");
    print "Your name is  : " +s;
    l=len(s)
    print "Length of your Chinese name in asc codes is:"+str(l);
    a=unicode(s,"GBK")
    l=len(a)
    print "I'm sorry we should use unicode char!Characters number of your Chinese \  name in unicode is:"+str(l);
    
    사용 목록
    자바 의 List 와 유사 합 니 다.이것 은 편리 하고 사용 하기 쉬 운 데이터 형식 입 니 다.
    
    word=['a','b','c','d','e','f','g']
    a=word[2]
    print "a is: "+a
    b=word[1:3]
    print "b is: " print b # index1 and 2 elements of word.
    c=word[:2]
    print "c is: " print c # index0 and 1 elements of word.
    d=word[0:]
    print "d is: " print d # All elements of word.
    e=word[:2]+word[2:]
    print "e is: " print e # All elements of word.
    f=word[-1]
    print "f is: " print f # The last elements of word.
    g=word[-4:-2]
    print "g is: " print g # index3 and 4 elements of word.
    h=word[-2:]
    print "h is: " print h # The last two elements.
    i=word[:-2]
    print "i is: " print i # Everything except the last two characters
    l=len(word)
    print "Length of word is: "+ str(l)
    print "Adds new element[     ...(image-b4ced-1616074265420-0)] " word.append('h')
    print word
    
    조건 과 순환 문
    
    # Multi-way decision
    x=int(raw_input("Please enter an integer:")) if x<0:
        x=0 print"Negative changed to zero" elif x==0:
        print "Zero"  else:
        print "More" # Loops List
    a= ['cat', 'window', 'defenestrate'] for x ina:
        print x, len(x) 
    
    함 수 를 어떻게 정의 합 니까?
    
    # Define and invoke function.
    def sum(a,b):
        return a+b
    func = sum
    r = func(5,6)
    print r
    # Defines function with default argument
    def add(a,b=2):
        return a+b
    r=add(1)
    print r
    r=add(1,5)
    print r
    
    그리고 사용 하기 편리 한 함 수 를 소개 합 니 다.
    
    # The range() function
    a =range(5,10)
    print a
    a = range(-2,-7)
    print a
    a = range(-7,-2)
    print a
    a = range(-2,-11,-3) # The 3rd parameter stands for step
    print a
    
    파일 I/O
    
    spath="D:/download/baa.txt" f=open(spath,"w") # Opens file for writing.Creates this file doesn't exist.  f.write("First line 1.
    ") f.writelines("First line 2.") f.close() f=open(spath,"r") # Opens file forreading for line in f: print line f.close()
    예외 처리
    
    s=raw_input("Input your age:") if s =="":
        raise Exception("Input must no be empty.") try:
        i=int(s)
    except ValueError:
        print "Could not convert data to an integer." except:
        print"Unknown exception!"  else: # It is useful for code that must be executed if the try clause does not raise an exception
        print "You are %d" % i," years old"  finally: # Clean up action
        print "Goodbye!"
    
    상속
    
    class Base:
        def __init__(self):
            self.data =[]
        def add(self, x):
            self.data.append(x)
        def addtwice(self, x):
            self.add(x)
            self.add(x)
    # Child extends Base class Child(Base):
        def plus(self,a,b):
            return a+b
    oChild =Child()
    oChild.add("str1")
    print oChild.data
    print oChild.plus(2,3)
    
    패키지 메커니즘
    모든.py 파일 을 하나의 module 이 라 고 부 릅 니 다.module 간 에 서로 가 져 올 수 있 습 니 다.다음 예 를 참조 하 십시오.
    
    # a.py
    def add_func(a,b):
        return a+b
    
    
    # b.py
    from a import add_func # Also can be : import a
    print "Import add_func from module a" 
    print"Result of 1 plus 2 is: " print add_func(1,2)    # If using "import a" , then here should be "a.add_func"
    
    module 는 가방 안에 정의 할 수 있 습 니 다.Python 정의 가방 의 방식 이 약간 이상 합 니 다.만약 에 우리 가 parent 폴 더 가 있다 고 가정 하면 이 폴 더 는 child 하위 폴 더 가 있 습 니 다.child 에 module a.py 가 있 습 니 다.이 파일 의 계층 구 조 를 어떻게 알 수 있 습 니까?간단 합 니 다.디 렉 터 리 마다 이름 이 입 니 다.init_.py 파일 입 니 다.이 파일 의 내용 은 비어 있 습 니 다.이 계층 구 조 는 다음 과 같 습 니 다.
    
    parent 
      --__init_.py
      --child
        -- __init_.py
        --a.py
    b.py
    
    그러면 Python 은 어떻게 우리 가 정의 하 는 module 을 찾 습 니까?표준 패키지 sys 에서 path 속성 은 Python 의 패키지 경 로 를 기록 합 니 다.인쇄 할 수 있 습 니 다:
    
    import sys
    print sys.path
    
    일반적으로 우 리 는 module 의 패키지 경 로 를 환경 변수 PYTHONPATH 에 넣 을 수 있 습 니 다.이 환경 변 수 는 sys.path 속성 에 자동 으로 추 가 됩 니 다.다른 편리 한 방법 은 프로 그래 밍 에서 우리 의 module 경 로 를 sys.path 에 직접 지정 하 는 것 입 니 다.
    
    import sys
    sys.path.append('D:\\download')
    from parent.child.a import add_func
    print sys.path
    print "Import add_func from module a" print"Result of 1 plus 2 is: " print add_func(1,2)
    
    총결산
    당신 은 이 튜 토리 얼 이 상당히 간단 하 다 는 것 을 알 게 될 것 입 니 다.많은 Python 특성 은 코드 에 포함 되 어 있 습 니 다.이러한 특성 은 Python 은 명시 적 성명 데이터 형식,키워드 설명,문자열 함수 의 해석 등 을 필요 로 하지 않 습 니 다.나 는 숙련 된 프로그래머 가 이러한 개념 에 대해 상당히 잘 알 아야 한다 고 생각 합 니 다.이렇게 하면 당신 이 귀중 한 한 시간 동안 이 짧 은 튜 토리 얼 을 읽 은 후에...기 존 지식의 이전 비 교 를 통 해 Python 을 빨리 익히 고 가능 한 한 빨리 프로 그래 밍 을 시작 할 수 있 습 니 다.
    이 글 은 여기까지 입 니 다.여러분 께 도움 을 드 리 고 저희 의 더 많은 내용 에 관심 을 가 져 주 셨 으 면 좋 겠 습 니 다!

    좋은 웹페이지 즐겨찾기