클라우드 컴퓨팅 개발 자습서 : 파이썬 파이썬 자동화 된 운영 및 실제 변수를 개발 유지 보수

오늘이 문서는 설명, 클라우드 컴퓨팅 개발 튜토리얼의 일부를 공유하는 오늘입니다 : 파이썬 파이썬 개발 실제 전투 작업 및 자동화 변수의 유지 보수.

파이썬 학습 과정은 많은 양의 데이터를 사용, 그것은 작동하기 쉽고, 이러한 데이터는 간단한 이름을 사용하는 데 필요한 다음 프로그램에서 쉽게 참조 할을 의미합니다.

이는 가변 데이터 (값)의 이름을 나타내는 것이다. 간단히 말해서 변수 데이터의 이름을 제공하는 것입니다

변수 이름 이름 :
숫자로 시작할 수 없습니다 숫자 밑줄, 그리고, 당신은 키워드는 대소 문자를 구분 사용할 수 없습니다.

명명 규칙 :

  1. 하나의 변수 이름은 밑줄 (_X)로 시작으로 모듈을 수입 * 문에서 가져올 수 없습니다

  2. 전에 밑줄 및 변수 이름 (후 X 축 ) 시스템 정의 변수 이름은 인터프리터에 특별한 의미가있다

  3. 이중 밑줄 변수 이름의 끝 (__X)을 이중 밑줄을 시작으로,하지만 것은 클래스의 지역 변수

  4. 대화 형 모드 동작을 통해, 단 하나의 변수 이름에 밑줄 (_) 식의 최종 결과를 저장합니다

파이썬 명명 규칙 요약 :

모듈 이름 : 같은 ad_stats.py 같은 소문자, _ 세분화와 단어 사이

패키지 이름 : 모듈 이름과 동일

클래스 이름 : 단어는 AdStats configutil을 같이 대문자

글로벌 변수 이름 : 같은 암갈색 COLOR_WRITE 같은 대문자, 단어 _ 세분화, 사이

일반 변수 : 같은 this_is_a_var로와 소문자, 단어 _ 세분화, 사이

변수의 예로는 : _ 시작하고, 그러한 _price _instance_var의 다른 일반적인 변수

보통 같은 __ (두 개의 밑줄)로 시작하고, 다른 변수 : 개인 인스턴스 변수 (외부 액세스가 주어지는)

      __private_var

독점 변수 : __ 시작, 끝 __은 일반적으로 자신의 변수를 파이썬,이 방법에 이름이 없습니다

      __doc__         __class_

변수 할당 :
프로세스의 변수 선언 및 정의

단일 변수 할당 :

#! / usr / bin / python 부분을

- - 코딩 : UTF-8 - -

카운터 = 100 # 정수 변수 할당

마일 1000.0 # 플로트 =

= "존"# 문자열의 이름을

인쇄 카운터

인쇄 마일

이름을 새기다

여러 변수 할당 :

파이썬은 동시에 여러 변수를 할당 할 수 있습니다.

예를 들면 :

A = B = C = 1

상기의 예는, 물체가, 1의 값의 정수를 만드는 세 가지 변수는 동일한 메모리 공간에 할당된다.

동시에 여러 변수에 다른 값을 할당합니다.

예를 들면 :

A, B, C = 1, 2, "존"

위의 예는, 두개의 정수 1, 2는 변수 C에 변수 A 및 B, 캐릭터 오브젝트 "존"에 할당되는 오브젝트.

방법은 데이터 변수를 저장 :
일반 프로그래밍 언어의 변수 데이터를 저장할 :

컴퓨터 메모리의 가변 영역이고,는 소정의 범위 내에 변수 값을 저장할 수 있고, 값은 가변적이다.

이 변수를 생성하는 메모리의 공간을 엽니 다. 변수의 데이터 유형에 따라 인터프리터는 지정된 메모리를 할당하고 데이터가 메모리에 저장 될 수있는 결정합니다. 따라서 변수가 서로 다른 데이터 유형을 지정할 수 있으며,이 변수는 정수, 소수 또는 문자를 저장할 수있다.

예를 들어, C 언어는 변수 A를 선언 한 후에는, 즉 서로 다른 값을 저장할 수있는 공간이 서로 대응하는 메모리 공간의 열 변수에 대한 서로 다른 값을 할당 할 것이다

파이썬 변수가 메모리와 다른 프로그래밍 언어에 저장되어있는 것은 다른 방법으로 가치가있다 :

파이썬에서 변수 이름의 어떤 유형이 없지만, 객체가있다

객체에 변수 이름 단지 참조 (내부 구현 포인터)

파이썬 기본 데이터만을 태그 메모리 공간에 대응하는 변수, 공백 저장하는 개방 된 1 = 1, 다시 열기 위해 새로운 수납 공간 (2), 변수 이름의 변경 - 복사 재 A = 2 이후 공간 2에서 새 위치를 가리

동일한 주소 공간 = 1, B = 1 및 B는 실제로는 동일한 주소 공간 점 인 예로서 두개 이상의 라벨을 가질 수있다

주소 공간의 주소에 변수가 가리키는보기 : 아이디 (변수 이름) 함수를 사용하여

>>> a=1

>>> id(a)

19882304

>>> b=1

>>> id(b)

19882304      

동일한 값이 다른 변수에 대해 발견 된 할당 실제 주소 공간은 변화하지만 변화 태그되지

레퍼런스 카운트 (SYS.GETREFCOUNT) 내부 PYTHON :
기준 카운터는 무엇인가

참조 수있는 모든 객체의 내부 기록을 사용하여 파이썬. 내부 추적 변수는 참조 카운터라고. 객체가 생성 될 때, 그것은 쓰레기 수집하고, 객체가 더 이상 필요하지 않은 경우, 즉 객체의 참조 카운트가 0이 말을하지, ​​참조 카운트를 작성합니다. (이것은 엄격하게 100 % 정확한에 대한 이야기의 이미지입니다 만, 인기있는 이해는 종종 배울 수있는 가장 좋은 방법입니다)

참조 카운트를 증가 :

객체가 생성되고 (인용구) 변수에 할당되면, 오브젝트를 참조하는 기술이 1로 설정된다. 애플리케이션 또는 객체와 동일한 개체가 다른 변수에 할당하거나, 전달 함수, 방법, 또는 클래스 인스턴스를 파라미터로서 또는 윈도우 객체 멤버를 할당했을 경우에는 객체에 대한 새로운 참조하거나 라는 별칭 생성 (오브젝트의 참조 카운트를 자동으로 증가)

참조 카운트를 감소 :

개체 참조가 파괴되면, 참조 횟수가 감소 될 것이다. 가장 명백한 예는 참조의 범위 밖이 자주 기능 실행의 끝에서 발생하는 경우, 모든 로컬 변수가 자동 오브젝트의 레퍼런스 카운트가 감소되고, 파괴된다.

변수가 다른 객체에 할당 될 때, 소스 객체 참조 기술은 자동으로 감소

다른 원인 오브젝트의 참조 카운트를 감소 방법 델 명령문의 사용은 변수를 제거 또는 포함하는 오브젝트의 참조 카운트는 다음과 같은 상황이 감소 될 때

  1. 로컬 참조는 함수의 끝으로, 본 발명의 범위를 왼쪽

  2. 파괴 별칭 개체가 표시됩니다

  3. 별명 객체가 다른 객체에 할당

  4. 개체는 윈도우 객체에서 제거

  5. 윈도우 오브젝트 자체 파괴

예를 들면 :

수입 SYS

A = "AB"

sys.getrefcount ( "AB")

제 3의 3 개 결과

B = "AB"

sys.getrefcount ( "AB")

두 번째 4 일의 결과

B = 0 B "AB"를 다른 객체 (0) 참조는 기준의 관점에서 취소

sys.getrefcount ( "AB")

마지막에 기초하여 3 개 결과 참조 -1

참고 : 대화 형 인터프리터는 항상 인용 3이지만, "(예를 들어, 스크립트에서 정상 AB를 :! #를 / usr / 빈 / ENV 파이썬 # 코딩 = UTF8 fdaf 수입 SYS 인쇄 sys.getrefcount을 반환에 공백이있는 개체 CD ") A ="AB CD의 "인쇄 sys.getrefcount ("구간 CD ") B ="AB CD의 "인쇄 sys.getrefcount ("구간 CD ") C = B 프린트 sys.getrefcount ("구간 CD ")

가비지 수집 :

더 이상 사용되는 메모리 가비지 컬렉션 메커니즘은 릴리스라고합니다. 인터프리터가 객체의 참조 카운트를 추적하지만 바와 같이, 위에서 언급하지만, 가비지 컬렉터는 메모리를 해제 할 책임이있다. 그는 또한 레퍼런스 카운트가 제로보다 큰 아니라 개체가 파괴되고 있음을 확인할 책임이지만 가비지 수집기는 0의 객체 참조 카운트를 찾는 데 사용되는 별도의 코드이다. 특정 상황 원형 기준으로 이어질.

당신은 적어도 두 개의 객체는 참조가 사라로, 이러한 참조는 여전히 존재, 혼자 참조 횟수를 나타내는 것은 충분하지 않다 알려진 서로 참조 할 때 순환 참조가 발생합니다. 파이썬의 가비지 컬렉터 실제로 사이클 카운터와 가비지 컬렉터에 대한 참조입니다. 객체의 참조 횟수의 합계가 0이되면, 인터프리터 (일시 정지,이 객체와이 객체의 다른 개체가 참조 횟수에 대한 보충, 가비지 컬렉터가 신중하게 큰 할당됩니다로만 접근 해제됩니다 물론 그와 같은) 대상물의 참조 횟수에 의해 파괴되지 않는다. 이 경우, 인터프리터는주기에 대한 모든 참조를 정리하려고 일시 중지됩니다.

추천

출처blog.csdn.net/qfxulei/article/details/91572859