기능으로
골
- 경험 빠른 기능
- 기본 기능을 사용하여
- 함수 매개 변수
- 함수의 반환 값
- 중첩 된 함수 호출
- 모듈에 정의 된 기능
01. 경험 빠른 기능
- 소위 기능 , 즉, 각각의 기능을 갖는 코드 블록을 필요로 할 때 작은 모듈들로 구성이 호출
- 기능을 사용하면 두 단계를 포함한다 :
1. 기능 정의 - 패키지 독립적 인 기능
2. 함수 호출을 - 즐기 패키지 결과를 - 역할 기능 , 프로그램의 개발, 효율성과 코드를 향상시킬 수있는 기능을 사용하여 작성된 재사용
02. 사용 기본 기능
기능의 2.1 정의
다음과 같은 형식의 기능은 다음과 같습니다
def 函数名():
函数封装的代码
……
- 데프는 영어의 약자 정의입니다
- 함수 이름은 발현 할 수 있어야 기능 패키지 코드 후속 통화를 용이하게하기 위해 함수
- 함수 이름 이름은해야 식별자에 대한 명명 규칙을 따라야
- 이 구성 될 수 문자, 밑줄 및 디지털 조성물
- 당신은 숫자로 시작할 수 없습니다
- 고유 키워드이어야합니다
2.2 함수 호출
함수 이름 ()에 의해 매우 간단한 함수 호출은 함수 호출을 완료하기
2.3 제 1 기능 연습
수요
- 1. 코드 say_hello의 세 줄을 함수 찌르지, 찌르지 패키지 쓰기
- 2. 전화 기능 아래의 코드 인사
name = "hello"
# 解释器知道这里定义了一个函数
def say_hello():
print("hello 1")
print("hello 2")
print("hello 3")
print(name)
# 只有在调用函数时,之前定义的函数才会被执行
# 函数执行完成之后,会重新回到之前的程序中,继续执行后续的代码
say_hello()
print(name)
- 함수,는 코드 부분을 캡슐화하는 기능 만 정의하면
- 당신이 함수를 호출 주도권을 쥐고하지 않으면 기능을 적극적으로 수행되지 않습니다
생각
-
함수 정의 위에 배치 함수 호출 할 수 있습니까?
- 할 수 없습니다!
- 때문에 함수 이름 이 함수를 호출하기 전에, 우리는 파이썬이 이미 기능을 존재하는 것으로 알려진되어 있는지 확인해야합니다
- 정의되지 않은 이름 'say_hello': 그렇지 않으면, 콘솔은 나가서 설명하자면 NameError 메시지를 표시합니다 (이름 잘못 : 이름이 정의되지 않은 say_hello)
2.4 PyCharm 디버깅 도구
- 이상이 단계 F8 직접적인 함수 호출로 보이는 코드를 통해 단계 수는 한 줄의 코드를 실행할
- 단계 F7 라이트 박스 함수는 함수 내부를 입력 할 경우, 코드를 단계별 할
2.5 문서 주석 기능
- 당신이 함수에 주석을 추가 할 경우 개발에 사용하여 정의 함수 미만이어야 세 개의 연속 따옴표를
- 에서 세 개의 연속 따옴표하는 사이 기능의 캡션을 쓰기
- 에서 함수 호출 위치를 단축키 CTRL + Q 정보는 함수의 설명을 참조
하기 때문에 : 주 기능은 그것의 비교적 독립적 인 유지하고 (코멘트를 포함한) 다른 함수 코드 앞서 정의되어야 개의 빈 줄
03. 함수 매개 변수
연습 수요
- sum_2_num의 기능 개발
- 기능은 두 개의 디지털 요약 기능에 달성 할 수
다음과 같이 운동 코드는 다음과 같습니다
def sum_2_num():
num1 = 10
num2 = 20
result = num1 + num2
print("%d + %d = %d" % (num1, num2, result))
sum_2_num()
문제가 존재 무엇인지 생각해
函数只能处理 **固定数值** 的相加
어떻게 해결?
- 당신은 숫자를 계산 할 수 있어야하는 경우, 당신은 잘 내부 함수에 전달 된 함수를 호출 할 때!
3.1 함수 파라미터
- 함수 이름 뒤에 괄호 안에 채우기 매개 변수
- 격벽 사이에 사용되는 복수의 파라미터
def sum_2_num(num1, num2):
result = num1 + num2
print("%d + %d = %d" % (num1, num2, result))
sum_2_num(50, 20)
파라미터 3.2 역할
- 기능 은 개별 기능을 갖는 코드 블록을 필요로 할 때 작은 모듈들로 구성이 호출
- 함수 파라미터 , 증가 함수 다목적 위해, 동일한 데이터 처리 로직 수 많은 데이터를 수용 할
- 함수 내부로 인수 가변 데이터 사용이 요구되는 처리
- 함수 호출의 함수로 정의 된 파라미터 순서 는 함수 내부 데이터 처리 요구, 파라미터 전달
그리고 매개 변수 인수 3.3
- 파라미터 : 정의 함수 괄호 안의 인수 함수 내에서 사용되는 파라미터를 수신하는 데 사용되는 변수로
- 인수 : 호출 함수 파라미터 괄호의 함수로 데이터를 전달하는 데 사용되는 내부의 숫자 사용
04. 함수의 리턴 값
- 프로그램 개발은, 때때로, 원하는 것 , 함수가 끝난 후 실행 호출자에게 결과를 알려 구체적인 결과에 대한 후속 치료를 할 발신자를 들어,
- 리턴 값 의 함수 인 작업의 완료 는 최근 의 호출에 따라서
- 함수에서 결과를 반환 반환 키워드를 사용하여
- 함수 호출 파티 수 있습니다 변수를 사용 에 수신 된 함수가 반환
참고 : 반환 수익을 의미, 후속 코드가 실행되지 않습니다
def sum_2_num(num1, num2):
"""对两个数字的求和"""
return num1 + num2
# 调用函数,并使用 result 变量接收计算结果
result = sum_2_num(10, 20)
print("计算结果是 %d" % result)
05. 중첩 된 함수 호출
- 함수 차례로 호출 까지 다른 기능을 하고, 중첩 된 함수 호출
- 함수 TEST2 경우 TEST1 호출이 다른 함수가
호출 기능 TEST1에 실행, TEST1는 작업을 실행하는 첫 번째 함수는 함수 TEST1의 TEST2, 후속 코드의 지속적인 구현을 호출의 위치로 돌아갑니다합니다
def test1():
print("*" * 50)
print("test 1")
print("*" * 50)
def test2():
print("-" * 50)
print("test 2")
test1()
print("-" * 50)
test2()
함수 모듈의 06. 사용
파이썬 모듈은 프로그램 아키텍처의 핵심 개념이다
- 모듈이 유사한이다 키트 이 도구 키트를 사용하기 위해서는 필요한 가져 오기에 이 모듈
- 평으로 끝나는 각 코드 파일이있는 파이썬 소스를 확장하는 모듈
- 모듈에 정의 된 글로벌 변수, 함수는 직접 외부에 사용될 수있는 툴 모듈에 제공된다
6.1을 사용하여 모듈
- 당신은 할 수있다 파이썬 파일에 에 정의 된 변수 나 함수
- 그런 다음 다른 문서 가져 오기를 사용하여이 모듈을 도입
- 수입되면, 당신은 모듈 이름을 사용할 수 있습니다. 변수 / 모듈 이름을. 방법 기능을 모듈에 정의 된 변수 또는 함수를 사용하여
모듈 수 있도록 지금까지 작성된 코드가 하기 쉬운 다중화!
6.2 모듈 이름 식별자 인
- 식별자로 구성 될 수있다 , 문자의 밑줄 및 디지털 구성
- 당신은 숫자로 시작할 수 없습니다
- 고유 키워드이어야합니다
이름이 주어진 파이썬 파일에서 경우 참고 숫자로 시작 PyCharm이 모듈을 가져올 수 없습니다
6.3 PYC 파일 (이해)
C는 컴파일 컴파일 된 의미를
단계
- 발견 할 것이다 프로그램 디렉토리 검색 pycache의 디렉토리를
- 디렉토리가 file_name.cpython-XX.pyc 파일이있을 것이다, CPython의-XX는 파이썬 인터프리터의 버전을 나타냅니다
- 이 문서는 PYC 파이썬 인터프리터되는 소스 모듈 로 변환 바이트 코드
이 저장 파이썬 바이트 코드를 시작으로 사용 속도 최적화
바이트 코드
- 파이썬는 소스 프로그램의 해석의 두 단계로 분할되어
제 1 소스 코드, 컴파일러는 바이너리 생성 바이트 코드
다음 바이트 코드 , CPU에 의하여 인식 될 수있는 처리가 생성 될 머신 코드 - 경우, 프로그램에서 실행 모듈과 바이트 코드 파일 후 마지막으로 저장 바이트 코드가 어떤 소스 코드를 수정, 파이썬은 컴파일 된 파일을 .pyc 파일로드하지이 단계를 건너 뛰고 것
- 재 컴파일 파이썬, 그것은 자동으로 소스 파일 및 타임 스탬프 바이트 코드 파일을 검사 할 때
소스 코드, 프로그램이 실행되는 다음 번 수정에 갈 경우, 바이트 코드는 자동으로 다시 생성됩니다
파이썬 모듈은 프로그램 아키텍처의 핵심 개념이다