Python 구문 기본 사항. 파이썬으로 할 수 있는 일

(번역)

Poromenos Stuff 웹사이트에 Python 언어의 기본 사항에 대해 간결하게 설명하는 기사가 게시되었습니다. 나는 이 기사의 번역을 문자 그대로 설명하지 않았습니다. 명확하지 않을 수 있는 점.

Python 언어를 배울 계획이지만 적합한 가이드를 찾을 수 없다면 이 기사가 매우 유용할 것입니다! 짧은 시간 안에 Python 언어의 기본 사항에 익숙해질 수 있습니다. 이 기사는 이미 프로그래밍 경험이 있는 사용자에게 의존하는 경우가 많지만 초보자라도 이 자료가 유용할 수 있기를 바랍니다. 각 단락을 주의 깊게 읽으십시오. 자료의 압축으로 인해 일부 주제는 피상적으로 논의되지만 필요한 자료는 모두 포함되어 있습니다.

기본 속성

Python은 명시적인 변수 선언이 필요하지 않으며 대소문자를 구분하는 객체 지향 언어입니다(var 변수는 Var 또는 VAR과 동일하지 않습니다. 세 가지 변수입니다).

통사론

첫째, Python의 흥미로운 기능에 주목할 가치가 있습니다. 대신 연산자 대괄호(파스칼에서는 시작..끝, C에서는 (..))가 포함되어 있지 않습니다. 블록이 들여쓰기되어 있습니다.: 공백 또는 탭, 명령문 블록 입력은 콜론을 사용하여 수행됩니다. 한 줄 주석은 파운드 기호 "#"로 시작하고, 여러 줄 주석은 세 개의 큰따옴표 """"로 시작하고 끝납니다.

변수에 값을 할당할 때는 “=” 기호를 사용하고, 비교를 위해서는 “==”를 사용합니다. 변수의 값을 늘리거나 문자열에 추가하려면 “+=” 연산자를 사용하고, 줄이려면 “-=”를 사용하세요. 이러한 모든 작업은 문자열을 포함한 대부분의 유형과 상호 작용할 수 있습니다. 예를 들어

>>> myvar = 3

>>> myvar += 2

>>> myvar -= 1

"""이것은 여러 줄의 주석입니다.

세 개의 큰따옴표로 묶인 문자열은 무시됩니다."""

>>> mystring = "안녕하세요"

>>> mystring += "세계."

>>>mystring 인쇄

안녕하세요.

# 다음 줄이 바뀌어요

변수의 값이 교체됩니다. (한줄만!)

>>> myvar, mystring = mystring, myvar

데이터 구조

Python에는 다음과 같은 데이터 구조가 포함되어 있습니다. 리스트, 튜플, 딕셔너리). 목록은 1차원 배열과 유사합니다(그러나 목록을 포함하는 목록(다차원 배열)을 사용할 수 있음), 튜플은 불변 목록이고 사전도 목록이지만 인덱스는 숫자뿐만 아니라 모든 유형이 될 수 있습니다. Python의 "배열"은 모든 유형의 데이터를 포함할 수 있습니다. 즉, 하나의 배열에는 숫자, 문자열 및 기타 데이터 유형이 포함될 수 있습니다. 배열은 인덱스 0에서 시작하고 마지막 요소는 인덱스 -1에서 액세스할 수 있습니다. 변수에 함수를 할당하고 그에 따라 사용할 수 있습니다.

>>> 샘플 = , ("a", "tuple")] # 목록은 정수, 다른 목록 및 튜플로 구성됩니다.

>>> mylist = ["목록 항목 1", 2, 3.14] #이 목록에는 문자열, 정수 및 분수가 포함되어 있습니다.

>>> mylist = "1번 항목을 다시 나열" #시트의 첫 번째(0) 요소 변경 mylist

>>> mylist[-1] = 3.14 #시트의 마지막 요소 변경

>>> mydict = ("Key 1": "Value 1", 2: 3, "pi": 3.14) #숫자 및 정수 인덱스를 사용하여 사전 생성

>>> mydict["pi"] = 3.15 # 인덱스 "pi" 아래의 사전 요소를 변경합니다.

>>> mytuple = (1, 2, 3) #튜플 지정

>>> myfunction = len #Python을 사용하면 함수 동의어를 이런 방식으로 선언할 수 있습니다.

>>> myfunction(mylist) 인쇄

콜론 ":"으로 구분된 첫 번째 인덱스와 마지막 인덱스를 지정하여 배열의 일부를 사용할 수 있습니다. 이 경우 첫 번째 인덱스부터 두 번째 인덱스까지 배열의 일부를 받게 됩니다. 첫 번째 요소가 지정되지 않으면 배열의 처음부터 개수가 시작되고, 마지막 요소가 지정되지 않으면 배열의 마지막 요소까지 읽혀집니다. 음수 값은 끝에서 요소의 위치를 ​​​​결정합니다. 예를 들어:

>>> mylist = ["목록 항목 1", 2, 3.14]

>>> print mylist[:] #모든 배열 요소를 읽습니다.

["목록 항목 1", 2, 3.1400000000000001]

>>> print mylist # 배열의 0번째와 첫 번째 요소를 읽습니다.

["목록 항목 1", 2]

>>> print mylist[-3:-1] #0(-3)부터 두 번째(-1)까지의 요소를 읽습니다(포함되지 않음).

["목록 항목 1", 2]

>>> print mylist #요소를 처음부터 끝까지 읽습니다.

문자열

Python의 문자열 큰따옴표 """ 또는 작은따옴표 """로 구분됩니다.. 큰따옴표에는 작은따옴표가 포함될 수 있으며 그 반대의 경우도 마찬가지입니다. 예를 들어, "그는 안녕하세요!"라는 줄을 사용합니다. "안녕하세요!"라고 표시됩니다. 여러 줄로 구성된 문자열을 사용해야 하는 경우 이 줄은 세 개의 큰따옴표 """"로 시작하고 끝나야 합니다. 문자열 템플릿 사이에 튜플이나 사전의 요소를 대체할 수 있습니다. 튜플은 문자열 "%s"의 문자를 튜플 요소로 대체합니다. 사전을 사용하면 문자열에 지정된 인덱스의 요소를 삽입할 수 있습니다. 이 경우 "%(index)s" 대신 해당 인덱스의 사전 값이 대체됩니다.

>>>print "이름: %s\n번호: %s\n문자열: %s" % (myclass.name, 3, 3 * "-")

이름 : 포로메노스

번호: 3

끈: ---

strString = """이 텍스트는 다음 위치에 있습니다

여러 줄에 걸쳐"""

>>> "이 %(동사)s는 %(명사)s입니다."를 인쇄합니다. %("명사": "테스트", "동사": "이다")

이것은 테스트입니다.

연산자

while, if 및 for 문은 이동 연산자를 구성합니다. select 문과 동등한 것이 없으므로 if 를 사용해야 합니다. for 문은 비교를 수행합니다. 변수와 목록. 숫자까지의 숫자 목록을 얻으려면 - range( 함수를 사용하세요. ). 다음은 연산자를 사용하는 예입니다.

rangelist = range(10) #10자리(0부터 9까지)의 목록을 얻습니다.

>>> 범위 목록 인쇄

for number in rangelist: #변수 번호(매번 1씩 증가)가 목록에 있는 한...

# 변수가 포함되어 있는지 확인

# 숫자를 숫자 튜플(3, 4, 7, 9)로 변환

숫자가 (3, 4, 7, 9)에 있는 경우: # 숫자가 튜플 (3, 4, 7, 9)에 있는 경우...

# "break" 작업은 다음을 제공합니다.

# 언제든지 루프를 종료합니다.

부서지다

또 다른:

# "continue"는 "스크롤"을 수행합니다.

# 루프. 이 작업 이후에는 여기서는 필요하지 않습니다.

# 어떤 경우든 프로그램은 루프 처리로 돌아갑니다.

계속하다

또 다른:

# "else"는 선택사항입니다. 조건이 충족됨

# 루프가 "break"로 중단되지 않은 경우.

통과 # 아무것도 하지 않음

범위 목록 == 2인 경우:

"두 번째 항목(목록은 0부터 시작)은 2입니다"를 인쇄합니다.

elif 범위 목록 == 3:

"두 번째 항목(목록은 0부터 시작)은 3입니다"를 인쇄합니다.

또 다른:

"모르겠어요"를 인쇄하세요.

범위 목록 == 1인 동안:

통과하다

기능

함수를 선언하려면 다음을 사용하세요. 키워드 "def". 함수 인수는 함수 이름 뒤 괄호 안에 표시됩니다. 선택적 인수를 지정하여 기본값을 제공할 수 있습니다. 함수는 튜플을 반환할 수 있으며, 이 경우 반환 값을 쉼표로 구분하여 작성해야 합니다. "lambda"라는 키워드는 기본 함수를 선언하는 데 사용됩니다.

# arg2 및 arg3은 선택적 인수이며 기본적으로 선언된 값을 사용합니다.

# 함수를 호출할 때 다른 값을 지정하지 않는 한.

def myfunction(arg1, arg2 = 100, arg3 = "테스트"):

arg3, arg2, arg1을 반환합니다.

#함수는 첫 번째 인수인 "인수 1", 두 번째 인수는 기본적으로, 세 번째 인수는 "명명된 인수"의 값으로 호출됩니다.

>>>ret1, ret2, ret3 = myfunction("인수 1", arg3 = "명명된 인수")

# ret1, ret2 및 ret3은 각각 "명명된 인수", 100, "인수 1" 값을 사용합니다.

>>> ret1, ret2, ret3 인쇄

명명된 인수 100 인수 1

# 다음은 def f(x)와 동일합니다: return x + 1

functionvar = 람다 x: x + 1

>>> 인쇄 functionvar(1)

클래스

Python 언어는 클래스의 다중 상속으로 제한됩니다. 내부 변수와 내부 클래스 메서드는 두 개의 밑줄 "__"로 시작합니다(예: "__myprivatevar"). 외부에서 클래스 변수에 값을 할당할 수도 있습니다. 예:

클래스 Myclass:

공통 = 10

def __init__(자기):

Self.my변수 = 3

내 함수 정의(self, arg1, arg2):

self.myvariable 반환

# 여기서는 Myclass 클래스를 선언했습니다. __init__ 함수는 클래스가 초기화될 때 자동으로 호출됩니다.

>>> classinstance = Myclass() # 클래스를 초기화했으며 myvariable은 초기화 방법에 명시된 대로 값 3을 갖습니다.

>>> classinstance.myfunction(1, 2) #Myclass 클래스의 myfunction 메소드는 myvariable 변수의 값을 반환합니다.

# 공통 변수는 모든 클래스에서 선언됩니다.

>>> 클래스인스턴스2 = 마이클래스()

>>> 클래스instance.common

>>> 클래스instance2.common

# 따라서 Myclass 클래스에서 해당 값을 변경하면 변경됩니다.

# Myclass 클래스에 의해 초기화된 객체의 값

>>> Myclass.common = 30

>>> 클래스instance.common

>>> 클래스instance2.common

# 여기서는 클래스 변수를 변경하지 않습니다. 이것 대신에

# 객체에서 선언하고 새 값을 할당합니다.

>>> 클래스instance.common = 10

>>> 클래스instance.common

>>> 클래스instance2.common

>>> Myclass.common = 50

# 이제 클래스 변수를 변경해도 영향을 받지 않습니다.

# 이 클래스의 변수 객체

>>> 클래스instance.common

>>> 클래스instance2.common

# 다음 클래스는 Myclass 클래스의 자손입니다.

# 클래스의 속성과 메서드를 상속받아 누가 클래스를 만들 수 있나요?

# 여러 클래스에서 상속합니다. 이 경우 항목은

# 이와 같이: class Otherclass(Myclass1, Myclass2, MyclassN)

클래스 기타클래스(Myclass):

정의 __init__(self, arg1):

Self.my변수 = 3

arg1 인쇄

>>> classinstance = Otherclass("안녕하세요")

안녕하세요

>>> 클래스instance.myfunction(1, 2)

# 이 클래스에는 속성 테스트가 없지만 다음을 수행할 수 있습니다.

# 객체에 대해 이러한 변수를 선언합니다. 게다가

# 이 변수는 클래스 인스턴스에만 속합니다.

>>> 클래스인스턴스.테스트 = 10

>>> 클래스인스턴스.테스트

예외

Python의 예외에는 try -out 구조가 있습니다.

def somefunction():

노력하다:

# 0으로 나누면 오류가 발생합니다.

10 / 0

ZeroDivisionError 제외:

# 하지만 프로그램은 "불법적인 연산을 수행"하지 않습니다.

# 그리고 “ZeroDivisionError” 오류에 해당하는 예외 블록을 처리합니다.

"죄송합니다. 유효하지 않습니다."를 인쇄하세요.

>>> fn제외()

이런, 유효하지 않습니다.

수입

외부 라이브러리는 "가져오기" 절차를 사용하여 연결할 수 있습니다. 여기서 은 연결되는 라이브러리의 이름입니다. 라이브러리의 함수를 사용할 수 있도록 "from import" 명령을 사용할 수도 있습니다.

import ran #"random" 라이브러리를 가져옵니다.

from time import clock #동시에 "time" 라이브러리의 "clock" 함수

Randomint = 무작위.randint(1, 100)

>>>임의의 인쇄

파일 시스템 작업

Python에는 많은 내장 라이브러리가 있습니다. 이 예에서는 목록 구조를 바이너리 파일에 저장하고, 이를 읽고, 문자열을 텍스트 파일에 저장하려고 합니다. 데이터 구조를 변환하기 위해 표준 라이브러리 "pickle"을 사용합니다.

수입 피클

mylist = ["이것", "이다", 4, 13327]

# 쓰기를 위해 C:\binary.dat 파일을 엽니다. "r" 기호

# 특수 문자(예: \n, \t, \b 등)의 대체를 방지합니다.

myfile = 파일(r"C:\binary.dat", "w")

pickle.dump(mylist, myfile)

myfile.close()

myfile = 파일(r"C:\text.txt", "w")

myfile.write("샘플 문자열입니다.")

myfile.close()

myfile = 파일(r"C:\text.txt")

>>> myfile.read() 인쇄

"샘플 문자열입니다."

myfile.close()

# 읽을 파일을 엽니다.

myfile = 파일(r"C:\binary.dat")

loadlist = pickle.load(myfile)

myfile.close()

>>> 로드된 목록 인쇄

["이것", "이다", 4, 13327]

특징

  • 조건을 결합할 수 있습니다. 1 < a < 3 выполняется тогда, когда а больше 1, но меньше 3.
  • "del" 연산자를 사용하여 변수 또는 배열 요소 지우기.
  • Python은 다음과 같은 분야에 좋은 기회를 제공합니다. 목록 작업. 목록 구조 선언 연산자를 사용할 수 있습니다. for 연산자를 사용하면 특정 순서로 목록 요소를 지정할 수 있으며, if 연산자를 사용하면 조건에 따라 요소를 선택할 수 있습니다.

>>> lst1 =

>>> lst2 =

>>> 인쇄

>>> 인쇄

# "any" 연산자는 다음과 같은 경우 true를 반환합니다.

# 포함된 조건 중 하나라도 만족하는 경우.

>>> 모두(i % 3 for i in )

진실

# 다음 절차는 숫자를 계산합니다

# 목록의 일치하는 요소

>>> sum(1 for i in if i == 3)

>>> 델 lst1

>>> lst1 인쇄

>>> 델 lst1

  • 전역 변수함수 외부에서 선언되며 선언 없이 읽을 수 있습니다. 그러나 함수에서 전역 변수의 값을 변경해야 하는 경우 "global" 키워드를 사용하여 함수 시작 부분에 이를 선언해야 합니다. 이렇게 하지 않으면 Python은 다음과 같은 변수를 선언합니다. 해당 기능에만 액세스할 수 있습니다.

숫자 = 5

def myfunc():

# 출력 5

인쇄번호

def anotherfunc():

# 전역 변수 때문에 예외가 발생합니다.

# 함수에서 호출되지 않았습니다. 이 경우 Python은 다음을 생성합니다.

# 이 함수 내에서 동일한 이름을 가지며 접근 가능한 변수

# 이 함수의 연산자에만 해당됩니다.

인쇄번호

숫자 = 3

def 또다른 기능():

글로벌 번호

# 그리고 이 함수에서만 변수의 값이 변경됩니다.

숫자 = 3

발문

물론 이 글은 Python의 모든 기능을 설명하지는 않습니다. 이 프로그래밍 언어를 계속 배우고 싶다면 이 기사가 도움이 되기를 바랍니다.

파이썬의 장점

  • Python으로 작성된 프로그램의 실행 속도는 매우 빠릅니다. 이는 주요 Python 라이브러리가
    C++로 작성되었으며 다른 고급 언어보다 작업을 완료하는 데 시간이 덜 걸립니다.
  • 이 때문에 C 또는 C++로 자신만의 Python 모듈을 작성할 수 있습니다.
  • 표준 Python 라이브러리에서는 이메일, 프로토콜 작업을 위한 도구를 찾을 수 있습니다.
    인터넷, FTP, HTTP, 데이터베이스 등
  • Python을 사용하여 작성된 스크립트는 대부분의 최신 운영 체제에서 실행됩니다. 이러한 이식성을 통해 Python을 광범위한 응용 프로그램에서 사용할 수 있습니다.
  • Python은 사무용 프로그램, 웹 애플리케이션, GUI 애플리케이션 등 모든 프로그래밍 솔루션에 적합합니다.
  • 전 세계 수천 명의 열광적인 사람들이 Python 개발에 참여했습니다. 표준 라이브러리에서 최신 기술을 지원하는 것은 Python이 모든 사람에게 열려 있다는 사실에 기인합니다.
2012년 8월 27일 오후 03:18

효율적으로 Python 배우기

  • 파이썬

여러분, 안녕하세요!

사람이 읽을 수 있는 구문, 배우기 쉬운 고급 언어, 객체 지향 프로그래밍 언어 (앗), 강력한 대화형 모드, 많은 라이브러리. 다른 많은 장점... 그리고 이 모든 것이 하나의 언어로 제공됩니다.
먼저, 가능성에 대해 알아보고 Python이 무엇을 할 수 있는지 알아봅시다.

왜 당신의 Python이 필요합니까?

많은 새로운 프로그래머가 비슷한 질문을 합니다. 그것은 마치 휴대폰을 사는 것과 같습니다. 왜 이 휴대폰을 사야 하고 이 휴대폰을 사야 하는지 말해주세요.
소프트웨어 품질
나를 포함한 많은 사람들에게 가장 큰 장점은 사람이 읽을 수 있는 구문입니다. 그것을 자랑할 수 있는 언어는 많지 않습니다. Python 코드는 읽기가 더 쉽습니다. 즉, 다른 스크립팅 언어로 코드를 사용하는 것보다 코드를 재사용하고 유지 관리하는 것이 훨씬 쉽다는 의미입니다. Python에는 프로그램 코드를 재사용하기 위한 가장 현대적인 메커니즘인 OOP가 포함되어 있습니다.
지원 라이브러리
Python에는 표준 라이브러리로 알려진 컴파일되고 이식 가능한 수많은 기능이 함께 제공됩니다. 템플릿에 의한 텍스트 검색부터 네트워크 기능까지 응용프로그램에서 요구되는 다양한 기능을 제공하는 라이브러리입니다. Python은 자신의 라이브러리와 다른 개발자가 만든 라이브러리를 통해 확장할 수 있습니다.
프로그램 이식성
대부분의 Python 프로그램은 모든 주요 플랫폼에서 변경 없이 실행됩니다. 프로그램 코드를 Linux에서 Windows로 전송하는 것은 단순히 프로그램 파일을 한 시스템에서 다른 시스템으로 복사하는 것과 관련됩니다. Python은 또한 이식 가능한 그래픽 인터페이스를 만들 수 있는 많은 기회를 제공합니다.
개발 속도
C, C++, Java 등 컴파일된 언어나 강력한 형식의 언어에 비해 Python은 개발자 생산성을 몇 배나 향상시킵니다. Python 코드는 일반적으로 동등한 C++ 또는 Java 코드 크기의 1/3 또는 1/5입니다. 이는 입력 횟수, 디버깅 시간 및 유지 관리 노력이 적다는 것을 의미합니다. 또한 Python 프로그램은 다른 프로그래밍 언어에서 요구되는 시간 소모적인 컴파일 및 연결 단계 없이 즉시 실행되므로 프로그래머 생산성이 더욱 향상됩니다.

파이썬은 어디에 사용되나요?

  • Google은 검색 엔진에 Python을 사용하고 Python의 창시자인 Guido van Rossum에게 비용을 지불합니다.
  • Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm 및 IBM과 같은 회사에서는 하드웨어 테스트에 Python을 사용합니다.
  • YouTube의 동영상 공유 서비스는 대부분 Python으로 구현됩니다.
  • NSA는 암호화 및 인텔리전스 분석을 위해 Python을 사용합니다.
  • JPMorgan Chase, UBS, Getco 및 Citadel은 금융 시장 예측에 Python을 사용합니다.
  • P2P 네트워크에서 파일을 교환하는 데 널리 사용되는 BitTorrent 프로그램은 Python으로 작성되었습니다.
  • Google의 인기 있는 App Engine 웹 프레임워크는 Python을 애플리케이션 프로그래밍 언어로 사용합니다.
  • NASA, Los Alamos, JPL 및 Fermilab은 과학 컴퓨팅에 Python을 사용합니다.
그리고 다른 회사들도 이 언어를 사용합니다.

문학

그래서 우리는 Python 프로그래밍 언어를 더 잘 알게 되었습니다. Python의 장점은 고품질 문헌이 많다는 점이라고 별도로 말할 수 있습니다. 모든 언어가 이것을 자랑할 수 있는 것은 아닙니다. 예를 들어 JavaScript 프로그래밍 언어는 언어가 정말 훌륭하더라도 많은 문헌으로 사용자를 만족시킬 수 없습니다.

다음은 Python을 더 잘 알고 미래의 Guido van Rossum이 되는 데 도움이 되는 소스입니다.
* 일부 소스는 영어로 되어 있을 수 있습니다. 이는 놀라운 일이 아닙니다. 현재 많은 훌륭한 문헌이 영어로 작성되어 있습니다. 그리고 프로그래밍 자체를 위해서는 최소한 영어에 대한 기본 지식을 알아야 합니다.

나는 책을 먼저 읽어볼 것을 강력히 권한다 - Mark Lutz. Python 배우기, 4판. 이 책은 러시아어로 번역되었으니 갑자기 영어를 몰라도 두려워하지 마세요. 그러나 그것은 네 번째 버전입니다.

영어를 아는 분들은 공식 Python 웹사이트에서 문서를 읽어보실 수 있습니다. 거기에는 모든 것이 아주 명확하게 설명되어 있습니다.

그리고 동영상을 통해 정보를 더 많이 받아들이신다면 스탠포드 학생인 Nick Parlante가 가르치는 Google 강의를 추천해 드릴 수 있습니다. YouTube 동영상 강의 6개. 그런데 여기서 연고가 한방울 떨어지네요... 영어자막과 함께 영어로 진행합니다. 그러나 나는 이것이 몇 가지를 멈추기를 바랍니다.

책을 읽었지만 지식을 적용하는 방법을 모른다면 어떻게 해야 합니까?

당황하지 말 것!
마크 러츠의 책을 읽어보시길 권합니다. Python 프로그래밍(제4판). 이전에는 '공부'였지만, 여기서는 '프로그래밍'입니다. "학습"에서는 Python에 대한 지식을 얻고, "프로그래밍"에서는 Mark가 이를 향후 프로그램에 적용하는 방법을 가르칩니다. 이 책은 매우 유용합니다. 그리고 나는 당신에게 하나면 충분하다고 생각합니다.

나는 연습을 원한다!

용이하게.
위에서 나는 YouTube에서 Nick Parlante의 비디오 강의에 대해 썼습니다.

Python은 원하는 것은 무엇이든 할 수 있는 인기 있고 강력한 스크립트 언어입니다. 예를 들어, 웹사이트를 크롤링하여 데이터를 수집하고, 네트워크와 도구를 만들고, 계산을 수행하고, Raspberry Pi용 프로그래밍을 수행하고, 그래픽 프로그램을 개발하고, 심지어 비디오 게임까지 할 수 있습니다. Python에서는 플랫폼 독립적인 시스템 프로그램을 \\ 작성할 수 있습니다.

이 기사에서는 Python 프로그래밍의 기본 사항을 살펴보고 언어 사용을 시작하는 데 필요한 모든 기본 기능을 다루려고 노력할 것입니다. 다양한 문제를 해결하기 위해 클래스와 메서드를 사용하는 방법을 살펴보겠습니다. 당신은 이미 언어의 기본과 구문에 익숙하다고 가정합니다.

파이썬이란 무엇입니까?

언어의 생성과 발전의 역사에 대해서는 다루지 않겠습니다. 아래에 첨부할 동영상을 보면 쉽게 알 수 있습니다. Python은 스크립팅 언어라는 점에 유의하는 것이 중요합니다. 즉, 코드에 오류가 있는지 확인하고 추가 컴파일이나 재작업 없이 즉시 실행됩니다. 이 접근 방식은 해석 가능이라고도 합니다.

이는 생산성을 감소시키지만 매우 편리합니다. 명령을 입력하고 그 결과를 즉시 확인할 수 있는 인터프리터가 있습니다. 이러한 대화형 작업은 학습에 큰 도움이 됩니다.

통역사에서 근무

Python 인터프리터를 실행하는 것은 모든 운영 체제에서 매우 쉽습니다. 예를 들어 Linux에서는 터미널에 python 명령을 입력하면 됩니다.

열리는 인터프리터 프롬프트에서 현재 사용 중인 Python 버전을 볼 수 있습니다. 요즘에는 Python 2와 Python 3의 두 가지 버전이 매우 일반적입니다. 첫 번째 버전에서는 많은 프로그램과 라이브러리가 개발되었고 두 번째 버전에는 더 많은 기능이 있기 때문에 둘 다 인기가 있습니다. 따라서 배포판에는 두 버전이 모두 포함됩니다. 기본적으로 두 번째 버전이 시작됩니다. 그러나 버전 3이 필요한 경우 다음을 수행해야 합니다.

이 기사에서 고려할 것은 세 번째 버전입니다. 이제 이 언어의 주요 기능을 살펴보겠습니다.

문자열 연산

Python의 문자열은 변경할 수 없습니다. 문자열의 문자 중 하나를 변경할 수 없습니다. 콘텐츠를 변경하려면 새 복사본을 만들어야 합니다. 작성된 모든 내용을 더 잘 이해하려면 통역사를 열고 아래 나열된 예를 따르십시오.

1. 문자열 연결

str = "환영합니다" + "파이썬에 오신 것을 환영합니다"
인쇄(str)

2. 문자열 곱셈

str = "손실" * 2
인쇄(str)

3. 변환을 통한 병합

문자열을 숫자 또는 부울 값과 연결할 수 있습니다. 하지만 이를 위해서는 변환을 사용해야 합니다. 이를 위한 str() 함수가 있습니다:

str = "테스트 번호입니다. " + str(15)
인쇄(str)

4. 하위 문자열 검색

find 메소드를 사용하여 문자나 하위 문자열을 찾을 수 있습니다:

str = "사이트에 오신 것을 환영합니다"
print(str.find("사이트"))

이 메서드는 하위 문자열 사이트가 발견되면 처음 나타나는 위치를 표시합니다. 아무 것도 발견되지 않으면 값 -1이 반환됩니다. 이 함수는 첫 번째 문자부터 검색을 시작하지만 n번째 문자부터 시작할 수도 있습니다(예: 26).

str = "사이트 사이트에 오신 것을 환영합니다"
print(str.find("losst",26))

이 변형에서는 문자열을 찾을 수 없기 때문에 함수는 -1을 반환합니다.

5. 부분 문자열 얻기

우리가 찾고 있는 하위 문자열의 위치를 ​​얻었습니다. 이제 하위 문자열 자체를 얻는 방법과 그 뒤에 오는 내용은 무엇입니까? 이렇게 하려면 다음 구문을 사용하세요. [시작:끝], 두 개의 숫자를 지정하거나 첫 번째 숫자만 지정하십시오.

str = "하나 둘 셋"
인쇄(str[:2])
인쇄(str)
인쇄(str)
인쇄(str[-1])

첫 번째 줄은 첫 번째 문자부터 두 번째 문자까지, 두 번째 문자는 두 번째부터 끝까지 부분 문자열을 인쇄합니다. 카운트다운은 0부터 시작됩니다. 거꾸로 계산하려면 음수를 사용하세요.

6. 부분 문자열 교체

바꾸기 메소드를 사용하여 문자열의 일부를 바꿀 수 있습니다:

str = "이 사이트는 Linux에 관한 것입니다."
str2 = str.replace("리눅스", "윈도우")
인쇄(str2)

발생 항목이 많은 경우 첫 번째 항목만 바꿀 수 있습니다.

str = "이 사이트는 Linux에 관한 사이트이며 저는 이 사이트에 가입했습니다."
str2 = str.replace("사이트", "페이지",1)
인쇄(str2)

7. 문자열 정리

스트립 기능을 사용하여 추가 공백을 제거할 수 있습니다:

str = "이것은 Linux에 관한 웹사이트입니다."
인쇄(str.strip())

rstrip을 사용하면 오른쪽에서만 추가 공백을 제거하거나 lstrip을 사용하면 왼쪽에서만 추가 공백을 제거할 수도 있습니다.

8. 등록 변경

문자의 대소문자를 변경하는 특수 기능이 있습니다:

str="Lost에 오신 것을 환영합니다"
인쇄(str.upper())
인쇄(str.lower())

9. 문자열 변환

문자열을 다양한 숫자 유형으로 변환하는 함수에는 int(), float(), long() 등이 있습니다. int() 함수는 정수로 변환되고 float()는 부동 소수점 숫자로 변환됩니다.

str="10"
str2="20"
인쇄(str+str2)
인쇄(정수(str)+정수(str2))

10. 줄의 길이

min(), max(), len() 함수를 사용하여 한 줄의 문자 수를 계산할 수 있습니다.

str="로스트 웹사이트에 오신 것을 환영합니다"
인쇄(최소(str))
인쇄(최대(str))
인쇄(len(str))

첫 번째는 최소 문자 크기를 표시하고, 두 번째는 최대 문자 크기를, 세 번째는 줄의 전체 길이를 표시합니다.

11. 문자열 반복

for 루프를 사용하여 문자열의 각 문자에 개별적으로 액세스할 수 있습니다.

str="사이트에 오신 것을 환영합니다"
범위(len(str)) 내의 i에 대해:
인쇄(str[i])

루프를 제한하기 위해 len() 함수를 사용했습니다. 들여쓰기에 주의하세요. Python 프로그래밍은 이를 기반으로 하며, 블록을 구성하는 데 괄호가 없고 들여쓰기만 하면 됩니다.

숫자를 사용한 작업

Python의 숫자는 메소드에서 선언하거나 사용하기가 매우 쉽습니다. 정수 또는 부동 소수점 숫자를 만들 수 있습니다.

숫자1 = 15
숫자2 = 3.14

1. 반올림 숫자

round 함수를 사용하여 숫자를 반올림할 수 있습니다. 남기고 싶은 문자 수를 지정하기만 하면 됩니다.

a=15.5652645
인쇄(라운드(a,2))

2. 난수 생성

Random 모듈을 사용하여 난수를 얻을 수 있습니다:

무작위로 가져오기
인쇄(random.random())

기본적으로 숫자는 0.0~1.0 범위에서 생성됩니다. 하지만 자신만의 범위를 설정할 수 있습니다.

무작위로 가져오기
숫자=
인쇄(random.choice(숫자))

날짜와 시간을 사용한 작업

Python 프로그래밍 언어에는 날짜 및 시간을 사용하여 다양한 작업을 수행할 수 있는 DateTime 모듈이 있습니다.

날짜/시간 가져오기
cur_date = datetime.datetime.now()
인쇄(현재_날짜)
인쇄(cur_date.year)
인쇄(cur_date.day)
인쇄(cur_date.weekday())
인쇄(cur_date.month)
인쇄(cur_date.time())

이 예에서는 객체에서 원하는 값을 추출하는 방법을 보여줍니다. 두 개체의 차이점을 확인할 수 있습니다.

날짜/시간 가져오기
time1 = datetime.datetime.now()
time2 = datetime.datetime.now()
timediff = 시간2 - 시간1
인쇄(timediff.microseconds)

임의의 값을 사용하여 날짜 객체를 직접 만들 수 있습니다.

time1 = datetime.datetime.now()
time2 = datetime.timedelta(일=3)
시간3=시간1+시간2
인쇄(time3.date())

1. 날짜 및 시간 형식 지정

strftime 메서드를 사용하면 선택한 표준 또는 지정된 형식에 따라 날짜 및 시간 형식을 변경할 수 있습니다. 기본 서식 문자는 다음과 같습니다.

  • %ㅏ- 요일, 약칭;
  • %ㅏ- 요일, 이름;
  • %w- 0부터 6까지의 요일 수;
  • %디- 해당 월의 날짜
  • %비- 월의 약식 이름
  • %비- 달의 전체 이름
  • %중- 월 번호;
  • %와이- 연도;
  • %시간- 24시간 형식의 시간
  • %엘- 12시간 형식의 시간입니다.
  • %피- 오전 아니면 오후;
  • %중- 분;
  • %에스- 두번째.

날짜/시간 가져오기
date1 = datetime.datetime.now()
print(date1.strftime("%d. %B %Y %I:%M%p"))

2. 문자열에서 날짜 만들기

strptime() 함수를 사용하여 문자열에서 날짜 객체를 만들 수 있습니다.

날짜/시간 가져오기
date1=datetime.datetime.strptime("2016-11-21", "%Y-%m-%d")
date2=datetime.datetime(연도=2015, 월=11, 일=21)
인쇄(날짜1);
인쇄(날짜2);

파일 시스템 작업

Python 프로그래밍 언어에서는 파일 관리가 매우 쉽습니다. 파일 작업에 가장 적합한 언어입니다. 그리고 일반적으로 Python이 가장 간단한 언어라고 말할 수 있습니다.

1. 파일 복사

파일을 복사하려면 subutil 모듈의 기능을 사용해야 합니다:

수입 차단
new_path=shutil.copy("file1.txt", "file2.txt")

new_path = quitil.copy("file1.txt", "file2.txt", follow_symlinks=False)

2. 파일 이동

파일 이동은 move 함수를 사용하여 수행됩니다.

Shutil.move("file1.txt", "file3.txt")

os 모듈의 이름 바꾸기 기능을 사용하면 파일 이름을 바꿀 수 있습니다:

수입 OS
os.rename("file1.txt", "file3.txt")

3. 텍스트 파일 읽기 및 쓰기

내장 함수를 사용하여 파일을 열고, 데이터를 읽거나 쓸 수 있습니다.

fd = 열기("file1.txt")
내용 = fd.read()
인쇄(내용)

먼저 open 함수를 사용하여 작업하려면 파일을 열어야 합니다. 파일에서 데이터를 읽으려면 읽기 기능을 사용하고 읽은 텍스트는 변수에 저장됩니다. 읽을 바이트 수를 지정할 수 있습니다.

fd = 열기("file1.txt")
내용 = fd.read(20)
인쇄(내용)

파일이 너무 크면 여러 줄로 나누어 다음과 같이 처리할 수 있습니다.

내용 = fd.readlines()
인쇄(내용)

파일에 데이터를 쓰려면 먼저 쓰기용으로 열어야 합니다. 작업 모드에는 덮어쓰기와 파일 끝에 추가라는 두 가지 모드가 있습니다. 녹음 모드:

fd = 열기("file1.txt","w")

그리고 파일 끝에 다음을 추가합니다.

fd = 열기("file1.txt","a")
content = fd.write("새 콘텐츠")

4. 디렉토리 생성

디렉토리를 생성하려면 os 모듈의 mkdir 함수를 사용하십시오:

수입 OS
os.mkdir("./새 폴더")

5. 생성 시간 가져오기

getmtime(), getatime() 및 getctime() 함수를 사용하여 마지막 수정, 마지막 액세스 및 생성 시간을 가져올 수 있습니다. 결과는 Unix 형식으로 출력되므로 읽을 수 있는 형식으로 변환해야 합니다.

수입 OS
날짜/시간 가져오기
tim=os.path.getctime("./file1.txt")
인쇄(datetime.datetime.fromtimestamp(tim))

6. 파일 목록

listdir() 함수를 사용하면 폴더에 있는 파일 목록을 가져올 수 있습니다.

수입 OS
파일= os.listdir(".")
인쇄(파일)

동일한 문제를 해결하려면 glob 모듈을 사용할 수 있습니다.

수입 지구본
파일=glob.glob("*")
인쇄(파일)

7. Python 객체 직렬화

수입 피클
fd = open("myfile.pk ", "wb")
피클.dump(mydata,fd)

그런 다음 객체를 복원하려면 다음을 사용하십시오.

수입 피클
fd = open("myfile.pk ", "rb")
mydata = 피클.로드(fd)

8. 파일 압축

Python 표준 라이브러리를 사용하면 zip, tar, gzip, bzip2와 같은 다양한 아카이브 형식으로 작업할 수 있습니다. 파일 내용을 보려면 다음을 사용하십시오.

zip 파일 가져오기
my_zip = zipfile.ZipFile("my_file.zip", 모드="r")
인쇄(파일.이름목록())

zip 아카이브를 생성하려면:

zip 파일 가져오기
file=zipfile.ZipFile("files.zip","w")
file.write("file1.txt")
파일.닫기()

아카이브의 압축을 풀 수도 있습니다.

zip 파일 가져오기
file=zipfile.ZipFile("files.zip","r")
파일.추출()
파일.닫기()

다음과 같이 아카이브에 파일을 추가할 수 있습니다.

zip 파일 가져오기
file=zipfile.ZipFile("files.zip","a")
file.write("file2.txt")
파일.닫기()

9. CSV 및 Excel 파일 구문 분석

pandas 모듈을 사용하면 CSV 및 Excel 테이블의 내용을 보고 구문 분석할 수 있습니다. 먼저 pip를 사용하여 모듈을 설치해야 합니다.

sudo pip 설치 팬더

그런 다음 구문 분석하려면 다음을 입력하십시오.

팬더 수입
데이터=pandas.read_csv("file.csv)

기본적으로 pandas는 각 행의 제목에 첫 번째 열을 사용합니다. index_col 매개변수를 사용하여 인덱스에 대한 열을 지정하거나 필요하지 않은 경우 False를 지정할 수 있습니다. 파일에 변경 사항을 쓰려면 to_csv 함수를 사용하세요.

data.to_csv("파일.csv)

동일한 방법으로 Excel 파일을 구문 분석할 수 있습니다.

데이터 = pd.read_excel("file.xls", sheetname="Sheet1")

모든 테이블을 열어야 하는 경우 다음을 사용하세요.

데이터 = pd.ExcelFile("file.xls")

그런 다음 모든 데이터를 다시 쓸 수 있습니다.

data.to_excel("file.xls", sheet="Sheet1")

Python의 네트워킹

Python 3 프로그래밍에는 네트워킹이 포함되는 경우가 많습니다. Python 표준 라이브러리에는 낮은 수준의 네트워크 액세스를 위한 소켓 기능이 포함되어 있습니다. 이는 여러 네트워크 프로토콜을 지원하는 데 필요합니다.

수입 소켓
호스트 = "192.168.1.5"
포트 = 4040
my_sock = 소켓.create_connection((호스트, 포트))

이 코드는 시스템 192.168.1.5의 포트 4040에 연결됩니다. 소켓이 열려 있으면 데이터를 보내고 받을 수 있습니다.

my_sock.sendall(b"Hello World")

바이너리 모드로 데이터를 전송해야 하기 때문에 줄 앞에 b 문자를 써야 합니다. 메시지가 너무 크면 다음을 반복할 수 있습니다.

msg = b"여기에 더 긴 메시지가 표시됩니다"
메시지렌 = len(msg)
총계 = 0
동안 총< msglen:
전송됨 = my_sock.send(msg)
총계 = 총계 + 전송됨

데이터를 받으려면 소켓도 열어야 하지만 my_sock_recv 메서드를 사용하세요.

data_in = my_sock.recv(2000)

여기서는 수신해야 하는 데이터의 양을 나타냅니다. 20000이면 20000바이트의 데이터가 수신될 때까지 데이터가 변수로 전송되지 않습니다. 메시지가 더 큰 경우 메시지를 받으려면 루프를 만들어야 합니다.

버퍼 = bytearray(b" " * 2000)
my_sock.recv_into(버퍼)

버퍼가 비어 있으면 수신된 메시지가 거기에 기록됩니다.

메일 작업

Python 표준 라이브러리를 사용하면 이메일 메시지를 받고 보낼 수 있습니다.

1. POP3 서버에서 메일 수신

메시지를 받기 위해 우리는 POP 서버를 사용합니다:

가져오기 getpass,poplib
pop_serv = poplib.POP3("192.168.1.5")
pop_serv.user("myuser")
pop_serv.pass_(getpass.getpass())

getpass 모듈을 사용하면 사용자의 비밀번호가 화면에 표시되지 않도록 안전한 방법으로 얻을 수 있습니다. POP 서버가 보안 연결을 사용하는 경우 POP3_SSL 클래스를 사용해야 합니다. 연결이 성공하면 서버와 상호작용할 수 있습니다.

msg_list = pop_serv.list() # 메시지 나열
msg_count = pop_serv.msg_count()

작업을 완료하려면 다음을 사용하세요.

2. IMAP 서버로부터 메일 수신

IMAP 서버에 연결하고 작업하려면 imaplib 모듈을 사용하십시오.

imaplib 가져오기, getpass
my_imap = imaplib.IMAP4("imap.server.com")
my_imap.login("myuser", getpass.getpass())

IMAP 서버가 보안 연결을 사용하는 경우 IMAP4_SSL 클래스를 사용해야 합니다. 메시지 목록을 얻으려면 다음을 사용하십시오.

데이터 = my_imap.search(없음, "전체")

그런 다음 선택한 목록을 반복하여 각 메시지를 읽을 수 있습니다.

msg = my_imap.fetch(email_id, "(RFC822)")

하지만 연결을 닫는 것을 잊지 마세요.

my_imap.close()
my_imap.logout()

3. 메일 보내기

메일을 보내려면 SMTP 프로토콜과 smtplib 모듈이 사용됩니다.

smtplib 가져오기, getpass
my_smtp = smtplib.SMTP(smtp.server.com")
my_smtp.login("myuser", getpass.getpass())

이전과 마찬가지로 보안 연결을 위해 SMTP_SSL을 사용하십시오. 연결이 설정되면 메시지를 보낼 수 있습니다.

from_addr = " [이메일 보호됨]"
to_addr = " [이메일 보호됨]"
msg = "보낸 사람: [이메일 보호됨]\r\n받는 사람: [이메일 보호됨]\r\n\r\n안녕하세요. 테스트 메시지입니다."
my_smtp.sendmail(from_addr, to_addr, msg)

웹페이지 작업

Python 프로그래밍은 웹 작업을 위한 다양한 스크립트를 작성하는 데 자주 사용됩니다.

1. 웹 크롤링

urllib 모듈을 사용하면 다양한 방법으로 웹 페이지를 쿼리할 수 있습니다. 일반 요청을 보내려면 요청 클래스를 사용하세요. 예를 들어 일반 페이지 요청을 수행해 보겠습니다.

urllib.request 가져오기
my_web = urllib.request.urlopen("https://www.google.com")
인쇄(my_web.read())

2. POST 메소드 사용

웹 양식을 제출해야 하는 경우 GET 대신 POST 요청을 사용해야 합니다.

urllib.request 가져오기
mydata = b"귀하의 데이터는 여기에 저장됩니다"
my_req = urllib.request.Request("http://localhost", data=mydata,method="POST")
my_form = urllib.request.urlopen(my_req)
인쇄(my_form.status)

3. 웹 서버 생성

Socket 클래스를 사용하면 들어오는 연결을 수락할 수 있습니다. 즉, 최소한의 기능으로 웹 서버를 만들 수 있습니다.

수입 소켓
호스트 = ""
포트 = 4242
my_server = 소켓.소켓(socket.AF_INET, 소켓.SOCK_STREAM)
my_server.bind((호스트, 포트))
my_server.listen(1)

서버가 생성되면. 연결 수락을 시작할 수 있습니다.

addr = my_server.accept()
print("호스트에서 연결되었습니다", addr)
데이터 = conn.recv(1024)

그리고 연결을 닫는 것을 잊지 마세요:

멀티스레딩

대부분의 최신 언어와 마찬가지로 Python에서는 여러 병렬 스레드를 실행할 수 있으므로 복잡한 계산을 수행해야 할 때 유용할 수 있습니다. 표준 라이브러리에는 Therad 클래스를 포함하는 스레딩 모듈이 있습니다.

수입 스레딩
def print_message():
print("다른 스레드에서 메시지가 인쇄되었습니다.")
my_thread = threading.Thread(target=print_message)
my_thread.start()

함수가 너무 오랫동안 실행되는 경우 is_alive() 함수를 사용하여 모든 것이 괜찮은지 확인할 수 있습니다. 스레드가 전역 리소스에 액세스해야 하는 경우가 있습니다. 잠금은 다음 용도로 사용됩니다.

수입 스레딩
숫자 = 1
my_lock = 스레딩.잠금()
def my_func():
전역 번호, my_lock
my_lock.acquire()
합계 = 숫자 + 1
인쇄(합계)
my_lock.release()
my_thread = threading.Thread(대상=my_func)
my_thread.start()

결론

이번 글에서는 Python 프로그래밍의 기본을 다루었습니다. 이제 일반적으로 사용되는 대부분의 기능을 알고 있으며 이를 작은 프로그램에서 사용할 수 있습니다. Python 3 프로그래밍을 좋아하게 될 것입니다. 매우 쉽습니다! 궁금한 점이 있다면 댓글로 질문해주세요!

기사를 마무리하기 위해 Python에 대한 훌륭한 강의가 있습니다.

우리는 팀의 새로운 코스를 여러분의 관심에 제시합니다 코드비- "처음부터 웹 애플리케이션의 침투 테스트." 일반 이론, 작업 환경 준비, 수동적 퍼징 및 핑거프린팅, 능동적 퍼징, 취약점, 착취 후, 도구, 사회 공학 등.


Python 프로그래밍 언어오랫동안 모든 프로그래밍 언어 중에서 선두 자리를 차지해 왔습니다. 적용 영역 수와 기능 측면에서 C++, JavaScript 등의 언어와 경쟁합니다. 물론 Python은 기존 프로그래밍 언어보다 훨씬 젊지만 초보자 이상에게 이상적입니다. Python은 NASA, Pixar와 같은 대기업에서 사용됩니다.

첫째로:이 프로그래밍 언어에는 동적 타이핑 기능이 있습니다. 즉, 변수 유형을 선언하고, 한 유형을 다른 유형으로 변환하고, 이러한 변수에 포함된 문자 수에 대한 제한을 고려할 필요가 없습니다. 동적 타이핑을 사용하면 초보자가 언어 작동 방식을 이해하기 위해 RAM과 CPU를 깊이 파고들 필요가 없기 때문에 작업이 더 쉬워집니다. 물론, 한 데이터 유형을 다른 데이터 유형으로 캐스팅하는 몇 가지 원칙을 설명하는 규칙이 있습니다. 물론 Python을 배울 때 주의를 기울일 가치가 있습니다. 이렇게 하면 컴파일러에서 인식하지 못하는 논리적 오류를 피할 수 있습니다.

동적 입력 예:

둘째:이 언어에는 강력한 객체 지향 프로그래밍 기능이 있습니다. 이는 Python 프로그램의 논리적 구조가 코드가 상대적으로 적은 수의 줄에 들어가도록 구축될 수 있음을 의미합니다. 실제로 Python으로 작성된 프로그램은 예를 들어 C++로 작성된 동일한 프로그램보다 1.5배에서 2배 적은 라인을 차지합니다.

Python은 범용 언어입니다. 이는 소프트웨어 개발의 모든 영역에서 사용할 수 있음을 의미합니다. 실제로 NumPy 모듈(MatLab의 대안)을 사용하는 복잡한 수학 시스템, Django를 사용하는 웹 애플리케이션, Tkinter를 사용하는 그래픽 인터페이스, PyGame을 사용하는 게임 등 모든 것이 Python으로 개발될 수 있습니다.

이 언어의 유일한 단점은 고전 언어(C++, Java)에 비해 속도가 느리다는 것입니다. 반면, 현대 컴퓨터의 컴퓨팅 성능은 이러한 차이를 눈에 보이지 않게 만듭니다. 그러나 여기서도 Python 개발자는 독창적인 솔루션을 찾았습니다. CPython 런타임은 중간 기계어 코드 단계 없이 코드를 컴파일하므로 프로그램 실행 속도가 더 빨라집니다. 따라서 속도가 중요한 프로그램 모듈은 CPython을 사용하여 개발할 수 있습니다.

위의 모든 것에서 Python은 배울 가치가 있다는 결론이 나옵니다. 초보 프로그래머라면 자유롭게 Python을 첫 번째 언어로 선택하세요. 이를 통해 프로그래밍 기술을 더 쉽게 배울 수 있고 미래에 성장할 수 있는 기회를 얻을 수 있습니다. Linux에 Python을 설치하려면 다음을 읽을 수 있습니다.

파이썬- 강력하고 배우기 쉬운 프로그래밍 언어입니다. 편리한 고급 데이터 구조와 객체 지향 프로그래밍에 대한 간단하지만 효과적인 접근 방식을 제공합니다. 파이썬해석된 언어. 작성된 프로그램을 실행하려면 CPython 인터프리터가 있어야 합니다. Python 인터프리터와 대규모 표준 라이브러리는 공식 웹사이트에서 모든 주요 플랫폼에 대한 소스 및 바이너리 파일로 무료로 제공됩니다. 파이썬 http://www.python.org이며 제한 없이 재배포될 수 있습니다. 또한 이 사이트에는 다양한 타사 모듈에 대한 배포 및 링크와 자세한 문서가 포함되어 있습니다.
언어는 다음과 같이 작성된 소스 코드 덕분에 명확하고 일관된 구문, 사려 깊은 모듈성 및 확장성을 갖추고 있습니다. 파이썬프로그램은 읽기 쉽습니다. 언어 개발자 파이썬"The Zen of Python"이라는 특정 프로그래밍 철학을 고수합니다. 해당 텍스트는 import this 명령을 사용하여 인터프리터에 의해 출력됩니다.

>>> import this The Zen of Python, 작성자: Tim Peters 아름다운 것이 못생긴 것보다 낫습니다. 명시적인 것이 암시적인 것보다 낫습니다. 단순한 것이 복잡한 것보다 낫습니다. 복잡한 것보다 복잡한 것이 낫습니다. 플랫이 중첩된 것보다 낫습니다. 밀도가 낮은 것보다 희박한 것이 더 좋습니다. 가독성이 중요합니다. 특수한 경우는 규칙을 깨뜨릴 만큼 특별하지 않습니다. 비록 오류가 명시적으로 침묵하지 않는 한, 한 가지만 있으면 됩니다. -분명한 방법. 네덜란드인이 아닌 이상 처음에는 그 방법이 명확하지 않을 수도 있습니다. 지금은 결코 그렇지 않은 것보다 낫습니다. 비록 결코 지금 *지금*보다 나은 경우가 종종 있습니다. 구현이 설명하기 어렵다면 그것은 "나쁜 생각"입니다. 구현이 설명하기 쉽다면 그것은 좋은 생각일 수 있습니다. 네임스페이스는 정말 좋은 아이디어 중 하나입니다. 더 많은 작업을 수행해 봅시다!

번역하면 다음과 같습니다.

  • 아름다운 것이 못생긴 것보다 낫습니다.
  • 명시적인 것이 암시적인 것보다 낫습니다.
  • 단순한 것이 복잡한 것보다 낫습니다.
  • 혼란스러운 것보다 복잡한 것이 낫습니다.
  • 플랫이 중첩된 것보다 낫습니다.
  • 밀도가 낮은 것보다 희박한 것이 더 좋습니다.
  • 가독성이 중요합니다.
  • 특별한 경우는 규칙을 어길 만큼 특별하지 않습니다.
  • 동시에, 완벽함보다는 실용성이 더 중요합니다.
  • 실수는 결코 잠잠해져서는 안 됩니다.
  • 명확하게 침묵하지 않은 경우.
  • 모호한 상황에 직면했을 때 추측하려는 유혹에 저항하십시오.
  • 이를 수행하는 확실한 방법은 하나(바람직하게는 단 하나)가 있어야 합니다.
  • 비록 당신이 네덜란드 사람이 아니라면 처음에는 명확하지 않을 수도 있습니다.
  • 지금은 결코 그렇지 않은 것보다 낫습니다.
  • 비록 결코 지금보다 더 나은 경우는 없습니다.
  • 구현을 설명하기 어렵다면 그 아이디어는 잘못된 것입니다.
  • 구현이 설명하기 쉽다면 아마도 좋은 아이디어일 것입니다.
  • 네임스페이스는 정말 좋은 것입니다! 우리는 그것들을 더 많이 만들 것입니다!

파이썬활발하게 개발되고 있는 프로그래밍 언어로, 약 2년 반마다 새 버전이 출시됩니다. 이것과 다른 이유로 인해, 파이썬 ANSI, ISO 또는 기타 공식 표준은 없습니다.

언어 창조의 역사

Python 언어의 개발은 1980년대 후반 네덜란드 CWI 연구소의 직원에 의해 시작되었습니다. Amoeba 분산 OS에는 Guido van Rossum이 Python을 만든 확장 가능한 스크립팅 언어가 필요했습니다. 새로운 언어는 프로그래밍 교육에 초점을 맞춘 ABC 언어의 일부 개발을 차용했습니다. 1991년 2월 Guido는 alt.sources 뉴스그룹에 원본 텍스트를 게시했습니다. 언어의 이름은 파충류의 종류에서 유래된 것이 아닙니다. 저자는 1970년대 영국의 인기 코미디 TV 쇼인 Monty Python's Flying Circus의 이름을 따서 이 언어를 명명했습니다. 그러나 언어의 상징은 뱀 머리로 표현됩니다. 광범위한 테스트를 거쳐 Python 3.0의 첫 번째 버전이 출시되었습니다. 현재 두 가지 개발 분기가 모두 지원됩니다(Python 3.x 및 2.x).

Python은 Modula-3, C, C++, Smalltalk, Lisp, Fortran, Java, Miranda, Icon 등 다양한 프로그래밍 언어의 영향을 받아 만들어졌습니다. Python에는 상당히 독특한 구문이 있지만 언어의 설계 원칙 중 하나는 놀라움을 최소화하는 원칙입니다.

표준 라이브러리

풍부한 표준 라이브러리는 Python의 매력 중 하나입니다. 이는 다양한 네트워크 프로토콜과 인터넷 형식으로 작업하기 위한 도구를 제공합니다. 정규식, 텍스트 인코딩, 멀티미디어 형식, 암호화 프로토콜 및 아카이브 작업을 위한 모듈이 있습니다. 표준 라이브러리 외에도 다양한 플랫폼의 모든 시스템 호출에 대한 인터페이스를 제공하는 많은 라이브러리가 있습니다.
Python의 경우 DB-API 2 데이터베이스 프로그래밍 인터페이스 사양이 채택되었으며 Oracle, MySQL, PostgreSQL, Sybase, Firebird(Interbase), Informix, Microsoft SQL Server 및 SQLite 등 다양한 DBMS에 액세스하기 위해 이 사양에 해당하는 패키지가 개발되었습니다. .
다차원 배열 작업을 위한 NumPy 라이브러리를 사용하면 특수 패키지에 필적하는 과학적 계산 성능을 얻을 수 있습니다. SciPy는 NumPy를 사용하며 광범위한 수학적 알고리즘에 대한 액세스를 제공합니다. Numarray는 대량의 과학 데이터 작업을 위해 특별히 설계되었습니다.
Python은 C 및 C++로 모듈을 작성하기 위한 간단하고 편리한 C API를 제공합니다. SWIG와 같은 도구를 사용하면 Python 코드에서 C/C++ 라이브러리를 사용하기 위한 바인딩을 거의 자동으로 얻을 수 있습니다. 표준 라이브러리 도구 ctypes를 사용하면 Python 프로그램이 C로 작성된 동적 라이브러리에 직접 액세스할 수 있습니다. C/C++ 코드를 Python 소스 파일에 직접 삽입하여 즉시 확장을 생성할 수 있는 모듈이 있습니다.
Python과 이에 대한 대부분의 라이브러리는 무료이며 소스 코드로 제공됩니다. 더욱이, 많은 오픈 소스 시스템과 달리 라이선스는 어떤 식으로든 상업적 개발에서 Python의 사용을 제한하지 않으며 저작권 표시 이외의 의무를 부과하지 않습니다.

적용 분야

Python은 안정적이고 널리 사용되는 언어입니다. 이는 많은 프로젝트에서 다양한 기능으로 사용됩니다. 즉, 기본 프로그래밍 언어로 사용되거나 확장 및 애플리케이션 통합을 생성하는 데 사용됩니다. Python으로 수많은 프로젝트가 구현되었으며, 향후 프로그램을 위한 프로토타입을 만드는 데에도 적극적으로 사용됩니다. Python은 많은 대기업에서 사용됩니다.
NumPy, SciPy 및 MatPlotLib 패키지가 포함된 Python은 일반적인 특수 상용 패키지 Matlab, IDL 등을 대체하여 과학 계산을 위한 범용 환경으로 적극적으로 사용됩니다.
Houdini 및 Nuke와 같은 전문 3D 그래픽 프로그램은 Python을 사용하여 프로그램의 표준 기능을 확장합니다.

출처

프리젠테이션

숙제

메시지 준비:

  • 과학자를 위한 도구로서의 Python
  • Python과 Ruby(비교)
  • 파이썬과 웹
  • Python 및 그래픽 라이브러리(wxPython, PyQt, PyGTK 등)를 사용하여 창 응용 프로그램 만들기


질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: