범위를 수정하는 Python의 5가지 포인트
1. 블록 수준 범위
이때 다음 프로그램을 실행하면 출력이 나오나요? 처형은 성공할 것인가?
#块级作用域 if 1 == 1: name = "lzl" print(name) for i in range(10): age = i print(age)
먼저 실행 결과를 살펴보겠습니다
C:/Users/L/PycharmProjects/s14/preview/Day8/作用域/main.py lzl 9 Process finished with exit code 0
코드가 성공적으로 실행되었으며 Java/C#에서는 문제가 없습니다. 위 코드를 실행하면 다음과 같은 메시지가 나타납니다. name과 age는 정의되어 있지 않으며, Python에는 블록 수준 범위가 없으므로 코드 블록의 변수를 외부에서 호출할 수 있으므로 성공적으로 실행할 수 있습니다.
2. 로컬 범위앞서 배운 내용을 살펴보면, 함수를 배울 때 함수는 별도의 범위가 있지만, Python에는 블록 수준 범위가 있습니다. 로컬 범위; 다음 코드를 살펴보세요
이 코드를 실행하고 출력이 있는지 궁금하십니까?#局部作用域 def func(): name = "lzl" print(name)
Traceback (most recent call last): File "C:/Users/L/PycharmProjects/s14/preview/Day8/作用域/main.py", line 23, in <module> print(name) NameError: name 'name' is not defined
#局部作用域 def func(): name = "lzl" func() #执行函数 print(name)
Traceback (most recent call last): File "C:/Users/L/PycharmProjects/s14/preview/Day8/作用域/main.py", line 23, in <module> print(name) NameError: name 'name' is not defined
함수를 조정하고 다음의 실행 결과를 확인하세요. 코드는?
함수를 배웠으니 f1()이 실행된 후에 Snor가 출력된다는 점을 먼저 알아야 합니다. Python에는 범위 체인이 있습니다. 외부. 먼저 자신에게 가세요. 스코프를 찾으려고 상사에게 가지 않았는데 못 찾고 오류가 발생했습니다#作用域链 name = "lzl" def f1(): name = "Eric" def f2(): name = "Snor" print(name) f2() f1()
자, 예감은 충분, 궁극의 버전이 나왔습니다~~
f2()#终极版作用域 name = "lzl" def f1(): print(name) def f2(): name = "eric" f1()
최종 실행 여부를 생각해 보세요 f2()의 결과는 "lzl" 또는 "eric"을 인쇄하는 것입니까? 지금 답변을 게시하는 대신 다음 코드를 살펴보세요.
위 코드를 분석하면 f2() 실행 결과는 메모리입니다. 즉, ret()을 실행하는 것은 f1()을 실행하는 것과 같습니다. f2()와는 아무런 관련이 없습니다. 같은 스코프 체인에서 함수 내부에 변수가 없으면 밖을 내다보게 되므로 이때 변수명의 값은 "lzl" 이라는 것을 이해하시면 최종 코드에 대한 답도 알 수 있습니다. 방금 답변이 제공되지 않았습니다#终极版作用域 name = "lzl" def f1(): print(name) def f2(): name = "eric" return f1 ret = f2() ret() #输出:lzl
#终极版作用域 name = "lzl" def f1(): print(name) def f2(): name = "eric" f1() f2()
# 출력: lzl
예, 출력은 "lzl"입니다. 함수가 실행되기 전에, 스코프가 형성되고 스코프 체인도 생성됩니다
5. 시나 면접 질문
리 유형을 결정하세요? li의 요소는 어떤 유형입니까?li = [lambda :x for x in range(10)]
print(type(li)) print(type(li[0])) # <class 'list'> # <class 'function'>
#lambada 인터뷰 질문
#Output: 9li = [lambda :x for x in range(10)] res = li[0]() print(res)
li첫 번째 함수의 반환 값은 9이지만 0은 아닙니다. 기억하세요: 함수는 이전에 실행되지 않습니다. , 내부 코드는 실행되지 않으며 블로그에서 직접 코드를 연습하여 인상을 깊게 할 수 있습니다

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









코드 취약점, 브라우저 호환성, 성능 최적화, 보안 업데이트 및 사용자 경험 개선과 같은 요소로 인해 H5 페이지를 지속적으로 유지해야합니다. 효과적인 유지 관리 방법에는 완전한 테스트 시스템 설정, 버전 제어 도구 사용, 페이지 성능을 정기적으로 모니터링하고 사용자 피드백 수집 및 유지 관리 계획을 수립하는 것이 포함됩니다.

크롤링하는 동안 58.com 작업 페이지의 동적 데이터를 얻는 방법은 무엇입니까? Crawler 도구를 사용하여 58.com의 작업 페이지를 크롤링 할 때는이 문제가 발생할 수 있습니다.

1.0.1 서문이 프로젝트 (코드 및 댓글 포함)는 내 스스로 가르침 녹에서 기록되었습니다. 부정확하거나 불분명 한 진술이있을 수 있습니다. 사과하십시오. 당신이 그것으로부터 혜택을받는다면, 그것은 더 좋습니다. 1.0.2 Rustrust가 신뢰할 수 있고 효율적인 이유는 무엇입니까? Rust는 C 및 C를 유사한 성능으로 대체 할 수 있지만 보안이 높을 수 있으며 C 및 C와 같은 오류를 확인하기 위해 빈번한 재 컴파일이 필요하지 않습니다. 주요 장점에는 메모리 보안 (널 포인터가 해석, 매달려있는 포인터 및 데이터 경합 방지)이 포함됩니다. 스레드-안전 (실행하기 전에 다중 스레드 코드가 안전한지 확인하십시오). 정의되지 않은 동작을 피하십시오 (예 : 경계 밖으로 배열, 발기 국가화되지 않은 변수 또는 자유 메모리에 대한 액세스). Rust는 제네릭과 같은 현대 언어 기능을 제공합니다

JavaScript 코드 라인 브레이킹 기술에 대한 자세한 설명 JavaScript 코드를 작성할 때 종종 코드의 가독성에 영향을 줄뿐만 아니라 너무 긴 코드 라인이 발생합니다.

PS "로드"문제는 자원 액세스 또는 처리 문제로 인한 것입니다. 하드 디스크 판독 속도는 느리거나 나쁘다 : CrystalDiskinfo를 사용하여 하드 디스크 건강을 확인하고 문제가있는 하드 디스크를 교체하십시오. 불충분 한 메모리 : 고해상도 이미지 및 복잡한 레이어 처리에 대한 PS의 요구를 충족시키기 위해 메모리 업그레이드 메모리. 그래픽 카드 드라이버는 구식 또는 손상됩니다. 운전자를 업데이트하여 PS와 그래픽 카드 간의 통신을 최적화하십시오. 파일 경로는 너무 길거나 파일 이름에는 특수 문자가 있습니다. 짧은 경로를 사용하고 특수 문자를 피하십시오. PS 자체 문제 : PS 설치 프로그램을 다시 설치하거나 수리하십시오.

부팅 할 때 "로드"에 PS가 붙어있는 여러 가지 이유로 인해 발생할 수 있습니다. 손상되거나 충돌하는 플러그인을 비활성화합니다. 손상된 구성 파일을 삭제하거나 바꾸십시오. 불충분 한 메모리를 피하기 위해 불필요한 프로그램을 닫거나 메모리를 업그레이드하십시오. 하드 드라이브 독서 속도를 높이기 위해 솔리드 스테이트 드라이브로 업그레이드하십시오. 손상된 시스템 파일 또는 설치 패키지 문제를 복구하기 위해 PS를 다시 설치합니다. 시작 오류 로그 분석의 시작 과정에서 오류 정보를 봅니다.

프로그래밍 초보자의 경우 다음 15 개의 웹 사이트는 기본 코스, 튜토리얼 및 대화식 연습을 제공합니다. 1. 1. Codecademy는 대화식 학습, 2. 무료 코드 캠프를 제공합니다. 무료 코드 캠프는 무료 풀 스택 개발 과정, 3. W3Schools는 웹 개발 기술을 다루는 포괄적 인 참고 문헌을 제공합니다. Codementor는 온라인 개인지도 서비스를 제공합니다. 8. Leetcode는 프로그래밍 과제 및 인터뷰 준비를 제공합니다. 9. Hackerrank는 프로그래밍 경쟁을 제공합니다.

느린 Photoshop 스타트 업 문제를 해결하려면 다음을 포함한 다중 프론트 접근 방식이 필요합니다. 하드웨어 업그레이드 (메모리, 솔리드 스테이트 드라이브, CPU); 구식 또는 양립 할 수없는 플러그인 제거; 정기적으로 시스템 쓰레기 및 과도한 배경 프로그램 청소; 주의를 기울여 관련없는 프로그램 폐쇄; 시작하는 동안 많은 파일을 열지 않도록합니다.
