Python Tutorial For Beginners | Python Full Course From Scratch | Python Programming | Edureka

이 코스에 오신 것을 환영합니다 파이썬 프로그래밍

내 이름은 Saurabh이며이 자습서에서는 파이썬의 모든 중요한 개념에 집중할 수 있습니다 그래서 시간을 낭비하지 않고, 우리가 앞으로 나아가고 오늘 의제를 살펴 봅시다 이것이 우리가 논의 할 내용입니다 오늘 우리는 파이썬이 무엇인지 이해하고, 어떻게 작동하는지, 어떻게 파이썬을 설치할 수 있는지에 대해 설명합니다 그런 다음 시퀀스가 ​​무엇인지 이해합니다

파이썬에서 파일 작업하기 다음은 함수에 초점을 맞출 것입니다 및 Oops 개념 그 후에 우리는 모듈들로 작업 할 것입니다 우리가 파이썬에서 예외를 처리 할 수있는 방법에 대해 설명합니다

그럼 당신은 매우 중요한 몇 가지에 소개됩니다 NumPy와 Pandas라고 불리는 도서관 그 후에, 당신은 당신이 어떻게 수행 할 수 있는지 이해할 것입니다 Matlab을 사용한 데이터 시각화 그런 다음 어떻게 수행 할 수 있는지 이해하게 될 것입니다 세 라이브러리를 모두 사용하는 데이터 조작 내가 방금 언급 한

그 후, 당신은 정말 멋진 응용 프로그램, 하나는 Folium을 사용하여 웹지도를 사용하는 웹지도, 다른 하나는 OpenCV를 사용하는 모션 디텍터입니다 너희들이 매우 흥미로운 의제를 찾았 으면 좋겠다 그리고 바룬 씨가 강사가 될 것입니다 이 특정 세션 Python을 사용하여 풍부한 경험을 쌓았습니다

너에게 끝이야, 바룬 안녕, 모두들 나는이 강좌의 강사가 될 것입니다 내 이름은 바룬 파이썬 소개

그래서 질문은 어떤 프로그래밍 언어로 시작할 것인가? 내 말은, 물론, 당신은 이미 이 과정의 일부로, 그러나 Dave의 의견으로 내 견해로는 Python이어야합니다 단순히 매우 배우기 쉽고 간단하고 간단하기 때문입니다 잠시 후에 파이썬 코드를 살펴보기 시작할 때, 영어가 어떻게 생겼는지 알 수 있습니다 그것은 심지어 코드처럼 보이지 않습니다 많은 사람들이 단어 코드를 듣습니다

그들은 1과 0을 생각하기 시작합니다 또는 그들은 오하이오처럼 생각하기 시작합니다 당신이 풀어야 할 퍼즐 그런 종류의 것은 없습니다 그것은 단지 일련의 상세한 지침 일뿐입니다

이메일을 보내는 방법에 대한 지침을 작성할 수있는 것처럼 당신이 아주 쓸 수있는 경우에 우편물을 보내는 방법에 대해서도, 우편물을 보내는 방법에 대한 매우 자세한 지침, 당신은 아마 코딩 할 수 있습니다 그것은 그것과 같습니다 다음은 무료이며 오픈 소스입니다 그래서 돈을 지불 할 필요가 없다는 의미에서 파이썬 사용하기 자, 한 가지 질문이있을 것입니다

이봐, 그것에 대해 새로운 점은 무엇입니까? 나는 영어를 구사하는 사람에게 돈을 지불 할 필요가 없다 영어는 언어입니다 그러나 문제는 영어, 스페인어, 프랑스어, 이러한 언어에는 이러한 언어의 작성자가 없습니다 그들은 일반적으로 개발됩니다 그래서 아무도 정말로 영어로 영어를 소유하지 못합니다

아무도 영어에 대한 권리가 없습니다 반면, 프로그래밍 언어를 살펴보면, 그들은 작은 사람들에 의해 만들어집니다 10, 15, 50, 100 명 100 명은 큰 집단의 사람들이 아닙니다 사람들에 비해 상대적으로 작다

누가 영어를 발전 시켰는가 영어 단어를 개발 한 사람들은 저자가 될 것이며, 작가, 그리고 일반 사람들도 그 수는 수백만 명이 될 것입니다 누가 언어를 개발 했습니까? 그래서 오픈 소스는 소프트웨어 프로그래밍의 개념입니다 YouTube에 가입하시기 바랍니다

오픈 소스를 검색하십시오 우리는 아주 깔끔한 다큐멘터리를 보게 될 것입니다 나는 당신이 그들을 보길 제안한다 그러나 이것을 지불 대상의 종류와 비교하면, Matlab에는 지불되는 버전이 있으며, 몇 가지 추가 기능이 있습니다 너는 그 돈을 지불해야 해

하지만 파이썬은 무료입니다 많은 파이썬 라이브러리가 무료로 제공됩니다 Wolfram, WOLF, 늑대, RAM과 같이 매우 비쌉니다 라이센스를 구매해야합니다 라이센스를 사용할 수는 없지만, 그것은 허용되지 않습니다

Windows와 비슷하지만 사용하려면 라이센스 비용을 지불해야합니다 이제는 고급 언어이므로 믿거 나 말거나, 하지만 여기 처음 세 줄은 실제로 유효한 파이썬 코드 네 번째는 잊어 버려 여러분 중 일부는 그것을 이해할 수있을 것입니다 처음 세 줄은 유효하고 유효한 파이썬 코드입니다

이것이 파이썬이 된 이유입니다 당신은 오른쪽을 다룰 필요가 없습니다 이것에 대해 생각하지 마라, 이것은 결코 당신이 아니다, 거의 이것을 보지 않을 거에요 알아낼,이게 무슨 뜻이야 너는 단지 이것과 같은 것을보아야한다

좋아,이게 무슨 뜻인지 말해줘 그렇다면 휴대용이면서 휴대용으로 사용할 수 있습니다 여러 장치에서 그 장치가 Window 장치인지, 또는 Linux 장치 파이썬은 그런 식으로 매우 호환됩니다 그것은 다른 장치를 배우게됩니다

다양한 프로그래밍 패러다임을 지원합니다 따라서 패러다임은 스타일에 대한 멋진 단어입니다 당신이 프로그래밍의 시작이라면, 네가 가질 때까지 그걸로 귀찮게하지 마라 당신은 600 시간에서 1,000 시간의 프로그래밍을 알고 있습니다 그것으로 전혀 신경 쓰지 마라

이것은 당신과 관련이 없습니다 그러나 프로그래밍에 대한 경험이 있다면 당신은 프로그래밍 패러다임이 무엇인지 알고 있습니다 파이썬이 다중을 지원한다는 것을 알고 있습니다 그것에 대해 모르지만 그것에 대해 걱정하지 마십시오 결국 거기에 도착할 것입니다

나는 그것이 중요하지 않다는 것을 말하지 않고있다 중요하다 지금은 달리기와 같습니다 지금처럼 코드 줄을 작성하는 경우 출발점, 그것은 넘어 지거나 기어 다니는 것과 같습니다, 패러다임과 프로그래밍 스타일에 대해 생각하다 일종의 달리기

그래서 나는 그것에 대해 너무 많이 생각하지 않는 것이 좋습니다 다음으로 파이썬은 확장 성이 있습니다 파이썬에서 C 및 C ++ 라이브러리를 호출합니다 따라서 다른 언어의 호출 코드를 정렬 할 수 있습니다 파이썬을 사용합니다

그렇게하면 매우 확장 성이 있으며, 그것의 유용성을 증가시킨다 다른 시스템과도 작동합니다 그래서 파이썬은 많은 회사에서 널리 사용됩니다 거인 몇 명을 살펴 보겠습니다 따라서 YouTube, Google, Dropbox, RaspberryPi, BitTorrent, Nasa, Netflix, NSA, 내 말은, 그것은 놀라웠다

맞다 내 말은, 너는 얼마나 다양하고 넓고 다른가를 본다 이 회사들은 있습니다 그들은 당신이 알고있는 인터넷 회사입니다, 국가 우주 기관, 국가 안보 기관 정말 넓고 깊이 있습니다

그것은 모든면에서 어떤 방식 으로든 다른 방식 으로든 사용되고 있습니다 그래서 당신은 구글이라고 할 수 없다는 것이 아닙니다 Python을 기반으로합니다 아니요, Google은 10 개 언어를 사용합니다 거대한 회사입니다

Dropbox와 동일합니다 아 그건 그렇고, Python을 만든 사람은 Dropbox에서 작동합니다 그는 실제로 Dropbox에서 작동하며 그가 일정 비율을 바칠 그의 계약 그의 시간의 30 ~ 40 % 정도되는 것처럼, 파이썬 개발 용 그래서 그게 그가 가지고있는 것입니다 그의 직업 계약의 일환으로 물론 그는 그렇게 유명한 사람입니다

일반인이 아니거나 나는 너를 짐작한다 정말 그런 식으로 협상 할 수 있습니다 하지만 그는 파이썬의 창시자이기 때문에 그랬습니다 하지만 네, 중요한 점은 실리콘 밸리와 정부 기관에서, 그들은 파이썬을 사용하고 있습니다 이제 가장 중요한 부분은 네, 이것이 제가 가장 좋아하는 부분입니다

파이썬은 실제로 대부분의 경우에 작동하기 때문에 웹 사이트를 개발하려는 것처럼 파이썬을 사용할 수 있습니다 당신은 데이터 분석을하고 싶습니다 당신은 데이터 과학을하고 싶습니다 당신은 파이썬을 사용할 수 있습니다 자동화 테스트를 원한다면 파이썬을 사용할 수 있습니다

인터넷에서 데이터를 수집하려면, 웹 스크래핑, 즉 데이터 추출 웹 사이트에서 파이썬을 사용할 수 있습니다 이제 한 가지 신중한 행동, 모두를 할 필요가 없습니다 당신이 파이썬이라고 말하는 것들 중에서 시동기 Python 개발자 예를 들어, 테스트 한 적이 한번도 없었습니다 나는 정말로 긁어 모으기를 한 적이 없다

나는 그것이 어떻게 이루어 졌는지를 안다하지만 주목할 점은 이들 사이에 약간의 차이가 있습니다 그러면 완전히 새로운 것을 배워야 만합니다 그런 다음 이것을 대합니다 당신은 그것과 관련된 개념을 배워야 만합니다

하지만 그것은 비즈니스 로직과 더 비슷합니다 프로그래밍 로직이 완전히 변경된 것이 아닙니다 맞아, 많은 사람들의 마음에있는 황금 질문, 업계에서 파이썬 작업이 있습니까? 이것이 Indeedcom의 직업 동향입니다 작은 비율에 집중하지 마라

나는 그들이 작다는 것을 안다 하지만 그들은 전체 직업 수에 해당합니다 그것들은 단지 85 %는 아니지만 그것은 아마도 1 천만 건 또는 1 천 5 백만 건의 채용 정보 따라서 여러분은 파이썬에 대한 추세가 얼마나 좋은지 알 수 있습니다 조금 옆으로 갈 것이지만, 그렇게하면 계속됩니다

PHP 나 C ++과 비교해 보면, 확실히 큰 차이 그럼 인기는 물론 이것은 훨씬 더 적절합니다 커뮤니티는 얼마나 발전하고 있습니까? 이는 Google 검색 트렌드에서 두 검색어를 모두 표시 함을 나타냅니다 경험이나 새로운 사람들이 파이썬이라는 단어를 사용하면, 산업별

따라서 Python 개발자를 고용해야하더라도 나는 구글에 가서 파이썬 개발자를 고용 할 것이라고 말할지도 모른다 그런 다음 여기에 표시됩니다 그래서 이것은 전체 축적입니다 이것은 인기있는 파이썬이 비교되는 방법을 요약 한 것입니다 다른 언어로

이러한 인덱스와 마찬가지로 99, 66 등등, 이것들은 이것에 대한 지표입니다 파이썬을 설치하는 방법을 살펴 보겠습니다 우리는이 시점에서 파이썬이 무엇인지 이해했습니다 왜 그것이 사용되는지, 프로그래밍이란 무엇이며, 왜 사용 되는가? 시작하는 방법을 살펴 보겠습니다 이제 시작하겠습니다

제일 먼저하는 일은 물론입니다 카드를 사거나 파이썬을 구하십시오 Pythonorg로 이동하면 다운로드 탭으로 이동합니다 최신 버전의 Python을 다운로드하십시오

36, 3x는 최신 버전입니다 2X도 밖에 있습니다

그것은 많은 프로젝트, 심지어 내 프로젝트에서 사용되고 있습니다 요즘은 2X를 사용합니다 12 ~ 15 개월 된 지금, 프로젝트의 종류 내가 일하는 중이니까, 그러니까, 니가 2X

그것은 파이썬에서 큰 (불분명 한 연설)을위한 것이 아닙니다 구체적으로 말하면 엄청난 양의 차이를 발견 할 수 있습니다 2X와 3X 사이

제 말은, 당신이 알고있는 것처럼, 차를 마시고 나서 그것은 그 차 또는 더하기 버전의 스포츠 버전 또는 차의 호화스러운 버전 일반 사용자의 차이점은 미미하지만, 하지만 파이썬 사용자라면 물론 찾을 수 있습니다 중요한 차이 그러나 그것으로 혼동하지 마십시오 회사가 개발자에게 알리는 것은 아닙니다

Python 27을 알고 최신 버전을 모른다 고용 시장은 그렇게 작동하지 않습니다 그들은 파이썬에 갈 것이다 그들은 파이썬을 알고 있다면 버전을 물어볼 것입니다

차이가 실제로 큰 차이를 만들지는 않습니다 당신은 링크를 열고 실행을 클릭하십시오 지금 설치를 클릭하십시오 이건 매우 중요합니다 이미 파이썬을 설치했고 잊어 버린 경우 또는 어떤 이유로이 선택을 취소 한 경우, 돌아가서 파이썬을 제거하고 다시 설치하십시오

이 상자를 선택했는지 확인하십시오 당신이 이것을하지 않으면 아무 것도 작동하지 않습니다 그러니 제발, 제발, 다음 단계를 따르십시오 그게 끝났습니다 이제는 시스템에 파이썬이있는 것처럼 쉽습니다

Python GUI 개발자가 있습니다 다음은 파이썬 IDE입니다 한 가지 질문은 IDE 란 무엇입니까? IDE는 통합 개발 환경입니다 그것은 일련의 병렬을 포함하여 코드 편집기로 사용됩니다 그것의 구성 요소와 첨부 파일

그래서 멋진 단어들을 제쳐두고, 당신이 나에게 물을 수 있다면, 이봐, 내가 코드를 쓸 수 있을까 아니면 메모장에 파이썬을 쓸 수 있을까? 또는 워드 문서? 그 질문에 대한 내 대답은 네가 할 수있는 것입니다 이제 메모장에 코드를 써야하는지 묻습니다 내 대답은 '아니오'일 것입니다 제발하지 마십시오 결코하지 마십시오

차이점을 얻을 수는 있지만 할 수는 있지만 확실히하지 마라 따라서 코드가 실행되지 않거나 그런 종류의 IDE는 단지 IDE가 의미하는 도구입니다 이렇게하기 특수 개발 환경 코드 작성을 위해 그것은 어떤면에서 당신을 도와줍니다 그 말이 맞습니다

프로그래밍이 매우 쉬울 수 있기 때문입니다 그들 없이는 어렵다 그래서 확실히 IDE를 선택하고 그것에 충실하십시오 당신이 주목 한 한가지, 줄 번호가 있습니다 이것들은 매우 유용합니다

경험하게 될 것처럼, 다른 사람과 이야기하고 있다면 개발자, 그들과 대화하는 가장 좋은 방법은 3 번 줄입니다 이 특정 줄에서 편집하십시오 이 줄에서이 줄까지 읽을 수 있습니까? 그것이 여러 가지 상황을 다루는 방법입니다 나는 특정 줄 번호에 대해 이야기 할 것이다 좋아, 터미널이라 불리는 것을 열자

그래서 Mac과 Linux에서는 이것을 터미널이라고 부릅니다 Windows에서는이를 CMD라고합니다 2 단원을보고 CMD를 검색하십시오 파이썬을 설치하고 나면 간단히 할 수있는 것은 다음과 같습니다 명령 줄에 Python을 입력하고 Enter 키를 누릅니다

파이썬 인터프리터를 엽니 다 나는 여기 파이썬 코드를 작성할 수 있으며 작동 할 것이다 유효한 파이썬 코드입니다 도움말 기능이 제공됩니다 도움말을 입력 한 다음 중괄호를 입력하면, 그것은 나를 위해 도움을 시작합니다

키워드를 입력하면 올바르게 작동하므로 특정 사항이 있습니다 프로그래밍에서 키워드라고합니다 그냥 확대 해 보겠습니다 그래서 파이썬을 종료 할 수 있습니다 정의를보세요

시작하자 파이썬을 열 수있는 방법을 알려 드리겠습니다 통역사, 당신은 단지 특정 페이지로 가야합니다 Python을 입력하면 열립니다 Pycharm에 잠시 나옵니다

파이컴 (Pycharm)에서, 그것이 작동하는 방식은 물론, 나는 이미 이것을 가지고 있지만, 당신이 이것을 갖지 못할 경우를 대비하여 그럼 그냥 모두 제거해 봅시다 당신이해야 할 일은 새로운 프로젝트를 만들어야한다는 것입니다 그런 다음 이름을 지정해야합니다 이름은 테스트 일 수 있습니다

그리고 당신은 창조를합니다 현재 창에서 열어 보겠습니다 일단 그것이 현재 윈도우에 있으면, 내가 할 수있는 것은 내가 새로 갈 수있는 다음 파이썬 파일을 선택할 수 있습니다 나는 그 이름을 줄 수있다 자동으로 pv 확장자로 테스트를 자동 생성 그것을 저장합니다

비록 당신이 시스템에 들어가고 당신은 그것이 있음을 볼 것입니다 만들어져 파이썬 코드를 작성할 수 있습니다 여기 이제 프로그래밍에는 코멘트라는 것이 있습니다 많은 일이 일어나는 것은 당신이 조각을 쓸 것입니다

코드의 내용은 잊어 버릴 것입니다 그것은 단지 당신이 통과하는 것이 아닙니다 그것은 표준적인 것입니다 코드를 작성하더라도 내 인생에 내기를 걸 수 있습니다 그 3 일 후에 저는 그것의 약 80 %를 잊어 버릴 것입니다

나는 그것이 무엇을하는지 알 것이다 100 줄 내가 그것을 통해 읽어야 할 것입니다 이제이 상황에서 개발자가하는 일은 주석을 추가합니다 코멘트는 단순한 영어 설명 일뿐입니다 네가 한 일 때문에 너는 상기시킬 필요가 없다

이 특별한 일이 무엇인지 반복해서 트랙을 유지하는 것만으로도 노트와 같습니다 작은 노트와 프로그래밍 언어와 같습니다 기본적으로 무시합니다 이제 댓글을 쓰는 두 가지 방법이 있습니다 이 클래스를위한 새로운 파이썬 파일입니다

이제 그게 전부입니다 이것은 유효한 Python 코드가 아닙니다 이것은 코드가 아니며 영어입니다 이것은 이것을 작성하는 한 가지 방법입니다 그것을 쓰는 다른 방법은 세 개의 작은 따옴표를 사용하는 것이다

그리고 당신은 이것을 이렇게 씁니다 이 클래스를위한 새로운 파이썬 파일입니다 이것은 당신이 그것을 할 수있는 두 가지 방법입니다 목적은 근본적으로 너 자신을 생각 나게하는 것이다 또는 다른 개발자에게

그래서 이것은 많은 사람들이 그들이있을 때 한 가지입니다 시작하여 다른 개발자가 코드를 볼 수 있습니다 어떤 시점에서 회사 내에서 코드 공유를 시작할 것입니다 그렇지 않으면

그래서 그들이 당신의 코드를 볼 때 그들은 할 수 있어야합니다 귀하의 의견을 통해 이해할 수 있습니다 이 파일에 대한 설명이 아니라 전체 파일뿐 아니라 파일은 데이터베이스에 무엇인가를 말합니다 모든 단계가 진행되고 있습니다 그래서 10, 20 줄의 코드마다, 아마도 한 주석이 있어야합니다

그것은 모범 사례와 같습니다 다음은 들여 쓰기입니다 이것을 파이썬이 생각하는 방식으로 생각할 필요가있다 주석 시스템과 같은 들여 쓰기가 뒤 따른다 소셜 네트워크 웹 사이트

Reddit을 본 적이 있다면, 실제로 열어 보자 알았어 그래서 당신이 Reddit을 본다면, 당신이 코멘트 섹션에 가면, 둥지가있는 것을 볼 수 있습니다 알았어, 아아가에 반응을 보이고있어 RetardedClownFace 또는이 사람의 답글을 남깁니다

이것에 의해이 녀석은 이것에 의해 응답되고있다 이 녀석이이 녀석에게 답장을하고 있습니다 중첩입니다 부서가 있음을 알 수 있습니다 이 댓글은이 댓글에 대한 회신임을 알 수 있습니다

이것은 우리가 어디에서나 볼 수있는 것입니다 우리는 Facebook에서 이것을 볼 수 있습니다 Instagram에서 모든 것을 볼 수 있습니다 자, 이것이 파이썬이 코드 블록을 선언하는 방식입니다 따라서 어떤 블록에 익숙하지 않은 경우 또는 클로저는 괜찮습니다

우리가 파이썬으로 더 나아갈 때 당신은 그것을 보게 될 것입니다 들여 쓰기가 매우 중요하다는 것을 기억하십시오 파이썬의 개념입니다 이것이 closure 또는 코드 블록이 정의됩니다 파이썬 코드 실행은 어떻게됩니까? 코드를 작성하면

py 확장자로 저장됩니다 내가 너에게 보여준 것처럼 코드가 기계의 바이트 코드로 변환됩니다 이해하다 이것은 파이썬 컴파일러 나 인터프리터가 수행합니다

이 단계를 염려 할 필요가 없습니다 파일을 실행할 때 자동으로 실행됩니다 그것은 실행됩니다 1 단계에 대해 신경 써야하고, 2 단계와 3 단계가 필요합니다 자동으로 돌보아

당신이 많이해야 할 일이 아닙니다 파이썬으로 최초의 "Hello World"프로그램을 만들자 그럼 어떻게 세상을 쓰나요, 어떻게 우리가 세상을 맞이 하죠? 글쎄, 이것은 우리가 그렇게하는 방법입니다 인쇄하고 괄호를 연 다음 문자열을 사용하십시오 이것은 문자열입니다

이것을 쓸 수는 없지만 작동하지 않습니다 표시되는 경우 이미 오류가 표시됩니다 물론 파이썬이 똑똑한 곳이기도합니다 파이썬은 똑똑합니다 이 파일에 밑줄이 그어져 있습니다

폴더가 포함 된 폴더에 밑줄이 그어져 있습니다 이것은 심지어 당신이 그것을 실행하기 전에, 이것은 효과가 없을 것입니다 그래서 언제든지 문자열을 인쇄하고 있습니다 문자열은 아무것도 아닙니다 그것은 마치 메시지와 같습니다, 맞아요, 그것은 문자열에 있어야합니다

print 문 사용, 중괄호 사용 이런 식으로 감춰진 버팀대 당신이 중괄호를 놓치면 작동하지 않을 것이므로 그것을 포함시켜야합니다 그럼 해보자 그래서 그것을 실행하는 방법은 오른쪽 클릭입니다 실행 hello를 클릭하면, 파일 이름을 가리키는 곳은 어디입니까? 이것이 실행될 곳입니다

이 터미널은 이미 있습니다 Hello world는 두 번 인쇄됩니다 Edureka에 오신 것을 환영합니다 그리고 이상한 일이 일어난다 즐거운 에듀 카에 오신 것을 환영합니다

이것은 두 개의 서로 다른 줄에 인쇄됩니다 그게 왜? 방금 한 줄 썼습니다 그래서 여기가 이것이 올 때입니다 n 이것이 바로 브레이크 라인 문자입니다

그것은 라인을 깰 것이다 Word 문서를 입력하고 Enter 키를 누르면 다음 줄로갑니다 새로운 라인 문자입니다 두 번 입력하면 두 칸을 예상해야합니다 당신이 그것을 알아 차리면 그것은 두 개의 깊은 곳으로 간다

당신이 다른 시간에 그것을한다면, 네 번 해보고 네가 구해서 우리가 달린다 그것은 더 나아갑니다 같은 끝에서 나누지 않는 이유 여기에 공백 문자가 있기 때문입니다 그러면 내가 좋아하면 똑같은 줄에서 시작할 것입니다 이제 조정되었습니다

이것이 당신이하는 방법입니다 따라서 코드를 두 배로 늘릴 수있는 단일 코드 일 수도 있고 중요하지 않은 코드 일 수도 있습니다 그러나 나는 그 중 하나를 따르라고 제안 할 것이다 이것은 파일을 실행 한 후에 얻을 수있는 출력입니다 다음은 변수이며, 변수는 꽤 비슷합니다

여기에 수학 변수가 있습니다 당신은 그것을주고 자하는 특별한 이름을 가지고 있습니다 A를 10으로 설정하려면 B를 edureka로 설정하고 싶습니다 이것은 파이썬에서 정수입니다 이것은 문자열입니다

이제 우리는 비교하여 단일 문자열을 사용하고 있음을 주목하십시오 따옴표를 두 번 입력하십시오 AB, A, B를 인쇄하고 쉼표를 볼 수 있습니다 그래서 여기 예를 들어, 나는 이것을 할 수 있었다 그리고 이것은 효과가있었습니다

그래서 인쇄는 여러 개의 문자열이나 사물을 분리 할 수 ​​있습니다 쉼표로 인쇄하고 싶습니다 그래서 두 사람 모두 인쇄본을 보게됩니다 이제 여기로 와서 이것을 인쇄 해 봅시다 10과 edureka 모두 인쇄됩니다

물론 그들은이 중괄호를 가지고 올 것입니다 그래서 당신이 그것을 인쇄하고 싶다면, 그것들을 개별적으로 인쇄하십시오, 그것은 분리 된 것입니다 내 말은, 당신은 그것을 분리해야 할 것입니다 하지만 터미널에서 값을보고 싶을 경우 이것은 그것을하는 방법입니다 이제 여기 또 다른 예가 있습니다

그래서 이것이 할 것은 그것이 순서대로 움직일 것이라는 것입니다 X를 10, y를 20, z를 30으로 지정합니다 그것을 시도하자 좋아요, 당연히 이것은 매우 편리한 방법입니다 이제 그것을하는 대체 방법, 물론 당신은 항상 이렇게 할 수 있습니다

파일의 세로 길이가 길어집니다 나는 그것이 깔끔한 것이 아니라는 것을 알지 못한다 그리고 당신은 용서를 볼 것이다 이런 식으로하는 수준의 더 편리합니다 그것은 단지 한 줄로 나타납니다

편의성 문제 일뿐입니다 그렇지 않으면 이것은 또한 정확하며 이것은 또한 정확합니다 정확성은 거기에 있습니다 그것은 9 번 줄에 불과합니다 세 줄로하는 것보다 낫습니다

이것은 더 간결합니다 자, 식별자에 대한 단어 이것은 행 식별자입니다 단어 식별자가 들리면 A와 B는 식별자입니다 그들은 당신을위한 특정 변수 이름을 확인하고 있습니다

이제는 그 주위에 특정 규칙이 있습니다 가변 함수, 클래스, 또는 다른 모든 객체를 표시 할 수 있습니다 A부터 Z 또는 A에서 Z까지의 문자로 시작합니다 또는 밑줄 뒤에 0에서 9 사이의 숫자가옵니다 그래서 당신은 이와 같은 숫자로 변수를 시작할 수 없습니다

오류를 표시합니다 당신이 할 수있는 일은 당신이 이것을 할 수있는 것입니다 또는 당신은 이것을 할 수 있습니다 이 방법은 효과가 있지만 작동하지 않습니다 그래서, 이것, _B, __b, 이 모든 것은 유효한 식별자입니다

그러나 당신은 다른 것에서 시작해서는 안됩니다 A ~ Z 자, 대문자 또는 소문자, 밑줄 숫자로 시작할 수 없습니다 파이썬은 add, 달러, 백분율, 별, 중괄호, 감탄 부호는 식별자와 함께 이제는 파이썬에서 특정 명명 규칙이 있습니다

파이썬에는 class라는 것이 있습니다 개념입니다 어쩌면 당신 중 일부는 다른 프로그램 언어에 익숙 할 수도 있습니다 대문자로 시작합니다 다른 모든 식별자는 소문자로 시작합니다

따라서 클래스 이름 만 대문자로 시작합니다 이제는 다른 규칙들도 있습니다 그들은 수업과 관련이 있습니다 나는 우리가 그들을 덮으면 더 좋을 것이라고 생각합니다 이 모든 것들은 이것을 사적으로 식별하는 것을 좋아하지만, 강하게 사적인, 두 개의 후행 밑줄

이제 이것들 모두는 나중에 배우게 될 개념입니다 그걸 맡기자 그러나 지금 당장 당신은 그걸 알 필요가 있습니다 이것은 파이썬에서 변수 이름을 짓는 방법입니다 또는 식별자

이제 변수는 어떻게 저장됩니까? 예약 된 메모리 위치가 있습니다 컴퓨터의 메모리에서, 그것은 RAM 권리이다, 그것은 공간을 만들고 저장한다 그 변수는 메모리에있다 그리고 그것을 위해 몇 바이트를 예약합니다 그게 전부입니다

기억하는 것뿐입니다 그래서 제가 쓰는 동안 그렇게하는 것이 아닙니다 제가 파일을 실행할 때입니다 이제는 그렇게하지 않을 것입니다 내가 그것을 만들 자마자

너무 많은 변수를 만들면 타이핑 속도가 느려지거나 노트북이 느려질 것입니다 끊기 시작합니다 아니, 그럴지도 모르지 하지만 파일을 실행할 때 당신이 알고있는 다른 이유들, 단순히 너무 많은 변수가 있습니다 그럼에도 불구하고 이것은 단지 명령 일뿐입니다

이것은 지침 일뿐입니다 네가 그것을 실행할 때 그것이 정말로 무엇인가 할 때이다 컴퓨터에서 메모장 문서처럼 타이핑하면됩니다 너는 통제 S를 누르고있어

그러나 내가 그것을 달리고 도망 칠 때 나는 내가 앞서 가서 이것을한다 그게 기억에 올 때야 그리고이 모든 일을합니다 그래, 우리는 이미이 권리를 다루었 다 우리가 그것을 실행하고 값이 인쇄됩니다

이제 몇 가지 표준 데이터 유형을 살펴 보겠습니다 파이썬에서 사용 가능합니다 그 전에도 무엇을 의미하는지 이해하려고합니다 데이터 유형별 이제 데이터 유형은 기본적으로 무언가를 말하는 방법입니다

정수이고, 뭔가가 문자열이고, 그것이 어떤 종류의 데이터인지와 같은 것, 숫자 이건 문자열 이건간에 또는 부울 또는 다른 것 또는 다른 것입니다 파이썬에는 두 가지 종류의 서로 다른 데이터 유형이 있습니다 또는 그 프로그램 언어 하나는 변경 불가능하고 다른 하나는 변경할 수 있습니다 그래서 mutable과 immutable이라는 단어는, 당신은 돌연변이에 대해 생각할 필요가 있습니다

생물학에서 공부했을 수도 있습니다 돌연변이는 근본적으로 변화를 의미합니다 그래서 가변적 인 데이터 유형은 변경 될 수 있다고 말하고, 데이터를 변경할 수 있습니다 변경할 수 없다는 것은 변경할 수 없습니다 따라서 목록, 사전 또는 세트, 이것들은 여러분이 공부하려고하는 어떤 것입니다

변경 될 수 있지만 변경 불가능한 데이터 유형, 숫자, 문자열 또는 튜플을 변경할 수 없습니다 이제 혼란의 원인 중 하나가있을 수 있습니다 내가 이렇게 생각하면 너는 그렇게 생각할거야 = 121 그리고 나서 나는 121을한다 그렇지 않다고 가정 해 보자

나는 이것을하고 나서 나는 = 3, 그러면 이것은 일어나서는 안됩니다 왜냐하면 a는 정수이고 그것을 변경하려고합니다 저는 처음에 그것을 무작위 값 121로 설정했습니다 그리고 나서 그것을 3으로 설정합니다 하지만 그것이 의미하는 바가 아닙니다

이것이 의미하는 바는 이것은 단지 식별자 일뿐입니다 이것은 데이터가 아닙니다 데이터가이 오른쪽에 있습니다 그래서 그것이 불변이라고 말하면, 그것은 무엇을 의미하는지 당신이하는 일이 무엇이든간에, 당신은 121을 3으로 만들 수 없습니다 그게 합리적이라고 생각한다면? 그런데 이것은 깊이의 수준입니다

그것은 프로그래밍에서 발생했습니다 하나가 2와 같지 않다는 것이 명백한 것 또는 121이 3과 같지 않아 3 일 수 없습니다 그것은 바로 그것입니다 그러나 이것은 세계에서 다른 것입니다 이것은 세계에서 다른 것입니다

이것을 이것을로 변환 할 수있는 방법은 없습니다 너는 금을은으로 바꿀 수없는 것처럼 금은 불변합니다 금은 불변하며은으로 바꿀 수 없습니다 그것을 다른 어떤 요소로도 바꿀 수는 없습니다

하지만 세상에는 어떤 것들이 있습니다 당신이 그들을 가져 가서 돌려 줄 수있는 한 가지에서 다른 것으로 예를 들어 씨앗을 가져 와서 나무로 만들 수 있습니다 그것은 돌연변이입니다 그러나 금을 나무로 바꾼다면 또는 금을은으로 만들면 그것은 일어나지 않을 것입니다

불순물이 섞여 있어도 금은 남아있을 것입니다 그것은 불순한 금이지만, 여전히 금이 될 것입니다 그래서 당신은 그것을 그렇게 생각할 필요가 있습니다 매우 기본적인 개념이지만 거기에있는 것입니다 엔티티가 변경할 수없는 프로그래밍을 가로 질러 이제 불변의 데이터 유형에 대해 이야기 해 보겠습니다

숫자, 문자열 및 튜플 어떤 Python도 세 가지 다른 종류의 숫자 값을 지원하지 않습니다 정수, 이는 표시입니다 그래서 앞에 플러스 또는 마이너스를 붙일 수 있습니다 실수 인 소수 자리가 있습니다

그렇다면 복소수가 있습니다 숫자를 표현할 때, 당신은 바이너리, 8 진수 또는 16 진수의 세 가지 다른 방식으로 표시됩니다 그러나 일반적으로 사용하지 않을 것입니다 이러한 표현 일반적으로 숫자를 사용합니다

당신이 정상적으로 사용하는 것처럼 따라서 정수를 정의하기 위해 10의 밑을 설정합니다 1065의 float base와 복소수를 정의합니다 당신이 이것을 기억하고 있거나 이것에 익숙하다면, 이것은 10 + 6j입니다

이것은 가상의 값이며 이와 같이 작동합니다 빨리 살펴 보겠습니다 여기에 같은 파일이 있습니다 실행 해 봅시다 10 + 6j와 같이 출력됩니다

내가 10 = 5 + 4j를하면 그리고 저는 DC를 인쇄합니다, 내가 무엇을 얻는 지 보자 그래서 보시다시피, 그것은 뺄셈을했습니다, 5-10이 마이너스 5 일 때, 4-X가 마이너스 2 일 때 결과가 나타납니다 다음은 문자열, 연속되는 문자 집합입니다 인용문 안에 표현 된 것을 문자열이라고 부릅니다 그래서 그것이 단수인지 큰 따옴표인지

자, 파이썬은 문자 유형을 지원하지 않습니다 이것은 기본적으로 다른 언어에서 나옵니다 그 문자를 문자라고 부릅니다 파이썬에는 없다 파이썬에는 연속적인 문자열 만 있습니다

당신이 성격에 익숙하지 않은 경우에 그것은 괜찮습니다 그러나 문자 데이터 유형은 문자와 다르지 않습니다 알파벳의 일반적인 방식으로 그것은 프로그래밍 컨텍스트에서이를 참조하고 있습니다 거기에 문자라는 것이 있습니다

char, 데이터 유형, Java, C ++ 등등입니다 파이썬에는 없다 파이썬에는 문자열 만 있습니다 작은 따옴표와 큰 따옴표를 구별 할 수 없습니다 작은 따옴표와 큰 따옴표를 구분하지 않습니다

이미 시도 했으므로이 방법이 우리에게 적합합니다 이미 문자열을 사용하여 print 문을 수행했습니다 다음은 튜플이므로 튜플은 고정 된 목록입니다 그것은 괄호 안에옵니다 예를 들어, 지금도 이것이 인쇄 방법입니다

그것은 튜플입니다 이것을 보면 튜플입니다 나는 이것을 할 수있다 이제 이것을 알아 차린다 나는 이것을 인쇄 할 수 있으며 이것은 실행될 것이다

이제 튜플을 사용하여 다음 작업을 수행 할 수도 있습니다 인쇄 할 수 있으며 개별 요소가 있습니다 제로 인덱스를 인쇄 할 수 있습니다 이것들은 제로 인덱스입니다 이것들이 네 개라고 가정 해 봅시다

이것이 처음이자 두 번째라고 말하기 시작하십시오 세 번째 그것은 제로 인덱스와 함께 작동합니다 이것은 이것이 0이라고 말하며, 이것은 첫 번째이며 두 번째입니다 이제 나는 이것을 할 수있다

이것은 튜플의 개별 요소를 읽는 것입니다 4, 5, 6 그러나 이것을 시도하면주의하십시오 파이썬은 이미 이것을 강조했다 문제가 있습니다

그 위에 마우스를 가져 가면 튜플이 기본적으로 의미가있는 항목 할당을 지원하지 않습니다 이봐, 너는 할 수 없어, 너는 바꿀 수 없어 나는 이것을 바꿀 수 없다 그것은 오류를 던지고 있었다 그것은 개체를 지원하지 않는 오류 튜플을 던지고있다

항목 할당 그래서이 데이터 형식을 변경하려고합니다 마치 내가 금을은으로 바꾸려고하는 것 같아 미안하다, 그렇게 할 수 없다, 그건 불가능하다 이것을 수정할 수 없습니다

이제 변경 가능한 데이터 유형을 살펴 보겠습니다 첫 번째 목록입니다 그래서 우리는 방금 튜플을 보았습니다, 그것은 아이템 목록처럼 보였습니다 그러나 그것을 튜플이라고 부릅니다 하지만 파이썬에는리스트라는 것이 있습니다

이제 목록에는 다양한 요소가 포함될 수 있습니다 빈 목록을 만들려면 요소 수와 이것이 당신이 창조하는 방법입니다 대괄호, 열기 및 닫기, 이것은 빈 목록입니다 그 안에 제로 것들이 있습니다 이것은 하나, 둘, 셋, 그것에 네 가지가 있습니다

이제 알면이 모든 것이 다른 유형입니다 데이터의 이것은 10 진수이며, 이것은 정수입니다 그리고 이것은 문자열입니다 당신은 목록을 인쇄하고 꽤 많은 튜플을 만들 수 있습니다

당신은 그 안의 어떤 요소라도 평가할 수 있습니다 이걸 실행 해 봅시다 당신이 할 수있는 일은 그것을 업데이트 할 수 있다는 것입니다 그래서 우리는 A가 첫 번째, 두 번째 요소가 변경된 것과 동일하다고 말할 수 있습니다 다시 말하면 이것이 다시 0으로 색인되기 때문에, 그건 그렇고

튜플이 0으로 인덱싱 된 것처럼이 인덱스도 0입니다 제로 인덱스는 이것을 제로라고합니다 그것을 하나로 간주하지 않습니다 일반적으로 이것이 프로그래밍에서 작동하는 방식입니다 거의 모든 프로그래밍 언어가이 방법을 사용합니다

그래서 보시면이 두 번째 요소가 바뀝니다 그래서 똑같은 것은 튜플에 에러를 내고있었습니다 그러나 목록에서 그것은이 특정한 방식으로하고 있습니다 그것은 내가 그것을 수정할 수있게하고있다 이제 목록에는 다른 목록도 포함될 수 있습니다

알다시피, 당신도 이것을 할 수 있습니다 그리고 네가 할 수있는 것, 네 번째 그리고 세 번째 요소 튜플을 포함 할 수도 있습니다 내부에 튜플을 포함 할 수도 있습니다 이것은 특히 복잡한 예입니다 복잡하지는 않지만 일반적으로 만남,하지만 나는 그것을 보여주고 자 노력 중이다

요점을 짓는 것 그 목록은 무엇이든 될 수 있습니다 그래서 영어 단어 목록에 대해 생각해보십시오, 그것은 무엇이든 될 수 있습니다 제가 여기서 한 것은 제로 요소라고 말했고, 이게 목록이야, 나에게 두 번째 줄 그래서 그것은 나에게 4를 준다

내가 말하는 것을 한 번 실행하면 두 가지를 줄 것이다 첫 번째로도 실행할 수 있습니다 네, 네게 줄거야 튜플에 액세스해야한다면, 어떤 요소 그것은, 0, 1, 2, 3, 맞습니다 5 장 인쇄하고 싶습니다

B3에, 나는 단지 세고있다 나는 0, 1, 2, 3을 세고있다 좋아요,이 시점까지 튜플을 가져 왔습니다 그 후, 나는 5 명에 접근하고 싶다 그것은 0, 1, 2입니다

저는 2로갑니다 이제는 약간의 차이점이 있습니다 목록은 대괄호를 사용하고 있습니다 튜플은 괄호 안에 있습니다 리스트는 변경 가능하고 튜플은 변경 불가능합니다

튜플은 목록보다 빠르며, 그것의 불변의 본성, 그러나 그것은 진짜 이유가 아닙니다 왜 터플을 사용할 것인가 고정 값을 원할 경우 튜플을 사용합니다 그래서 가정한다면, 당신은 간단한 계산기를 만들고 있습니다 당신은 과학적 계산을 할 수있는 것을 압니다

파이의 값을 사용한다고 가정 해 봅시다 면적을 계산할 수있는 과학 상수 원 또는 구체 또는 원뿔 또는 무엇이든간에 pi의 값인 314를 사용할 필요가 있습니다 및 기타 상수를 유지해야합니다 실수로 수정되지 않도록해야합니다

당신이나 당신의 프로그래밍에 의해 그것은 튜플을 사용할 때입니다 또는 목록을 유지해야하는 경우 튜플을 사용합니다 국가 목록을 원하지 않기 때문에 변경되기 실수로, 코딩을 할 때, 당신은 그 목록 내의 요소를 변경하게된다

아시다시피, 그것은 많은 문제를 일으킬 것입니다 그래서 기본적으로, 왜 당신이 필요로하는지 이해하는 것입니다 왜 불변의 데이터 형을 생각하고 이해할 것인가? 목록과 튜플을 보면, 여기에 유일한 차이점은 – 따라서 튜플로도이 작업을 수행 할 수 있습니다 나는 똑같은 일을 할 수있다 나는 이것을 간단히 할 수있다

나는 그것을 실행할 수있다 그것은 그대로 작동합니다 방금 그 요소를 인쇄 했어 그렇지? 이제 유일한 차이점은 목록이 더 느리고, 하지만 더 중요한 것은 목록이 변경 가능하다는 것입니다 그래서 대부분 당신은 자신이 (불분명 한 연설) 튜플보다는 목록을 다루고 있습니다

튜플은 매우 특정한 시나리오에 필요합니다 그러니 혼돈스러워하지 마라 왜 내가 2 명을 가지고 있는지, 둘 중 하나를 사용할 수 있습니까? 지금 목록에 집중하십시오 튜플은 당신이 제시 될 때 자연스럽게 나옵니다 시나리오

튜플은 부분적으로 틈새 시장에 더 있습니다 특별한 경우의 다음은 사전입니다 그래서 사전은 이름에서 알 수 있듯이 사전을 통해 이동하십시오 순진이라는 단어의 의미는 무엇입니까? 불안정한 단어의 의미는 무엇입니까? apple이라는 단어의 의미는 무엇입니까? 등등 모든 단어에 대해 의미를 가질 것입니다

그래서 그 말은 열쇠와 같습니다 설명은 가치와 같습니다 이것은 열쇠입니다, 나이는 열쇠입니다, 이것은 가치입니다 이것이 바로 열쇠입니다 이것은 가치입니다

당신이 보면, 이것은 매우 가독성이 있습니다 그들은 콜론으로 구분됩니다 좋습니다 이것을 사용해야하는 이유는 데이터를 매우 읽기 쉽습니다 키 값 쌍은 자연스럽게 나오는 것입니다

따라서 채우기 양식을 보면 가입 양식이 있습니다 너는 모든 것을 채웠다 이메일과 비밀번호를 묻습니다 여기에 저장되는 것을 상상해보십시오 그래서 의미에서 이것을 열어 보겠습니다

그래서 이것은 이것처럼 취급되고 있습니다 자, 당신이 또한 주장 할 수 있다고 가정 해봐, 내가 이렇게 저장할 수 있다는 것도 알 잖아 왜 이런 식으로 저장해서는 안되나요? 나는 이것을 이렇게 저장해 놓을거야 대신에 너는 알아 그러니, 오, 그런데, 네가 여기까지했을 텐데

당신은 대괄호를 사용했을 것입니다 열쇠를 입력했습니다 이걸 한번 실행 해 봅시다 똑같은 출력 그래서 당신은 논쟁 할 수 있습니다, 이봐, 왜 내가 목록을 사용하지 않을 것인가? 또는 튜플인데, 왜 이것을 사용할 것인가? 그래서 당신이 왜이 일을하지 않을지에 대한 주된 이유 중 하나입니다

이것이 더 읽기 쉽기 때문입니다 다른 코드 행이 어떻게 선언되었는지 상상해보십시오 1 번 줄에 100 번 줄에 이것을 사용하고 있습니다 당신은 무엇이 0인지 모른다 저장된 내용을 지속적으로 참조해야합니다

0에 그러나 당신이 그것을 본다면, 즉시 오, 알겠습니다 당신은 나이를 인쇄하려고합니다 따라서 개발자의 가독성을 위해 사전이 더 좋습니다 당신은 이것들을 많이 사용한다는 것을 알게 될 것입니다 다시 한번, 열쇠는 문자열이어야합니다

키는 문자열이어야하지만 값은 무엇이든 될 수 있습니다 값은 그 의미에서 무엇이든 될 수 있습니다 그것은 추가 일 수도 있고, 당신도 알 수 있습니다 사전도 사전에 포함 된 사전을 사용하여 A를 추가합니다

사전은 모두 혼합되어 매칭 될 수 있습니다 마지막 하나는 세트이며, 순서가없는 아이템 컬렉션입니다 모든 요소는 고유하며 중괄호를 사용합니다 쉼표로 구분됩니다 너가주의하는 경우에, 너가 그것을 밖으로 시도하면, 마지막으로 시도한 후에는 할당 할 수 있습니다

하지만 자동으로 인쇄하거나 고려할 것입니다 독특한 것들 그것뿐입니다 고유하지 않은 것들로 고생하지 않아도됩니다 다음은 파이썬 연산자입니다

귀하의 데이터 유형에 대한 조작 따라서 2 + 3은 5와 같습니다 2와 3은 operant이고 plus는 호출됩니다 연산자로 산술, 할당, 비교, 논리적, 비트 단위, 신원 및 멤버십 이들은 서로 다른 종류의 연산자입니다

그들을 통해 가자 첫 번째 것은 산술이고, 우리가 한 것은 아주 간단합니다 수학에서 a + b, ab, a * b, a / b, 이것은 당신에게 나머지를 제공합니다 그래서 이것을 계수 연산자라고 부릅니다 내가 너에게 빨리 보여주기를

제로 4 모듈러스를 주면 우리에게 4가됩니다 그러면 물론 4 + 5, 4-5가 있습니다 지수는 2 ** 3입니다 또는 2 ** 2, 미안, 나는 그것을 잘못 인쇄했다 그래, 둘, 넷, 그리고 부유층이있다

그래서 이것은 플로트 구분입니다 이것은 float를 반환합니다 이제 오른쪽에서 왼쪽으로 값을 할당합니다 먼저 계산됩니다 그런 다음 할당됩니다

그래서 이것이 당신에게 혼란스러워 보인다면, 그것은 오른쪽에서부터 시작됩니다 왼쪽부터 시작하지 않습니다 따라서 더 많은 일과 혼동되어서는 안됩니다 a + b를 수행 한 다음 a에 재 할당합니다 Ab 다음에 a를 다시 지정하십시오

A * b 및 a / b 여기에 쓰여진 것은 표기법입니다 그래서 파이썬에서 할 수있는 것은, 제가 가정 할 때 = 2, b = 3, 이제는 + b를 할 수 있고, 그러면 a는 5가 될 수 있습니다 아니면 + = b를 할 수도 있습니다 그리고 나서 a는 8입니다

그래서 내가 다시 추가했기 때문입니다 나는 다시 이렇게 할 수있어, 미안, a, b = 2, 3 그리고 나는 + = b를 할 수 있습니다 이것들은 동일한 것을주는 속기 표기법이다 이 효과는 a가 왼쪽의 것을 취하고, 이 연산을 적용하고 두 번째 연산을 사용합니다 값을 다시 지정하십시오

다음은 비교 연산자이므로 결과를 얻을 수 있습니다 그것은 사실이거나 거짓입니다 이것들은 당신에게 부울 값을줍니다 그래서 만약 당신이 a = b라고한다면 그것은 거짓이라고 말합니다 1 = 1이라고 말하면 진실입니다

만약 내가 그렇게한다면 그것은 나에게 진정한 가치를 줄 것이다 나는 a보다 큰 b, 나에게 진정한 가치를 제공합니다 내가 b보다 작 으면, 거짓 값을 줄거야 왜냐하면 a는 2이고 b는 3입니다 a는 5이고 b는 예입니다

혼란스러워, b보다 작 으면 5는 3 미만이다 5가 3보다 큰 것은 사실입니다 이것은 자연적으로 사실이며, 나는 또한보다 큰 것을 할 수 있습니다 b와 같고 a는 b보다 작습니다 이것들은 키워드이며, 이것은 문자열이 아닙니다

그래서 이것들은 문자열이 아니며 파이썬 키워드입니다 여기에 너에게 보여줘, 나는 또한 이것들을 할당 할 수있다 색상을 확인하면 색상이 다릅니다 그것은 또 다른 가치가 아닙니다 그것은 파이썬에서 특별한 가치로 취급되었습니다

네, 그렇다면 논리 연산자도 있습니다 a 및 b, a 또는 b 및 a가 아님 그들은 꽤 많이 그래서 a와 b는 나에게 3를 줄 것이다 그것은 저에게 더 낮은 가치를 줄 것입니다 A 또는 B는 나에게 더 큰 가치를 줄 것입니다

그리고 나에게 거짓을주지 않을 것이다 그래서 a가 진실이기 때문에, 누구도 나를 거짓으로주지 않을 것입니다 0이 아니라면 나에게 사실이 될 것이다 0이 아니고 거짓이 아닌 것이 무엇이든지 나를 줄 것입니다 진실하고 진실하지 않은 것은 거짓을 줄 것이다

0이 아니고 거짓이 아닌 것은 무엇이든 나는 거짓을주고 not 연산자를 적용 할 것입니다 이 일이 무엇 이었는지, 왜주는 것인지 가치가 낮 으면서 왜 높은 가치를 부여했는지 파이썬이이 특별한 것을 사용하는 방법입니다 두 가지 특별한 경우 또는 어디에 우리가 그들을 비교한다면, 그리고 바이너리로 변환 할 것입니다 그런 다음 자동으로 작업을 수행합니다 즉 (불분명하게 말하면)

바이너리 로직과 관련이있다 파이썬 논리보다는 따라서 이것이 수학에서도 얻을 수있는 결과입니다 3, 5 등의 수학 문제가 있었습니까? 그리고 3 또는 5 이것은 파이썬에 관한 것이 아닙니다

이것은 수학에 관한 것입니다 3 명과 5 명은 5 명이어야하며 수술은 5 명 중 2 명이 3 명이어야합니다 작업 논리 그래서 나는 너를 위해 일종의 재발견하지만 그것은 실제로 학교 수학입니다 특히 파이썬과 관련이 없습니다

이것은 파이썬에서하는 것과 같습니다 영어처럼 사용하면됩니다 그래서 이것을 알아 채면 영어와 같지 않을 수도 있습니다 지금 당장 당신에게 코드처럼 보이지 않을 수도 있습니다 지금은이 모든 것이 유효한 코드입니다

나는 이것을 잘 할 수있다 그리고 나는 이것을 실행할 수있다 만나다? 나는 결과를 얻고있다, 거짓 이것은 모두 유효한 파이썬 코드이며 A 또는 False 반환 값입니다 이 값

이렇게 또는 기본적으로 항상 높은 값을 반환합니다 항상 낮은 값을 반환합니다 하나가 있다면,하지만 5와 5가 있다면, 가장 낮은 값을 반환합니다 이 경우 5 명입니다 그러나 5, 4 명이 있다면, 가장 낮은 값을 반환합니다

또는 항상 가장 높은 값을 반환합니다 다음은 비트 연산자이며, 이들은 비트 단위로 수행됩니다 본질적으로 이진 AND, 이진 OR, 이진 XOR, 이진 NOT, 이진 왼쪽 시프트, 이진 오른쪽 시프트 그들에 대해 잘 알고 있지만 이전에 말했듯이, 당신은 파이썬에서 이진 연산자를 거의 다루지 않을 것입니다 이진수, 아주, 아주

그렇지 않으면, 당신이 그것을 다룰 때, 그것은 수학과 꽤 비슷합니다 이것은 파이썬과 거의 관련이 없습니다 그것은 수학과 관련이 있습니다 그런 다음 파이썬에는 또한 신원이 있습니다 다시 말하지만, 매우 읽기 쉽습니다

그래서 5 명은 4 명입니다 물론 당신은 틀린 것을 얻을 것이다 다시 한 번, 5는 4가 아닙니다 나는 변수를 사용하여 그것을 할 수있다 나는 똑같은 말을 할 수있다

물론 우리는 그렇게 될 것입니다 그래서 당신은 묻고 있을지도 모릅니다 이봐,이게 무슨 용도인지, 왜 그게 사실인데? 거짓 참 거짓? 물론 이것은 유용한 비교입니다

나중에 C가 D 일 때와 같은 논리를 설정할 수 있습니다 그런 다음 다른 일을하십시오 그래서 C가 아는 경우, 오늘은 수요일과 같다고 가정합니다 이것은 요가 날, 목요일입니다 물론, 지금 요가 데이라면 로직을 만들 수 있습니다

나는 그것을 실행할 수있다 거짓입니다 이제는 이것이 얼마나 읽기 쉬운 지 주목하십시오 영어처럼 읽는 군 맞아

그래서 파이썬을 좋아합니다 그래서 많은 사람들이 파이썬은 매우 장황하다 "자세한 내용"이라는 단어는 읽기가 더 쉽습니다 코드와 이해,이게 무슨 뜻이야 그것은 영어처럼 읽습니다

다음은 들어 있으므로 멤버십 운영자는 어떤 물건 안에 어떤 물건이 있는지 확인합니다 이것은 사전에 적용됩니다 이것은 목록에 적용됩니다 튜플에 적용됩니다 그래서 나는 이렇게 할 수 있습니다

네 명단에 없어요, 틀렸어, 맞아 여기 내가 할 수있는 일은이 모든 것을 주석 처리하는 것이다 맞아, 회원 확인이야 이것은 회원이이 회원인지를 확인하는 것입니다 이 목록의 또는 아닙니다

이것은 목록에서 작동하며, 사전에서도 작동합니다 사전에서 이런 식으로 작동합니다 A에서 나이를 인쇄하십시오 키가 있는지 없는지 확인하려고합니다

거짓이라고 말합니다 여기 그것이 사실이라고 말하는 것을 기다려라 이 점을 설명하겠습니다 내가이 모든 것을 논평하겠습니다 이제 내가 실수로이 일을했다면,이 경우였습니다

거짓이라고 말할 것입니다 다시 비교하자면, 제가이 권리와이 점을 당연히 지키면, 내가 이것을한다면 사전의 경우가 아니라, 어디에서 그 열쇠의 일부가 아닌 열쇠를 사용합니까? 나는 그것을 실행합니다 오류, 주요 오류, 나이가 나옵니다 그것은 그것을 인식하지 못합니다 따라서 키를 사용하기 전에 키를 확인해야하는 경우, 이런 종류의 것을 사용할 수 있습니다

이제 조건문을 살펴 보겠습니다 조건문은 예를 들어, 그래서 이것은 우리가 지금까지 구축해 놓은 것입니다 그들은 if와 else if이다 조건이 true로 충족되면 무언가를하십시오 그것이 다른 일을하지 않으면

우리는 매일 그렇게합니다 오늘의 수요일이면 요가 수업에 가고, 그렇지 않으면 요가 수업이 없으며 집에서 진정 될 수 있습니다 그것은 우리에게 아주 자연스럽게 오는 것입니다 인간으로서 지금 당연히 우리는 그것을 필요로한다 프로그래밍 언어에서도 마찬가지입니다

물론, 그것이 작동하는 방식은 당신이 프로그램을 시작하는 것입니다 이것은 일종의 제어 흐름이라고합니다 X가 Y보다 작 으면 여러 가지 작업을 수행하십시오 그렇지 않은 경우 특정 조건을 다시 확인하십시오 그게 사실이라면 다른 것들을 잔뜩해라

그렇지 않으면 이것을하십시오 그것은 프로그래밍이 많은 방식으로 작동하는 것입니다 비즈니스 로직이나 원하는 논리의 논리가 너무 많습니다 작업 할 응용 프로그램에 여기에 내장되어 있습니다 좋아요, 이제 들여 쓰기에 대해서 다시 한 번 얘기합시다

알겠습니다 우선 모든 파일 작업에 대해이 파일에 주석을 답니다 그래서 문제는 명령을 입력 할 때입니다 파이썬에서 어떻게 파이썬에게 이봐, 이러한 지침들을 따라야 할 필요가있다 그리고 만약 이것들에 대한 지시 사항이 있다면 그렇지 않으면, 그렇지? 그래서 본질적으로 이것은 코드 블록입니다

이것은 분명히 코드 블록입니다 바로 한 줄로 올 수는 없습니다 당연히, 당신은 여기에 더 복잡한 것들을 씁니다 두 개가 필요할 수도 있습니다 백 줄을 써야 할 수도 있습니다

이 조건이 충족되면 100 가지 일을해야 할 수도 있습니다 이제 파이썬은 이것이 이것 안에 있음을 어떻게 알 수 있습니까? 마찬가지로, 그것을하는 한 가지 방법은 물론입니다 그것을 이렇게 쓴다? 내가 할 수있어, 왜 안돼? 하지만 엘프는 피곤한 지시를받습니다 나는 쓰고있어? 아니면 이것에 매핑됩니까? 모두가 같은 줄에 있지 않기 때문입니다 내 진술이 여기 또는 여기에 있어야합니까? 인클로저가 없습니다

명확한 경로가 정의되어 있지 않습니다 파이썬이 들여 쓰기를하는 방식 우리가 이전에 말했던 것, 이 공간은 4 칸 거리에 있어야합니다 그래서 IDE는 그 자체로 너는 일종의 타이핑이야 입력하는 경우 X> Y 일 경우 가정 해 봅시다 나는 콜론을 누릅니다

콜론이 항상 따라옵니다 그건 그렇고, 콜론을 알아 차리고 Enter를 누르십시오 자동으로 4 개의 공백으로 이동합니다 그것은 나에게 묻지도 않는다 Pycharm의 Tab은 4 개의 공백으로 항상 작동합니다

그렇지 않으면 네 자신이 네 칸을 줄 수 있습니다 그래서 하나, 둘, 셋, 넷이 있습니다 그러나 이렇게하지 않으면 코드가 작동하지 않습니다 코드가 작동하지 않습니다 그것은 단지 강력한 이유가 있습니다

이것이 왜 이런 이유일까요? 이것이 파이썬에서 이와 비슷한 이유는 파이썬의 개발자는 파이썬은 아름답게 읽습니다 그것은 이상한 이유처럼 보일 수 있지만, 코드 제작 레벨 코드를 살펴보면, 그래서 당신이 위대한 의해 작성된 코드를 보면 뜻 소프트웨어 개발자, 훌륭한 개발자, 위대하지도 않고, 단지 충분히 좋을지라도, 좋은 것으로 간주되면, 그들은 다음과 같은 코드를 작성할 것입니다 매우 읽기 쉽고, 매우 깨끗합니다 파이썬의 창시자 인 귀도 반 로섬 (Guido van Rossum) 그것을 강요하고 싶었다 그는 그것이 선택이 아니라고 말했다

나는 그것이 일반적으로 다른 종류의 일종 다른 언어로되어 있습니다 그래서 다른 언어에서는 이와 비슷한 것을 갖게 될 것입니다 좋아 그러면 너는 이런 식으로 할거야 그러면 중괄호를 사용하게 될 것입니다

그렇다면 가정 해 보겠습니다 X를 인쇄한다고 가정 해 봅시다 그렇다면 이것은 여러 번 인쇄물 Y를 가질 것입니다 지금이 말은 더러워 보입니다 왜냐하면, 나는 들여 쓰기를 할 수 있었고 조금 더 될 수있었습니다

이처럼 읽을 수 있습니다 이것이 단지 그렇지 않기 때문에 underlinings를 무시하십시오 유효한 파이썬 코드, 여기에 예제를 보여 주려고합니다 다른 프로그램 언어가 어떻게하는지 그래서 그들은 중괄호로 그것을합니다

그들은 클로저의 일부인 것을 나타냅니다 또는 중괄호를 사용하는 코드 블록 하지만 파이썬에는 그럴 수 없다 파이썬에는 중괄호가 없습니다 일련의 지시 파이썬에는 들여 쓰기가 있습니다

그것은 결정을 내리는 기초입니다 그래서 그것이 사실이라면 내부로갑니다 이것이 사실이라면 그것은 그 안에 들어갑니다 그렇지 않으면 마침내 아무것도 확인하지 않고 그냥 실행합니다 그럼 이걸 실행 해 봅시다

X <Y이고 6 행 if else 문을 수행하기를 원한다면, 당신도 그렇게 할 수 있습니다 여기에 조건을 추가하고 간단히 실행할 수 있습니다 25 이상, a는 10 미만, a는 10 내지 25이고, 10보다 크다 꽤 많이 수학에 쓰는 것과 같습니다

이것이 사실이라면 이것을하고, 그렇지 않으면 이것을하십시오 이들과 이것들은 관련이 없습니다 둘 다 항상 처형 될 것입니다 그래서 내가 이것을하고 10을 오른쪽으로 만들면, 우리는 두 진술을 모두 보게 될 것이다 그래서 10 이하, 10과 25 사이

그러나 이것이 이것이 아래에 있다면, 이제 이것은 if else 블록입니다 다음 블록 탭 때문이야 그래서 무엇이 무엇인지를 결정하기 위해, 당신은 정말로 볼 필요가 있습니다 부모 문장의 들여 쓰기 수준에서

그래서이 라인을 인쇄하려면 이것과 사실 일 필요가있다 이 행을 실행하려면이 사실 만 필요합니다 이것을 실행하려면이 행을 거짓으로 할 필요가 있습니다 그러나이 선은 진실해야합니다 그래서 컨트롤은이 안에 들어 가지 않습니다

그때이 바깥 쪽 블록을위한 것입니다 그래서 의견의 관점에서 이것은 부모의 의견입니다 이 사람이 그 부모의 의견에 회신하고 있습니다 그 자체로는 개인적인 의견이 아닙니다 중첩 된 주석입니다 이것이 이것 같이 인 경우에, 이 두 가지 모두 상위 주석입니다

다음은 루프입니다 파이썬에는 세 가지 종류의 루프가 있습니다 루프의 목적은 같은 것을 반복해서하는 것입니다 다시 반복 할 때와 마찬가지입니다 조건이 충족되면 조건을 확인합니다

그 조건에 따라 반복 될 것입니다 여러 번 만료일 때까지 값이 수행됩니다 그것은 루프의 몸체를 검사하고, 그렇지 않으면 밖으로 나간다 while 루프, 다시 들여 쓰기 블록 콜론이 뒤 따른다

이제이 경우에 당신이하는 일은 우리는 인쇄 말하고 있습니다 우리는 하나씩 값을 하나씩 증가시킬 것입니다 우리는 4 시까 지 계산할 것입니다 이걸 실행 해 봅시다 하나, 둘, 셋, 넷, 안녕

카운트가 5가 되 자마자 더 이상 사실이 아닐 것입니다 그것은 루프에서 나옵니다 이걸 음소거하고 대신 이걸 실행 해 봅시다 따라서 순위가 ​​12와 같지 않으면 5시 11 분 아주 간단합니다

그래서 이것은 당신이 시도 할 수있는 약간의 추측 게임입니다 입력 번호 10, 숫자가 너무 작습니다 15를 입력하십시오 숫자가 너무 큽니다 입력 된 숫자가 12라면 종료하면 루프가 종료됩니다

네가 축하해 줬어 이제 for 루프에서 이것은 가장 중요한 것입니다 하나는 당신이 사용할 것입니다 단어 정렬을 반복합니다 이제 정렬은 목록 일 수 있습니다

따라서리스트 나 튜플을 출력하고 싶다면 또는 심지어 사전 항목, 컬렉션, 맞습니다 그것이 가져 가고 증가 할 것입니다 iterating 또는 계속해서 계속됩니다 각 개별 항목 여기에있는 진술을 살펴 봅시다 그래서 우리는 항목과 과일의 목록을 가지고 있으며 우리가 할 수있는 것은 이것을 무시하십시오

이것은 관련이 없습니다 과일과 과일, 과일을 인쇄하십시오 다시 말하지만, 단순히 이것을 실행하십시오 그래서 그것은 바나나, 사과, 오렌지를 순서대로 실행합니다 이것은 목록이며, 다시 똑같은 일을 할 것입니다

전체 목록, 하나, 둘, 셋, 파이썬 맞아요, 그래서 당신은 계승을 클릭하는 목록에 사용할 수 있습니다 숫자의 당신이해야 할 일은 한 번호로 번호를 재현하는 것뿐입니다 계속 곱해서 계속 사용하십시오

계속해서 또 다시 그래서 당신은 단지 그것을 빼고, 곱하고 곱한 다음 결과를 얻을 것입니다 물론 중첩 된 루프를 가질 수 있습니다 따라서 루프 내부에서 루프를 만들 수 있습니다 다시, 들여 쓰기의 동일한 원칙이 적용됩니다

for 루프 대신 for 루프를 사용할 수 있습니다 또는 루프 대신 for 루프를 사용하십시오 순수하게 당신이 무엇을 만들고 있는지에 달려 있습니다 네가하려는 일에 따라서 그것은 논리에 달려 있습니다

논리가 당신이 쓰는 것처럼 간단하다고 가정 해 봅시다 목요일 0시에 로봇과 말하기 100 만까지 왼발을 계속 잡는다 그리고 오른쪽 발 앞으로 왼발 앞으로, 오른발 앞으로 목요일까지 계속 그렇게 할 것입니다

따라서 수백만 단계를 거치거나 가정 해 봅시다 그것은 이와 비슷한 것입니다 일과 목요일이 같음 셋, 넷 그래서 당신은 근본적으로이 세상에 목요일입니다 항상이 일을 계속하십시오

그건 정말로 당신이하려는 일에 달려 있습니다 귀하의 응용 프로그램에 필요한 것 다시 한번 이것은 시도 할 수있는 것입니다 여기서 파이썬으로 코드를 작성할 수 있습니다 4 자리 숫자 PIN을 요구하는 ATM을 시뮬레이트합니다

그런 다음 균형을 유지하면서 메뉴를 표시합니다 초과 인출, 지불 및 반납 카드 그런 다음 사용자가 값을 선택하거나, 반복해서 여러 번 반복한다 또는 그것에 대한 제한을 설정할 수 있습니다 시도 횟수가 5 회가 아니지만 사용자에게 계속 묻습니다

선택을하십시오 이제 루프 내에 특정 제어문이 있습니다 루프에서 이탈을 정렬하려면, 당신이 루핑을 시도하고 있다고 가정 해 봅시다 (왜곡 된 연설) 또는 무언가, 또는 당신은 무언가와 당신을 반복하려고합니다 어떤 조건은 당신이 그것에서 벗어나고 싶다는 것입니다

바로 루프를 끝내고 싶습니다 그런 다음 break 문을 사용합니다 특정 조건이 충족되면 나는 그것을 정말로하고 싶지 않다 continue 문을 사용합니다 루프를 건너 뛸 곳

그것은 루프에서 건너 뛰고 다음으로 갈 것입니다 물론 패스 문이 있습니다 이것은 루프 내에서만 사용되는 것이 아니라 클래스에서 사용되며, 기능, 여러 다른 장소도 포함됩니다 빈 몸체를 정의하는 데 사용됩니다 그래서 나는 하나, 둘, 셋, 나는 단지 통과를 말할 것이다

내가 아직 코드를 반환하지 않았기 때문에, 나는 나중에 그것에 대해 걱정할 것이다 그러나 그것은 단지 그 것이다 나는 이렇게하고 싶지 않다 완전히 정확하지는 않습니다 당신이 알아 차리면, 나는 이것 후에 어떤 코드도 쓸 수 없다

그것이 맞다하더라도, 당신은 합법적으로 사실을 알고 있습니다 들여 쓰기, 파이썬은 내가 이것을 닫았다는 것을 알지 못한다 나는 패스를 사용할 것이다 패스는 다시 들여 쓰기가됩니다 그것은 파이썬에게 이봐, 이것은 끝났고 24 번 라인 인 다음 라인으로갑니다

for 루프 내부를 시도하지 않는 것이 좋습니다 그래서 내가 말한 것처럼, 숫자를 인쇄한다면 10 ~ 50 세 사이지만 30 세가되면 당신은 루프에서 벗어나고 싶다 루프가 중지됩니다 정말로 11을 원하고 j = 5라고 말하면 그 후에 당신은 다음 단계로 계속하기를 원합니다 그것은 5를 건너 뛸 것이다

그것을 건너 뛰고 곧바로 7로갑니다 이걸 시험해 봅시다 범위를 1에서 11로 가정 해 봅시다 그럼 이걸 실행 해 봅시다 잠깐, 이것과 이것도 모두 음소거해야합니다

그래, 이번엔 다섯 살이 아니란 걸 알면 5시에 그냥 건너 뛰었 기 때문에 인쇄되었습니다 나는이 두 곳을 여기 위에 놓고 달린다 그런 다음 인쇄 중이므로 모든 것을 인쇄합니다 어쨌든, 그래서 나는 본질적으로 continue의 유스 케이스를 의미한다 당신이하지 않으면, 어떤 이유로, 언론에 당신이 만날 특정 가치

특정 조건이 충족되면 루프를 원하지 않습니다 그 후에 계속할 수 있습니다 다음 번에 가길 원해 그러나 만약 당신이 모두 함께 뭉개고 싶다면, 너는 이것이 일어날 것을 기대하지 않았다 그리고 그것은 멈출 것입니다

계속하면 다음 항목으로 이동합니다 다음은 명령 행 매개 변수입니다 항목 파일을 실행할 때, 오른쪽, 특정 인수를 전달할 수 있습니다 인수가되는 특정 값 파이썬 명령 줄 인수가 발생합니다

그래서 파이썬은 모듈이고 내장 된 존재는 직선입니다 상자를 벗어나면 아무 것도 설치할 필요가 없습니다 그것은 마치 도서관과 같습니다 모듈의 종류는 본질적입니다 당신은 파이썬 sys 모듈과 sys 모듈이하는 일을 가지고 있습니다

시스템을 의미합니다 그것은 귀하의 운영 체제이며, 전달중인 인수에 액세스하십시오 명령 줄 인수 목록과 len (sysargv) 명령 행 인수의 길이입니다 이제이 파일 중 하나를 살펴 보겠습니다

실제로 파일을 만듭니다 파일에서해야 할 첫 번째 일은 import sys입니다 그리고 len (systemargv)라고 말하고 싶습니다 그리고 sys

argv라고 말하고 싶습니다 지금까지 우리가 다루지 않은 한 가지 방법은 파이썬 파일이 실행됩니다 내가 지금하고있는 일은 바로 폴더에 갈거야 이 폴더에 DS mod one이 들어 있습니다 거기에 글자가있는 내용이 들어 있습니다

좋아, 그럼 testpy를 포함한 모든 파일들 파이썬 파일을 실행하려면, 파이썬 testpy를 실행하기 만하면됩니다 그런 다음 논증을 제공해야합니다

인수의 길이가 여섯임을 주목하십시오 그것은 단지 하나, 둘, 셋, 넷, 다섯이 아닙니다 파일 이름은 그 자체로 하나의 인수입니다 그래서 이것은 처음에는 혼란 스러울 수 있습니다 그것이 인수로 취하는 첫번째 일 파일 자체이지만 다음에 무엇이든 따라옵니다

너는 그것을 준다 이것은 1, 2, 3, 4, 5입니다 알았어 ABD, BCD 이것이 바로 (목소리가 끊어지는) 것입니다

(경음악) 우리가 그 일을하기 전에, 한 가지 문제를 가정 해 봅시다 또는 파이썬 파일로하고 싶은 일 사용자에게 입력을 요청하고 싶습니까? 우리는 간단한 스크립트를 작성하여 사용자에게 두 개의 숫자를 물어보고 추가하거나 곱하십시오 또는 그들과 어떤 종류의 작업을 수행하십시오 그러면 어떻게 할 수 있을까요? 대답은 파이썬이 입력을 제공한다는 것입니다 함수와 입력 함수의 작동 방식은 다음과 같습니다

그것은 파이썬에서 내장 함수라는 것입니다 입력 함수를 호출하고 문자열을 전달합니다 문자열은 원하는 메시지 또는 질문입니다 사용자에게 물어보십시오 그러면 사용자에게 물어보기를 원한다고 가정 해 봅시다

하나의 숫자를 곱하여 곱하거나 하나의 숫자를 더하여 더합니다 그것은 현 사이에 올 것입니다 이제 입력 형식으로 사용 유형이 무엇이든, 변수는 왼쪽에 저장됩니다 기능은 기본적으로 당신을 위해 무엇을 반환합니다 사용자에게 줄을 묻는 메시지가 나타나고, 이는 언어에서 사용자가 이해할 수있을거야

사용자가 무언가를 타이핑 한 다음 그 값을 얻습니다 변수로 당신에게줍니다 간단한 예제를 살펴 보겠습니다 이 파일에 대해 여기와 여기에 대해 설명하겠습니다 그래서 그것은 내 의견을 요구하고있다

나에게 세 개를 입력하면 수신 된 입력이 세 개가된다고한다 이는 입력이 str에 저장되었음을 의미합니다 다른 예를 살펴 보겠습니다 사용자에게 이름, 나이를 물어보기를 원한다고 가정 해보십시오 같은 것

당신은 당신이 사용하고자하는 문자열을 제공합니다 이 변수에 여기에 저장됩니다 그런 다음 인쇄 할 수 있습니다 그런 다음이 작업을 수행하려는 경우 물론 당신은 그 일을 계속할 수 있습니다 빨리 실행 해 봅시다

그래서 나는 단지 실수에 직면했다 이제 무슨 일이 일어날지는 입력이 예상하는 것입니다 숫자를 주면, 내 이름처럼 문자열을 주면, 인용문으로 제공해야합니다 내가 이렇게한다면 그렇게 할 수 있습니다 숫자의 경우 문자열을 제공 할 필요가 없습니다

다시 시작합시다 Varun이라는 이름으로 내 이름을 부여한다고 가정 해 봅시다 문자열을 입력하는 경우 문자열을 입력해야합니다 작은 따옴표 안에 작은 따옴표가 없어야합니다

정수형이라면 따옴표가 필요 없습니다 다음은 파이썬에서 파일을 살펴 보자 그래서 기억한다면 우리는 당신이 당신을 위해 파일을 관리 할 소프트웨어를 만드는 것, 그들을 폴더에 넣고, 정렬하는 등등 파이썬은 좋은 파일이되기 위해 매우 깔끔하고 멋진 자료를 재생합니다 그럼 그걸 살펴 봅시다

파일에 관해서는 몇 가지 전형적인 것들이 있습니다 당신이해야 할 일 메모장 일지라도 파일을 열고 닫아야합니다 파일 또는 방금 작성해야하는 Python 파일 첫 번째 이후 파일을 가지고 작업하는 것은 파일을 여는 것입니다

또는 당신이 그것을 닫습니다 다음은 파일을 작성해야한다는 것입니다 또는 파일을 읽을 수 있습니다 그런 다음 이름 바꾸기와 같은 유지 관리 작업을 수행합니다 파일 및 파일 이동 또는 파일 삭제, 그런 것들

그래서 우리가 무엇인가하기 전에, 당신은 그것을 이해해야합니다 파일 열기 및 닫기 Python에서 작동합니다 문제는 파일 열기 및 닫기가 작동한다는 것입니다 모드 실제 파일을 여는 것만 큼 간단하지 않습니다

다른 모드가 있다는 의미에서 당신은 파이썬 파일을 열 수 있습니다 읽기 전용 모드가 있습니다 쓰기 모드가 있습니다 파일을 생성하는 쓰기 플러스 모드가 있습니다 그것이 존재하지 않는다면, 이것들은 모두를위한 것이다

파일이 항상 열린 상태라면 쓰기 전용 모드에서 쓰기 권한이 있다면 항상 그것을 읽으십시오 파일에 대해 특정 작업을 수행하게 될 수도 있습니다 특정 작업을하면 데이터가 망가질 수 있습니다 파일 내부 기본적으로 파일을 여는 것이 가장 좋습니다

당신이 가고있는 것에 기반한 정확한 모드의 모드로 그것을 위해 사용합니다 당신이 쓰지 않을 것이라면, 쓰기 모드로 열지 마십시오 읽기 모드로 열면됩니다 그런 다음 파일을 닫는 중입니다 그래서 거대한 파일을 여는 중이라고 가정 해보십시오

크기가 500MB 인 파일입니다 여기에는 1,000 만 개의 주소 또는 이름이 포함됩니다 파일을 닫지 않으면 어떻게됩니까? 파일을 열면 RAM에로드됩니다 파일을 제대로 닫지 않으면 그렇게하지 않습니다 파일 관리 비트, 그러면 그것은 메모리에 남아있을 것이고 잠재적으로 메모리 누수가 발생합니다

그래서 염두에 두어야 할주의 사항 중 하나와 같습니다 당신이 어떻게하고 있든간에 파일의 내용을 명심해야합니다 그래서 파일을 열면 open 함수가 사용됩니다 파이썬 첫 번째 매개 변수로 파일 이름을 사용합니다

액세스 모드가 두 번째 매개 변수입니다 파일 이름은 실제로 파일의 이름입니다 액세스 모드는 방금 전에 말한 것입니다 읽기, 쓰기 또는 추가가 있습니다 여기에 다른 액세스 모드가 있습니다 R이 기본 모드입니다, 읽기 전용으로 파일을 엽니 다

rb라는 모드도 있습니다 그건 그렇고, 당신은 여기에 문자열로 전달합니다 이것은 다시 말하지만, 이것은 따옴표로 쓰여질 것입니다 문자열 r 및 문자열 rb 바이너리 형식으로 읽기 전용 파일을 엽니 다

당신이 이것을 사용하는 것은 드뭅니다 그러나 그것은 단지 무언가입니다 그것은 잘 알고 있습니다 적절하게 유지 관리되는 전형적인 파일의 경우, 잘 유지되지도 않고, 당신은 정말로 갈 필요가 없을 것입니다 rb와 차이점에 대해서, 당신이 다루지 않는 한 일종의 형식이 잘못된 파일은 그리 많지 않습니다

또는 특정 작업을 수행하고 있습니다 바이너리 형식으로 필요합니다 그런 다음 r + 모드가 있습니다 그것은 읽기와 쓰기 모두를 위해 그것을 엽니 다 그런 다음 rb + 모드가 있으며 파일을 엽니 다

읽기 및 쓰기 및 이진 형식입니다 w 모드가있어 쓰기 전용으로 파일을 엽니 다 파일이 존재하면 덮어 씁니다 이것이 w와 r + 사이의 중요한 차이입니다 기본적으로 w는 파일을 덮어 쓰며, 사실과 관계없이 새 파일을 만드는 것과 같습니다

그것은 이미 존재한다는 것입니다 반면 r +는 파일을 덮어 쓰지 않습니다 Wb, 바이너리 형식으로 만 쓰기 위해 파일을 엽니 다 w와 마찬가지로 파일을 덮어 씁니다 다른 모드는 다음과 같습니다

추가 할 파일을 열고, 즉, 하단에 추가 만 허용합니다 파일의 이미 그 부분에 당신을 허용하지 않습니다 이렇게하면 일종의 의미가 있습니다 원하지 않는 시스템에서 업데이트하거나 추가하십시오 코드가 어떤 식 으로든 조작되는 것을 방지합니다

Ab는 바이너리 형식으로 추가를 수행합니다 A +는 추가 및 읽기 모두를 위해 파일을 엽니 다 Ab +는 추가 및 읽기 모두를 위해 파일을 엽니 다 바이너리 형식 W +와 wb +는 이미 다루었습니다

이제는 파일을 쓰는 것에 관해서는, 여기에서 얻은 파일 객체를 가져옵니다 파일을 열면 파일 객체가 생깁니다 기본적으로 파일에 코드가 표시됩니다 그리고 나서 write라고 쓰고 문자열을 전달합니다

당신이 쓰고 싶은 것 쓰기 메소드는 물론, 당신이 뿐만 아니라 이전에 이진 비트로 이야기하면서, 바이너리 형식으로 파일을 열 수 있습니다 그래서 글씨는 문자열을 사용하지 않습니다 그것은 텍스트뿐만 아니라 바이너리 데이터를 취할 수 있습니다 read 메소드는 열린 파일에서 파일 문자열을 읽습니다

그리고 다시 바이너리 데이터를 읽을 수 있습니다 카운트를 주목하십시오 그래서 숫자를 주면 그것은 문자의 수입니다 그것은 한 번에 읽을 것입니다 매개 변수를 제공하지 않으며 계산하지 않습니다

그것은 모든 것을 준비 할 것입니다 파일 이름 바꾸기에 대해 살펴 보겠습니다 따라서 파일의 이름을 바꾸려면 현재 파일을 제공해야합니다 이름을 입력 한 다음 새 파일 이름을 입력하십시오 궁금해하는 경우 두 개의 인수와 이름 변경이 필요합니다

OS 란 무엇인가? 파이썬에서 사용할 수있는 모듈이다 운영 체제를 다룰 것입니다 우리는 그것을 나중에 깊이 다룰 것입니다 운영 체제가 운영 체제임을 나타냅니다 이름 바꾸기에 관해서는, 그것은 보통 보통입니다

운영 체제의 도움을 받아 수행됩니다 운영 체제에 대해 알아야 할 필요는 없습니다 그들이 어떻게 지어 지거나 쓰여졌는지에 관해서, 하지만 이것은 파이썬에서 사용할 수있는 훌륭한 유틸리티입니다 파일을 삭제하기 위해 다시 osremove를 사용합니다

파일 이름을 인수로 사용합니다 이제 몇 가지 예를 살펴 보겠습니다 이제부터 시작하겠습니다 파일을 열고 모드가 w +인지 확인합니다 따라서 파일이 존재하지 않습니다

지금 작성하십시오 하지만 우리는 파일을 만들 것입니다 이제 1에서 10까지 숫자를 반복 할 것입니다 이 10 개의 줄을 씁니다 내가 성공했는지 보자

Finished, 안녕하세요, 파이썬에 오신 것을 환영하는 파일이 있습니다 이것은 하나에서 시작하기 때문에 유지됩니다 제가 제로 만한다면, 우리는 그렇게합니다 그래서 다시 돌려 보자 이제 11 번이나 해냈습니다

매번 파일을 덮어 쓰게됩니다 그것은 w + 모드이기 때문입니다 이제 파일을 읽어야한다고 가정 해 봅시다 우린 그것을 실행할 것입니다 우리가 뭘 잘못 했니? 우리가 여기서 잘못한 것은 그것이 w + 모드에 있다는 것입니다

그래서 그것은 이미 파일을 비 웁니다 그러나 이것을 다시 실행하고 다시 실행 해 봅시다 이제 채우기 파일이 있습니다이 파일을 무시해 봅시다 이제 r 모드로 파일을 열고 지금 실행하십시오

이제 우리는 이것을 10 번 나타냅니다 우리는 newfileread를 가지고 있습니다 내가 말했듯이, 당신은 그것을 카운터에게도 전달할 수 있습니다 그래서 나는 그것을 5 개 통과시킬 수 있었고 그 다음에는 오직 읽기만했다

한 번에 다섯 자 당신은 매우 이상한 결과를 얻습니다 혼란스럽지 마라 독서를하는 것일 뿐이다 한 번에 5 자까지만 가능하므로 그 이유가 무엇입니까? 이런 식으로오고있어

한 번에 500자를 읽는다면, 그러면 출력은 달라졌을 것입니다 500은 우리를 위해 비슷하게 50 문자를 읽습니다 한 번에 그래서 나는 이것이 처음으로이 모든 것을 읽었을 것이라고 생각합니다 그리고 나서 이것을 읽을 것입니다

이제 OS 기능을 사용해 보도록하겠습니다 당신이 파일을 제거하고 싶다면 먼저 파일의 이름을 바꾸자 newtxt에

파일을 열 필요가 없습니다 그것을 제거하면 우리는 이것을 실행할 수 있습니다 알게되면이 이름이 변경되었습니다 그 파일은 사라졌고 이제 우리는 newtxt 파일을 가지고 있습니다

이제 간단히 제거 할 수 있습니다 우리는 그것을 실행하고 그 제거됩니다 여기서 제거 된 걸 눈치 챘습니까? 따라서 fileclose 메소드는 열린 파일을 닫습니다 물론 닫기 파일은 읽을 수 없습니다

새 파일을 재 할당합니다 내가이 일을한다고 가정하고이 변수를 취해 봅시다 나는 그것을 다른 값으로 할당한다 파이썬이 할 일은 자동적으로 닫으라는 것이다 내가 재 할당 할 때마다 파일

재 할당하면 자동으로 파일을 닫습니다 이 변수 그것이 파이썬이 물론 도움이되는 곳이기도합니다 그게 당신이 기억한다면, 파이썬은 매우 친숙한 언어라고 생각합니다 배우다

이제 파일을 닫는 다른 파일을 시도해 봅시다 우리는 파일에 쓰려고합니다 무슨 일이 일어나는지 봅시다 그것은 우리에게 오류를 준다 예, 읽기 모드에서 열려고합니다

파일이 존재하지 않습니다 내가 다시 실행하게 해줘 이제 닫힌 파일에서 I / O가 작동합니다 파일이 닫혔다 고합니다 사용할 수있는 다양한 속성이 있습니다

파일에 하나는 fileclose입니다 우리는 그것을 보았습니다 file

mode도 있습니다 우리가 얻는 것을 보자 그래서 우리는 w +를 얻습니다 필요한 경우 검사를 위해 사용됩니다 어떤 종류의 수표에도 사용할 수 있습니다

당신이 그것에 대해 혼란스러워하는 경우에 대비하여 프로그램의 일부분, 여러 파일들이있다 너는 기억이 없거나 엄격한 검사를 원한다 파일에서 뭔가를하기 전에, 아마도 원하지 않을거야 파일에 쓰거나 제한 조건을 추가하려는 경우, 이것이 도움이 될 때입니다 이제 file

name은 물론, 파일의 이름을 돌려줍니다 그렇게하자 또 하나하자, 우리는 모드를 완료했다 그런 다음 filesoftspace도 있습니다

이 세 가지를 모두 실행 해 봅시다 그래서 우리는 파일의 이름을 얻었습니다 Softspace는 아무 것도 아니지만 부울을 반환합니다 공백 문자가 필요한지 여부는 0 또는 1입니다 다른 값 앞에 인쇄된다

print 문을 사용할 때 다음 모드가 있습니다 이름이 있습니다 newfilesoftspace가 있습니다

사용할 수있는 몇 가지 방법이 있습니다 파일을 검색 할 수 있습니다 그것은 특정한 것을 찾고 있습니다 라인 읽기에 필요한 문자 수 여러 문자를 만듭니다 유사하게, 탐색은 또한 문자의 수를 취한다

네가 어디 있는지 말해 줄 수있어, 40 문자 후 읽기 시작 통과했다 Tell은 파일의 현재 위치를 알려줍니다 파일에있는이 모든 것들은 이것은 위치입니다 이것은 파일의 특정 행입니다 그래서 이것을 시도하고 우리가 얻는 것을 봅니다

파일을 읽기 모드로 열어 보겠습니다 맞아요 그래서 두 개의 제로를 찾습니다 이제 100으로 만들고 그 변화가 있는지 살펴 보겠습니다 출력에

우리는 두 번째 산출물이 변화하고 있음을보고 있습니다 우리가 추구하는 정도에 따라 그래서 내가 1,000 선을 만들면 1,000 선에 가면된다 이 시점에서 세 번째 읽기도 할 수 있습니다 이 말은 내가 처음 다섯자를 찾아 낼거야 그리고 나는 독서를 할거야

그리고 나는 말을 할거야 이것은 기본적으로 물론입니다 newfileread는 전체 파일을 읽을 것입니다 이것은 한 줄만 읽는 것이 아니라, 그러나 그것은 5 자 이후에 읽기 시작합니다

그래서 처음 다섯 캐릭터는 HEL입니다, 맞아요 빈 공간에 대해 2자를 입력하십시오 또한 문자로 간주됩니다 안녕하세요, 공간, 1, 2, 3, 4 그리고 새로운 줄 문자가 있습니다 입력 문자가 있습니다

그러면 다음 줄에 올 수 있습니다 그래서 다섯 자 우리는 이미이 과정을 거쳤습니다 파일에 대해 수행 된 다른 작업 자, 대부분의 시간, 프로그래밍에 많은 시간 당신은 단어 데이터를들을 것이다

본질적으로, 프로그래밍에 관한 내용은 많습니다 논리, 데이터 및 데이터 다루기 데이터 유형이 다른 경우 어떻게 데이터를 정렬합니까? 어떻게 정리할 수 있니? 프로그래밍에서 매우 중요합니다 파이썬과 파이썬에서 몇 가지 훌륭한 방법을 제공합니다 이것을하기 위해 따라서 파이썬에는 시퀀스라고하는 것이 있습니다

시퀀스는 연속 컬렉션에 불과합니다 데이터 유형 서로 다른 작업을 허용하는 데이터 인덱싱 또는 조각화, 또는 다른 어떤 것이 든, 당신이 보게 될 것입니다 시퀀스에 대해 생각해 보겠습니다

실생활에서, 일련의 자전거들처럼, 옆에 서있는 자전거 한 줄과 같은 사무실 또는 교통 신호등에 서있는 자전거 행 당신은 쇼룸에서 그 생각을해야합니다 시퀀스로 시퀀스 작업을 살펴 ​​보겠습니다 가장 일반적인 시퀀스 연산은 연결, 반복, 회원 테스트, 슬라이싱 및 색인 생성

연결을 살펴 봅시다 연결은 두 가지를 함께 붙이는 것입니다 4 개의 자전거가 여기 있습니다 여기 다른 자전거들 연결은 시퀀스를 함께 결합합니다

새 시퀀스를 만듭니다 시퀀스 반복은 기본적으로 시퀀스를 취합니다 그것을 숫자로 곱하는 것 그래서 생성, 중복, 시퀀스 두 번 번호입니다 항목이 있거나 3 ~ 4 개가 될 수 있으며 그런 수의 항목을 만드십시오

다음은 회원 테스트입니다 이것이 의미하는 바는, 특정 자전거의 유형은 자전거의이 소장품의 회원이든 아니든, 이 권리의 회원이 아니라는 의미에서 이 특정 이미지 나 자전거 스타일을 찾을 수 없습니다 여기는하지만이 사람은 회원입니다 여기저기서 좋아 따라서이 멤버는 두 번 발생합니다

이 일련의 자전거들 그런 다음 시퀀스 인덱싱 개념이 있습니다 여기서 항목은 인덱스가 0 인 곳이며, 여기서 참조됩니다 색인으로 제로 항목에 0 이것은 첫 번째, 두 번째, 세 번째, 넷째, 다섯째 등등

1, 2, 3, 4와 같이 색인이 생성되지 않습니다 드물게, 나는 생각하지 않는다, 나는 프로그래밍 언어를 안다 하나의 색인입니다 대부분의 프로그래밍 언어는 인덱스 기반으로 작동합니다 슬라이싱은 기본적으로 일부분을 취합니다

헤이, 나는 색인을 1에서 4까지 원한다고 말하고있다 하나, 둘, 셋, 넷입니다 그래서 저는 이것을 시작으로 슬라이스하고 싶습니다 이 하나까지 올라가지만, 마지막 하나는 포함하지 마십시오 이것은 4 개를 포함하지 않습니다

이것은 하나, 둘, 셋입니다 그래서 4는 하나, 3, 하나부터 시작합니다 하나는 포함되어 있고, 네 개는 포함되어 있지 않습니다 마지막 하나는 포함되지 않습니다 마지막 하나는 포함되지 않습니다

슬라이싱 할 때 포함됩니다 슬라이스는 기본적으로 더 적은 부분을 차지합니다 과일 한 조각을 자르는 것과 같이 생각하십시오 또는 사과의 당신은이 물건을 잘라내는데, 이것은 이것과 같습니다

몇 가지 코드 예제를 살펴 보겠습니다 첫 번째 것은 정말 간단합니다 당신은 목록을 가진 목록을 가지고 있습니다, 가정 해 봅시다, 프로그래밍 언어, Hadoop, Python, Android 목록의 첫 번째 항목을 인쇄 할 수 있습니다 0에서 2로 슬라이스 할 수 있습니다

안드로이드가 아닌 Hadoop과 Python 만 포함하면됩니다 아니면 빼기 목록을 만들 수 있습니다 그럼 이걸 시험해 봅시다 그래서 Hadoop과 Python이 필요했습니다 하나는 Hadoop이 아닌 Python을 인쇄 한 후 음수 인 한을 인쇄합니다

기본적으로 목록의 마지막 요소를 사용합니다 네거티브는 반대로, 나는 또한 네거티브를 할 수있다 나는 또한 부정적인 세 가지 일을 할 수 있습니다 그것을 보자 우리는 항상 이것을 할 수 있으며 각도 데이터 과학에 반응 할 수 있습니다

우리는 여기서 출력을 볼 수 있습니다 보세요, 우리는 연결리스트를 얻었습니다 반응, 각도, 데이터 과학, 오른쪽 나열 이것은 그것에 추가되었습니다 목록이나 파티션도 할 수 있습니다

이 부분을 주석으로 처리하고 대신 print (list)와 같이 사용합니다 그래서 나는 단지 내가 원하는 곳에 다른 예제를 사용할 것이다 2 대신에 3을 곱하십시오 보시다시피, 지금 이것은 같은 세 번 나타납니다 이것은 한때 Hadoop, Python 및 Android로 나타났습니다

이제 Hadoop, Python, Android, 다시 Hadoop, Python, Android 회원 테스트를 통해 진실하거나 틀린 대답을 얻을 수 있습니다 그래서 나는 Hadoop list를 할 수 있고 목록에 각도를 매길 수있다 여러분 중 일부는 우리가 해냈다는 것을 기억할 것입니다 마지막 수업

대답은 true 또는 false입니다 이미 색인 생성 및 분할 작업을 수행했습니다 이제 파이썬에서 시퀀스의 유형을 살펴 보겠습니다 목록, 튜플, 문자열, 세트가 있습니다 파이썬에서 사용할 수있는 사전

이것들을 하나씩 살펴 보겠습니다 목록은 파이썬에서 사용할 수있는 가장 다양한 데이터 유형입니다 기본적으로 쉼표로 구분 된 값입니다 대괄호 안에 목록에서 수행 할 수있는 작업 중 일부는 당신은 목록 요소를 업데이트 할 수 있습니다, 당신은 길이를 얻을 수 있습니다 목록의 목록을 연결하면됩니다 당신은 그것을 조각 수 있습니다, 당신은 목록에서 한계를 삭제할 수 있습니다, 목록에서 한도를 반복 할 수 있습니다

그것은 그것을 곱하는 것입니다 언제리스트를 사용하고 싶습니까? 필요하지 않은 데이터 모음이있는 경우 무작위 접근 따라서 무작위 액세스가 의미하는 것은 액세스하려는 것입니다 순차적으로 너가 무작위 접근에 대해서 말하는 경우에 감에서

네가 네 번째리스트, 세 번째리스트, 당신은 정말로 이것이 무엇을 의미하는지 알지 못합니다 당신은 그 목록을 알고 있습니다 이것이 의미하는 바가 무엇인지 알 수 없습니다 코드를 작성할 때 그리고 알지 못 할 때까지 목록의 두 번째 요소가 무엇인지, 당신은 정말로 정확히 무엇이 될 것인지를 정말로 알지 못합니다 당신은 코스 중 하나가 될 것입니다 알 수 있습니다, 그러나 어느 코스, 또는 코스 이름인지 여부 또는 과정 가격, 당신은 그것을 모릅니다

목록은 순차적으로 액세스하려는 경우 유용합니다 그것을 처리하십시오 물론 당신이 할 수있는 가치들을 다루어야 할 때 변경되었으므로 기억할 수 있듯이 튜플은 변경할 수 없습니다 목록은 변경할 수 있습니다 따라서 항목을 변경하려고 할 때 목록이 도움이 될 것입니다

이것은 제가 여러분에게 보여준 것입니다 목록을 색인 할 수 있고, 목록을 조각 낼 수 있습니다 그런 다음 액세스하고 역방향으로 액세스 할 수 있습니다 목록을 업데이트하는 것에 대해 이야기 해 봅시다 파이썬 대신 자바를 설치하려고한다고 가정 해 봅시다

첫 번째 요소로 이것이 내가 어떻게 할 것인가 그냥 꺼내는 것만 큼 간단합니다 그것을 새로운 값으로 할당 이걸 실행 해 봅시다 이제 우리는 업데이트 된 목록을 갖게되었습니다

하둡, 자바, 안드로이드는 Hadoop, Python, Android 요소를 삭제하려면 무엇을 할 것인가? 파이썬의 키워드는 del입니다 그것은 반전 함수입니다 델에게 전화하면 목록에있는 항목을 전달합니다 당신이 읽고 싶어하는 것

그러나 우리가 색인을 전달하지 않고 있음을 주목하십시오 우리는 그 자체로 전체 항목을 전달하고 있습니다 delete가 내부적으로 작동하는 방식으로 보이게됩니다 그 항목에 대한 다음 들어가서 그것을 삭제합니다 그래서 우리는 이것을 제거했습니다

팝을 보자 팝은 무엇을 하는가? 이런 종류의 목록이 있다면 그것은 네 가지를 제공합니다 대중 음악이하는 일은 그 음악에 접근하는 것입니다 요소를 찾아서 돌려줍니다 목록을 발견하면 기본적으로 요소가 제거됩니다

팝은 이것을하는 것과 같지 않다고 생각하지 마십시오 헤이, 당신이 말할 수 있기 때문에 그것은 그렇게 보일지도 모른다 지출 네 가지 권리 야, 그런데 내가 왜 이렇게 할 수 없습니까? 그러나 결국 pop은 요소를 제거합니다 목록에서 모두 함께 시퀀스에서 빠져 나오기

제거는 요소를 완전히 제거하고 반환하지 않습니다 이것은 listremove라고하는 것입니다 그리고 만약 listremove 3 대신에 가정 해 봅시다

나는 이것을하고 출력을 보자 이것은 아무 것도 반환하지 않으며 단지 제거 만합니다 pop과 remove에는 차이가 있습니다 제발 혼란스러워하지 마세요 Pop은 실제로 제거한 아이템을줍니다

당신이 그것을 사용할 수 있도록 해당 항목을 다 끝냈을 때 제거가 다소 사용됩니다 그리고 당신이 목록에 그것을 원하지 않을 때 팝은 쇼룸에 가서 자전거를 타는 것과 같습니다 기본적으로 제거는 반면 자전거의 컬렉션에서 자전거를 모으는 상자를 가져 가라

그리고 그것을 파괴하는 것뿐입니다 차이점이 있습니다 list에 type 함수를 사용할 수도 있습니다 그냥 목록 유형이라고 반환합니다 그러면 우리가 여기있는 것은 매우 흥미로운 것입니다

그것은 목록 이해라고 불립니다 여기에 주어진 예제를 보겠습니다 이것은 파이썬이 이야기하거나 잘 알고있는 것 중 하나입니다 파이썬 사용자 사이의 기능 기본적으로이 작업을 수행하여 목록을 만들 수 있습니다

print 명령문을 잠시 잊어 버리면됩니다 이것이하는 일은 여기에서 읽기 시작해야합니다 [1,2,3,4,5]의 x에 대해서 문법이 좀 이상하게 보입니다 우선 무엇보다도 대괄호 안에 있어야합니다

그래서 잠시 후에 이것을 제거합시다 그런 다음 대괄호 이미 목록이지만 아무 것도 없습니다 우리가 보았던 것, 내가 어떻게이 글을 쓰기 시작 했을까? 표현은 [1,2,3,4,5]에서 x에 대해 말했을 것입니다 어떤 것이 맞습니까? 제 말은, [1,2,3,4,5]에서 x를 쓰는 것과 같습니다

그것은 그런 종류입니다 나는 콜론을 여기에서 끝냈다 그런 다음 모든 X, 이것은 힘 2에 지수 적이다 이제 나는 이와 같은 일을 할 수도있었습니다 그러니 목록에 남겨 둬

좋아, 나도 이걸 할 수 있었어 그러나 이것은 이것과 동일합니다 29 번과 31 번에서 33 번까지는 똑같이 줄 것입니다 이것은 약간 씁니다 이 목록과 파이썬 개발자 목록에 전화하십시오

그것을 사용하여 사랑 비교할 때 한 줄에 있기 때문에 3 줄의 코드로 좋아, 우리는 이미 덧붙였다 목록의 끝에 항목을 추가합니다 Extend는 다른 목록과 함께 사용되므로 여기서 볼 수 있습니다 이 모든 항목을 추가하여이 목록을 올바르게 확장하십시오

목록의 끝에 그래서 예제를 보여 드리겠습니다 내가 이걸 가지고 여기에이 목록이 있다면 그리고 나서 이걸 1, 2, 3, G, H와 함께 실행합니다 추가는 단일 요소에 대한 것입니다 확장은 두 개의 목록이있는 경우입니다

너는 그들을 함께 가입시키고 싶어 이것은 연결입니다 이름에서 알 수 있듯이 삽입하면 하나의 항목이 삽입됩니다 목록의 특정 위치에서 말이죠 그래서 삽입했습니다

당신이 직접해야만한다면, 상상할 수 있습니다 그것은 가능하지만, 매우 귀찮은 일이었을 것입니다 그래서 그것은 색인을 취할 것이고, 그것은 말할 것이다 이 인덱스에서이 값을 원합니다 하나 인이 색인에서이 값을 원합니다

그러니 내가 너에게 해줄거야 왜냐하면 당신이 이것을 대신해서했기 때문에, 여기 대신 두 개를 겹쳐 썼을 것입니다 하지만 insert는 그 중 하나를 삭제하는 대신 삽입 할 것입니다 기존 요소를 덮어 씁니다 당신은 이미 제거를 보았습니다, 목록에서 해당 요소를 제거합니다

그래서 또 다른 inbuilt 함수가 있습니다 소위라고합니다 그것은 목록을 받아 당신을 위해 그것을 정렬합니다 그것을 시도하자 그것은 자동으로 그것을 정렬합니다 알파벳 순서

그래, 원래 목록을보고 보면 이 하나에, 이것은 지금 분류됩니다 또 다른 한 가지는 목록을 뒤집고 싶다면, 어떤 이유로 인쇄하고 싶다고 가정 해 봅시다 역순으로 당신은 그것을 정렬했습니다, 당신은 대부분의 이유로 그것을 정렬하기를 원합니다 그런 다음 이름을 인쇄하거나 가정 해 봅시다

애플리케이션에 사용자가있는 기능이 있습니다 A에서 Z, Z에서 A로 갈 수 있습니다 목록 4의 코스와 구문은 콜론 콜론입니다 그리고 부정적인 것 과정을 인쇄하십시오

그래서 당신이 이것을 보면, 이것은 목록을 인쇄했습니다 여기서부터 역순으로 그러나 원래 목록은 여전히 ​​동일합니다 그것은 반전을 사용할 수있는 깔끔한 작은 트릭입니다 리스트를 실제로 반전시키지 않고리스트의 순서, 그것은 많은 의미가 있습니다

같은 것을 복사 한 후에 왜 복사본을 만드는 것입니까? 따라서 목록을 역순으로 사용할 수 있습니다 자, 또 다른 흥미로운 점은 당신이 가질 수 있다는 것입니다 목록 자체에는 사전이 포함될 수 있으며, 튜플, 다른리스트 그것은 단지 계속 작동 할 수 있습니다 그것을 계속 묶어 둘 수 있습니다

그래서 여기를 보시면 튜플을 선택하고 있습니다 먼저 튜플에서 슬라이싱을하고 있습니다 그래서 당신이하고 싶은 것이 무엇이든, 이것을 함께 연결할 수 있습니다 튜플은 더 많은 튜플을 포함 할 수 있습니다 금액에 제한이 없습니다

당신이 중첩 할 수 있습니다 그것은 당신의 요구에 달려 있습니다 괜찮다고 생각하면이 튜플에 더 많은 내용이 포함됩니다 튜플, 대괄호를 계속 추가 할 수 있습니다 하나가되고 나면 작동합니다

그래서 이것은보다 시각적 인 표현입니다 0 요소, 첫 번째 요소, 0, 1, 2, 이것은 제로를 가진다 이제 그 아래에 더 많은 것을 추가 할 수 있습니다 그것은 반복적으로 계속해서 계속할 수 있습니다 이제 문제는 그것이 튜플 (tuple) 튜플을 수정할 수 있다는 뜻입니다

그것이 목록 안에 있더라도 따라서 변경할 수있는 항목이 mutable sequence 안에 있다면 갑자기 mutable이 될 수 있습니다 튜플을 살펴 봅시다 그래서 튜플은 불변의 파이썬 객체의 연속이다 튜플은 목록과 마찬가지로 시퀀스입니다

정규 브래킷 및 유사하게 시작 함 그들은 쉼표로 구분됩니다 그래서 튜플은 슬라이싱, 갱신, 튜플의 길이를 가진다 반복, 삭제, 연결 이러한 모든 것들이 조작으로 사용 가능합니다

터플에서도 튜플은 목록보다 다소 빠릅니다 튜플을 사용하려는 영역 중 하나에서 그리고 튜플을 사용할 수도 있습니다 당신은 변화 될 수없는 가치들을 다뤄야 만합니다 지난 번에 얘기 한 것처럼, 불변의 과학적 내용, 당신이하지 않는 것들 변경하고 싶다면, pi의 값, 그것에 대해 당신의 기억을 새롭게하십시오

신청서에 일련의 국가 목록이있는 경우 너는 수정되기를 원하지 않는다 즉 튜플을 사용할 때입니다 따라서 기본적으로 값의 상수 집합이있는 경우 당신이 그들을 반복하고 싶다면, 즉 튜플을 사용할 때입니다 내가 준비한 파일을 열자 이것을 실행하고 결과를 보겠습니다

이제 길이가 3, 맞습니다 최대는 Python입니다 그래서 그것이 최대를 선택하는 방법은 시작하는 것입니다 편지의 그것은 오름차순이고 다음 최소값이 있습니다 그것은 Hadoop입니다

3 개의 다른 값이 있으면 어떻게 될까요? 아니면 두 개 안에 뭐가 생길까요? 어디 보자 최소값과 최대 값은 어떻게됩니까? 민은 둘이 될 것이다 이것이 큰 숫자라면 어떻게 될까요? 따라서 체인은 항상 승리 할 것입니다 그래서 우리 하늘의 가치를보고있는 것입니다 최대를 결정

그래서 다시 정렬되고 뒤집는 것은 문자열과 똑같이 작동합니다 곱셈과 멤버쉽 검사는 다시 한번, 지금까지 본 것과 똑같이 당신은 반복을 할 수 있습니다, 당신은 회원 테스트를 할 수, 정확히 똑같아 물론 튜플을 업데이트 할 수는 없습니다 그 말을 던지면 오류가 발생합니다

그래서 이것은 전혀 작동하지 않을 것입니다 튜플 3이 이미 정의 된 경우, 물론 터플 인 경우 세 가지가 정의되지 않으면 두 가지를 함께 추가 할 수 있습니다 물론 이것은 튜플이 에러를 던질 것이기 때문에 여기에 정의되어 있지 않습니다 정의되지 않은 변수는 삭제할 수 없습니다 이것은 우리가 지난 장에서 다룬 내용입니다

우리는 목록의 몇 가지 예제를 살펴 보았습니다 튜플이없는 경우에는 변경 가능합니다 자, 목록에 튜플을 포함 할 수있는 것을 보았습니다 튜플에는리스트도 포함될 수 있습니다 두 가지 방법을 모두 절단 한 다음 물론 함께 연결할 수 있습니다

따라서 Excel의 목록에는 여러 목록이 포함될 수 있습니다 다시 같은 시각화, 0, 1, 2, 0, 1, 2가 있습니다 하나 안에 모든 요소가 있습니다 목록은 더 이상 확장 할 수 있으며 계속해서 진행할 수 있습니다 그리고 그런 식으로

그러니 이것에 대해 혼동하지 마십시오 실제로 여기에서 목록을 업데이트하고 있습니다 튜플을 업데이트하지 않습니다 터플 갱신은 당신이 0에서 그것을하고 있음을 의미합니다 그래서 예를 통해 보여 드리겠습니다

여기에 튜플이 있다고 가정 해 봅시다 0, 1, 2, 하나 둘 셋 그리고 4, 5, 6 내가 이걸하려고하면, 이걸 내버려둬 이것은 작동하지 않습니다 그러나이 작업을 시도하면 작동합니다

이 일에 대해 혼동하지 마라 내가 한 일, 이 일은이 특정한 요소에서 이루어졌습니다 그것은 변경할 수 있습니다 이것은 변경할 수 없습니다 이것은 변경 가능합니다

이것은 기본적으로 튜플 요소입니다 내가 지금 선택한 것 이제 이것은 튜플 요소입니다 튜플 요소 자체는 변경 될 수 없지만, 그러나 튜플 요소 안에있는 것은 변경 가능하다 그 자체로 변경 될 수 있습니다

따라서 튜플을 목록으로 변환 할 수도 있습니다 list 키워드 또는 tuple 키워드를 사용합니다 방금 튜플이나리스트를 전달하면됩니다 그리고 그것은 그것을 변환하고 그것을 당신에게 돌려 줄 것입니다 그래서 내가 튜플에서 말할 수있는 곳에서 이것을 할 수있다

튜플 아이템을 출력한다 및 항목을 인쇄하십시오 그 차이점에 주목 하시겠습니까? 다만 괄호의 그것, 그러나 당연히, 이것은 사람, 하나는 불변이고 다른 하나는 주위에있다 나는 물론 항상 이것을 할 수있다 나는 이것을 할 수 있고 그것을 실행할 수있다

이제이 모든 것이 목록입니다 따라서 이러한 전환 수를 파악하는 것이 도움이됩니다 가능하면 필요하지 않습니다 다음으로 문자열을 살펴 보겠습니다 문자열을 보면서 다음과 같이 문자열을 만들 수 있습니다

그것들을 작은 따옴표, 큰 따옴표, 또는 심지어 삼중 따옴표 문자열에서 사용할 수있는 연산은 다시, 슬라이싱, 업데이트, 연결, 반복, 멤버십을 수행 한 다음 문자열을 뒤집습니다 나는 문자열을 알고, 상상을하기가 조금 어렵다 시퀀스와 같은 문자열이지만 실제로 생각할 필요가 있습니다 꽤 튜플과 같아요, 그들은 개별 요소입니다

업데이트 할 수 없습니다 터플처럼 어딘가에서 문자열을 생각해보기 시작합니다 물론 차이점은 회원들 문자열의 수는 목록이 될 수 없습니다 따라서 다른 목록을 포함 할 수 없거나 포함 할 수 없습니다 또 다른 튜플, 자연스럽게, 모든 영숫자를 포함 할 수 있습니다

당신은 그것을 튜플처럼 생각할 필요가 있습니다 개별 요소 각각은 변경 가능하지 않습니다 물론 문자열은 파이썬에서 가장 많이 사용되는 유형입니다 싱글, 더블 또는 트리플 따옴표 문자열에 대한 몇 가지 작업을 시도해 봅시다

그래서 당신은 문자열을 가지고 있습니다, 당신은 문자열에 길이가 있습니다 너는 1, 2, 3, 이것이 회원 확인입니다 이걸 실행 해 봅시다 좋아요 그래서 문자열 하나가 인쇄됩니다

문자열 2, 문자열 3, 꽤 표준적인 물건 여기 문자열의 길이는 6입니다 문자열 하나, 둘, 셋은 y, t입니다 하나, 둘, 셋째까지 올라 가지 않습니다 문자열의 T가 참입니다

문자열에 Z가 있으면 거짓입니다 추가 개별 문자를 확인할 수 있습니다 지금 당신이주의하는 경우에,이 행동 그래, 나는 당연히 의미한다 이제 그것은 마치 시퀀스처럼 보입니다 터플처럼 보입니다 나는 이것을 할 수있다

내가 너를 줄 경우, 내가 이것을한다고 가정 해 보자 나는이 문자열을이 문자열로 바꿉니다 결과가 무엇인지 보자 물론이 것은 표현되지 않을 것입니다 문자열처럼

길이는 동일합니다 그래,하지만 여기 표현은 슬라이싱 표현은 다소 다르다 원칙적으로 비슷합니다 유사하게 사용할 수 있습니다 옷 유사점과 비슷하지만 유사하지는 않습니다

왜냐하면 그것이 오른쪽으로 쪼개 질 때, 그것은 당신에게 y, t, 그리고저기서 다시는 튜플 인 것을 얻고있었습니다 그 대가로 슬라이스로도 다음은 Python의 place holder입니다 이제 이들은 매우 강력합니다 그들이 당신에게 허락하는 것은, 그들이 빈칸을 채우는 것처럼 생각하십시오

이것은 비어있는 것과 같고 그것을 채우고 있습니다 바깥쪽에 끈이있다 지금 이것은 이것을하는 더 좋은 방법입니다 변수가있는 곳 이제이 대안은 무엇입니까? 이에 대한 대안은 코스 명을 환영하는 것입니다

지금 이것은 지저분 해, 나는 왜 너에게 말할 것이다 이 글을 써야한다면, 그 중간에 여기에 공간이있어, 나는 그 시대를 돌봐야 해 문장을 끝내려면 다른 공간을 주어야합니다 그것은 아주 가독하지 않습니다

만약 내가 여기서 똑같은 일을한다면, 나는 이것을 할 것이다 더 읽기 쉽습니다 그것을 직접 비교하십시오 이제 인쇄 할 내용을 알았습니다 여기가 더 도움이되는 곳 아래에 있습니다

다른 데이터 유형이있는 경우입니다 왜냐하면 당신이 이것을 사용하지 않고 그것을해야한다면, 그것을 끝내는 유일한 길, 당신은 그것을 변환하기 위해 문자열을 사용해야한다 그렇지 않으면 이것이 추가되지 않기 때문입니다 파이썬은 문자열과 숫자를 추가하지 않습니다 문자열과 숫자를 연결할 수 없습니다

두 개의 숫자를 더할 수 있고 두 개의 문자열을 연결할 수 있습니다 이것은 다시, 매우 혼란 스럽습니다 이것과 이것을 비교하십시오 개발자로서 당신에게 더 읽기 쉬운 것은 무엇입니까? 중요한 점은 꽤 중요합니다 출력은 동일하지만 차이점이 있습니다

이것은 더 읽기 쉽습니다 공백을 채우는 것과 같이 생각하십시오 이것들이 값입니다 이제이 방법을 사용하면 % s, % i, 그리고 그들은 꽤 철저합니다 따라서 % c는 임의의 문자입니다

% i는 부호가있는 십진 정수이고 목록은 계속됩니다 물론 십진수 % f가 있습니다 나는 당신이 가서 탐험을 제안합니다, 하지만 대부분의 경우 % s, % d 또는 % f를 사용하게됩니다 이제는 내장 된 문자열 메서드가 있습니다 하나는 대문자로, 물론 소리처럼, 그것은 문자열의 첫 글자를 대문자로 할 것이고, 다른 것들은 아닙니다

그런 다음 stringcount가 있습니다 시퀀스를 고려합니다 당신이 그것에주는 편지 또는 단 하나 편지의, 문자열에서 발생하는 횟수를 세기 시작합니다 다음은 인코딩입니다

인코딩은 기본적으로 그것을 넣는 과정입니다 특정 형식으로 다른 컴퓨터 그것을 지원할 수 있습니다 지금 가장 인기있는 코딩은 utf-8입니다 당신이 그것에 대해 모른다면, 계속해서 탐험 해보세요 물론 코스의 범위 내에 있지는 않습니다

그러나 그것이 다른 컴퓨터가 전 세계에 걸쳐 문자를 나타냅니다 왜냐하면 만약 당신이 영어 밖에서 보면, 당신은 유럽 언어를 보았을 때, 당신은 악센트를 가지고 있습니다 모든 종류의 인도 언어를 살펴보십시오 문자의 오른쪽, 그게 어떻게 다른 컴퓨터입니까? 전세계에 앉아서 전송할 수 있습니다 그것은 정확하게 표현할 수있다

화면에 제대로 나타 납니까? 아니면 한자? 그것은 utf-8을 통해서입니다 그래서 당신이 무언가를 타이핑 할 때마다, 인터넷을 통해 전송할 때, 그것은 인코딩되고 해독됩니다 엔코 드는 전부입니다 최대 값과 최소값은 기본적으로 ASCII 값에 따라 작동합니다 그래서 여기에서 맥스는 당신에게 U의 가치를 줄 것입니다

가장 높은 ASCII 값이고 min은 당신에게 줄 것이다 edureka에서 가장 낮은 A 값 교체가 무엇을합니까? 바꾸기는 특정 문자를 검색하고 주어진 대체물을 가진 모든 사건 두 번째 매개 변수로 이것은 첫 번째 것이고 두 번째 것입니다 이것은 대체해야하는 횟수입니다

출력을 알아 채면 두 번째 e를 대체하지 못합니다 그것은 단지 첫 번째 것을 대체했습니다 Strupper는 모든 문자를 대문자로 사용합니다 따라서 자본화는 첫 번째 자본화를 자본화하는 것입니다

그러나 어퍼는 그들 모두를 이용합니다 다음은 인덱스이며, 이제 find와 동일하지만 예외가 있습니다 인덱스가 발견되지 않는 경우 그러면 문자 k의 색인을 찾을 수 있습니다 전체 시퀀스에서

목록이나 튜플에서 검색 작업과 비슷합니다 당신이 어디에 위치를 찾으려고하는지 특정 요소 또는 특정 항목의 순서대로 그래서 당신이 k, 0, 1, 2, 3, 4, 5, k를 보았을 때 그것이 k가 edureka에서 발생하는 곳입니다 더 많은 문자열 메소드, 물론 역전의 경우, 너는 벌써 이것을했다

이제 find는 string과 유사하지만 찾지 못하면 아무것도 당신에게 오류를주지 않을 것입니다 보자 네가 부정적인 것을 준다 아무것도 찾지 못했습니다 반면에 색인이되는 다른 사람이하는 일은, 그것은 발견되지 않은 오류를 던질 것입니다

그래서 인덱스는 기본적으로 당신이, 개발자 또는 논리에있는 사람은 누구나, 이미 존재하는지 여부를 확인했습니다 그것은 당신을 검사하는 데 도움이되지 않습니다 그래서 find는 그것이 존재하는지 아닌지를 결정하는데 도움을줍니다 그리고 존재한다면, 어디에서 색인은 당신에게 어디로 말할 것입니다

그것은 가지 않을 것입니다, 그것은 오류를 던질 것입니다 그것이 존재하지 않는다면 문자열 연결, 이것은 당신이 가지고있는 것입니다 이미 본 및 문자열 하나 시작 두, 그냥 곱하면 될거야 행복한 학습, 행복한 학습 네가 보았다면, 이것을 주목해라

곱 해져 문자열을 출력합니다 그것은 두 번 이상 문자열을 제공합니다 다음은 세트입니다 세트는 기본적으로 고유 항목의 정렬되지 않은 컬렉션입니다 항목은 고유해야합니다

세트는 분리 된 값으로 정의됩니다 괄호 안의 쉼표로 inbuilt 함수를 호출하여 집합을 만들 수도 있습니다 우리가 목록과 튜플을 어떻게 보았는지 꽤 비슷합니다 빨리 실행하고 우리가 얻을 수있는 것을보십시오

우리가 여기에있는 세트를 보았다면, 다양한 값을 포함합니다 자동으로 주문되었습니다 그래서 질문은 언제 세트를 사용할 것입니까? 대답은 고유 한 문자열을 수집하려는 경우 또는 시퀀스의 정수 값, 그것은 그럴 때입니다 반복하지 않기 때문입니다 여기에서 알아 차리면 아무 것도 반복하지 않습니다

요소가 여러 번 나왔지만, 우리는 작은 전자와 자본 e를 볼뿐입니다 따라서 여러 개의 중복이있는 경우, 그것은 당신에게 독특한 것들을 줄 것입니다 한 가지 예가 대학 관리가 정보를 느끼는 동안 학생들은 동일한 암호와 ID를 입력하고 있습니다 이제 세트는 고유 한 요소를 지원하며 변환 할 수 있습니다 ID와 비밀번호 목록을 세트로 가져와 그것들이 수집하기 때문에 유일한 것들 독특한 것들과 중복 된 것들을 확인하십시오

데이터베이스에 입력되지 않습니다 이제 세트에서 사용할 수있는 다양한 작업이 있습니다 그 중 하나가 노동 조합 운영입니다 이 파이프 연산자를 사용하는 한 가지 방법입니다 키보드에서 사용할 수 있습니다

다른 키보드의 다른 위치에서 사용할 수 있습니다 하지만 일반적으로 백 슬래시 키에서 사용할 수 있습니다 당신은 선별기와 함께 그것을 사용해야합니다 자, 당신이 이런 종류의 세트를 가지고 있다면 그것은 하나, 둘, 3, 4, 그리고 다른 세트는 3, 4, 5, 6, 당신은 노동 조합 B를 인쇄하면, 두 노동 조합을 얻을 수 있습니다 그러나 다시, 중복은 없습니다

중복없이 두 사람을 하나로 합칠 것입니다 예제를보십시오 그래서 그것들을 하나로 묶었습니다 마찬가지로 A와 B가 있습니다 그것은 교차점입니다

두 사람 사이에 공통점이 있습니다 이 둘 사이에는 3과 4가 공통입니다 그것이 당신에게주는 것입니다 일반적인 것들입니다 셋, 넷

그것은 교차로이기 때문에 상상할 수도 있습니다 벤 다이어그램을 좋아합니다 일반적인 교차점입니다 둘 사이 그런 다음 차이점도 있는데, A가 B입니다

A, B 내부의 값을 가져서는 안됩니다 그래서 이것을 시도해 봅시다 대답이 무엇인지 생각해보십시오 내가 그것을 실행하자 따라서 마이너스 B는 1, 2, 3, 4, 5, 6, 7, 8

이것은 B 다 교차점은 B 다 A를 이렇게 생각할 수도 있습니다 마이너스 B도 비슷합니다 둘 다 같을 것입니다

A와 B 사이의 일반적인 것들이 제거됩니다 보고있는 것과 매우 유사한 무언가 순서대로, 회원 테스트 확인할 수있는 부분 집합 확인을 할 수도 있습니다 세트가 다른 세트 내에있는 경우 B가 A를 가지고 있다고 상상할 필요가 있습니다

따라서 A는 B의 하위 집합입니다 그런 다음 회원 확인을 통해 반대가 아니라 안으로하십시오 슈퍼 세트를 할 수 있습니다 그래서 set과 super set을 사용하여 이것을 시도해 봅시다 집합 하나가 S의 부분 집합인지 아닌지 봅시다

대답은 사실이며, 하위 집합입니다 그러나 C 값을 추가하면 하위 집합이 아닙니다 하위 집합은 기본적으로 모든 요소가됩니다 세트 1의 모든 요소 내에서 하나의 세트가 발견됩니다 다음 검사는 S가 세트 1의 수퍼 세트라면, 거기에는 set one의 모든 요소가 포함되어 있습니다

뭐가 진실이지 이제 C로 표시하고 실행하면 S가 모든 원소를 포함하지 않기 때문에 거짓이다 세트 1의 그러나 C로 설정하고 실행하면, 이제 S 세트에 다음이 포함되어 있기 때문에 다시 사실입니다 세트 1에 포함 된 모든 요소

이제 append와 비슷하게 set에는 add라는 항목이 있습니다 여기서 요소를 추가 할 수 있습니다 자, 여기서 시도해보십시오 요소를 추가했으며 자동으로 요소를 주문했습니다 특정 인덱스를 제거하려는 경우 당신도 그렇게 할 수 있습니다

이것은 세트 S에서 하나를 제거하려고합니다 그런 다음 당신도 버리고, 다시 색인을 제공합니다 제거와 삭제의 차이점은 remove는 세트에서 요소를 제거합니다 삭제하면 삭제됩니다 이는 오류를 발생시키지 않는다는 것을 의미합니다

요소가 없거나 오류로 제거되는 경우 Pop은 listpop과 유사하게 작동합니다 요소와 그것을 다시 당신에게 줘 Sclear는 세트에서 모든 요소를 ​​제거합니다

이렇게하면 빈 집합이 만들어 질 수 있습니다 그래서 spop을 시도해 봅시다 당신이 지금 한 것은 pop입니다

따라서 기본적으로 요소 중 하나를 제거합니다 이 경우이 첫 번째 것입니다 그래서 당신도 인쇄물을 만들 수 있습니다 맞아 오늘은 그날을 없애고 세트는 하나, 둘, 셋, 나

다음은 사전입니다 깊이있게 살펴 보겠습니다 사전은 키 – 값 쌍의 정렬되지 않은 모음입니다 많은 양의 데이터가있는 경우 일반적으로 사용됩니다 기본적으로 혼합되어 있습니다

연속 값이 아닌 경우 배열에 저장하려고합니다 그것이 사람에 대한 세부 정보라면, 데이터 사람에 관해서는 다양한 형태를 취할 수 있습니다 그래서 당신의 얼굴 프로필을 생각하거나 자신의 얼굴을 생각하십시오 모든 소셜 미디어 프로필 당신은 당신의 이름, 성, 위치, 당신은 당신의 관심사를 가질 수 있습니다

그럼 당신은 매우 다양한 수소 및 다양한 데이터를 알 수 있습니다 당신은 당신의 나이를 가질 수 있습니다, 당신은 당신에게 생년을 보낼 수 있습니다, 당신은 당신의 직업, 당신이 속한 직업의 수, 심지어 당신의 현재 직업처럼 그래서 모든 것들, 그래서 당신이 사용하는 사전 여기서 실제 생활 상황을 나타내는 수소 데이터 또는 실제 생명체 사전은 언제 사용합니까? 그래서 한 가지 예를 들어 보겠습니다 당신이 원하는 어떤 종류의 데이터라도 원하는 곳에 배치 할 수 있습니다

이름, 아다 하르 카드 번호, 사회 보장 번호 이전에 만든 모든 Excel 시트, 그 종류의 헤더의 예 키이고 각 행은 값입니다 이름은 여러 값을 가지며 키는 이름입니다 그래서 당신이 묻는 질문은 이름이 무엇입니까? 10 번째 줄에있는이 특별한 사람의 10 번째 줄에있는 이름은 무엇입니까? 또는 10 번째 줄의 사회 보장 번호 그러면 대답은 사회 보장 번호입니다

입력 중 하나이며 그 것이 핵심입니다 행별로 갈 수 있지만 확인하기 위해 어떤 데이터가 어떤 시퀀스에 해당하는지 는 문자를 나타냅니다 그것은 헤더에 따라 다릅니다 그래서 그것은 데이터와 상황화로 가득 차 있을지 모른다 헤더를 통해 발생합니다

아주 간단합니다 사전을 만드는 방법입니다 1과 2가 주어 지므로 정수 값을 가질 수 있습니다 뿐만 아니라 일반적으로 문자열 값을가집니다 정수 값은 사용 된 값이기 때문에 목록에서도 마찬가지입니다

그래서 그것은 그렇게 많이 도움이되지 않습니다 사전의 요점은 바로 그것을위한 것입니다 읽을 수있는 의미 나는 사람 사전을 만들면, 나는 성, 말, 나이를 말할 것입니다 나는 도시와 그 다음 어떤 사전을 말할 것입니다 내가 할 수있는 건 열쇠로 요소에 접근하는거야

대괄호 안에 여러분이 알고있는 것보다 훨씬 더 읽기 쉬운 정수입니다 배열이라면 다음과 같이 할 수 있습니다 당신이 알고있는 것과 똑같은 것을 가정 해 봅시다 하지만이게 어때라고 생각해 봅시다 두 가지를 비교해 보겠습니다

56 행은 훨씬 더 읽기 쉽습니다 58, 59 행에 비해 개발자로서 두 사람이 실제로 어떤 의미인지는 알지 못합니다 나이에 상관없이 작동합니다 그것은 모든 종류의 문제를 일으킨다 따라서 어떤 데이터를 이해하는지 매우 중요합니다

이 튜플 세트를 사용하는 구조는 길을 가질 수 있습니다 그런 식으로 그런 의미에서와 마찬가지로, 벽에 못을 박고 바위를 사용할 수있다 하지만 다른 많은 것들을 사용할 수 있습니다 해머를 사용할 수는 있지만 스크류 드라이버를 사용할 수 있습니다

그러나 망치를 사용하고 있다면 본질적으로 망치 스크류 드라이버가하는 일을 할 수 없습니다 나사 드라이버는 망치처럼 할 수 없습니다 올바른 작업에 적합한 도구를 사용하면, 그것은 다른 종류의 서열이 존재하는 곳입니다 그들은 서로 다른 종류의 일을하기 때문에 어디에서 사용하고 있는지, 무엇을 사용하고 있는지 알려줍니다 업데이트는 매우 유사합니다

색인을 가져오고, 너는 단지 열쇠를 가져가 예를 들어 나이를 업데이트하면됩니다 내가 이것을한다고 가정 해 봅시다 이것이 효과가 있다는 것을 알게 될 것입니다 네, 이제 나이가 업데이트됩니다

그래서 그것은 가변적 인 데이터 구조입니다 del 키워드를 사용하여 다시 삭제할 수 있습니다 이것은 내가 del 키워드를 어디서 특정 삭제할 키 그래서 나는 이봐, 도시 열쇠를 지우라고, 나는 더 이상 그것을 필요로하지 않는다고 말할 것이다 사람을 인쇄하면 실행 해 보겠습니다

그게, 도시가 사라지고, 나는 그것을 삭제했습니다 내장 함수 중 일부, 사전의 길이, 기본적으로 키 수입니다 값과 반대되는 것에 의한 키의 수 String은 기본적으로 문자열 표현을 제공합니다 사전의 웹 개발을 할 때 특히 유용합니다

JSON 데이터 구조를 다루고 있습니다 Type은 Python의 워드 메쏘드에 있습니다 어떤 변수의 타입을 줄 것이다 그 문자열 또는 튜플 또는 목록의 경우 또는 집합 또는 사전,이 경우, 또는 정수 또는 십진수 또는 다른 어떤 것 주어진 클래스 객체는 단지 그것의 타입을 줄 것이다

한 가지가 있습니다 뭔가를 인쇄하려고하면 존재하지 않으므로 사람 도시를 삭제했다고 가정 해 보겠습니다 그리고 지금 나는 그것에 접근하려고 노력하고있다 오류가 발생한다고 가정 해보십시오 Python 키 오류에서 매우 일반적으로 말할 수 있습니다

여기서 문자열은 특히 여기에이 열쇠 존재하지 않습니다 너는 무엇에 접근하려고 노력하고 있니? 네가 무슨 말하는지 모르겠다 이제 오류가 오기를 원하지 않는 경우를 대비해서 이 경우에는 오류를 방지 할 수있는 방법이 아닙니다 하지만 더 안전한 접근 방법입니다 그래서 네가 얻을 때 어떻게 될지

null 또는 없음을 리턴합니다 당신은 여전히 ​​이것에 대한 수표를 줄 수 있습니다 당신 personget 도시, 당신이 살고 있는지 말할 수 있습니다 그리고 이것을 사용하면 사람이 도시를 얻습니다

그러나 문제는 그렇게 할 수 없다는 것입니다 이걸 확인하는 순간 때문에 그것은 던지고 오류가 발생합니다 그러나 이것은 단지 그것을 무시한 것입니다 다른 일을 할 수 있고, 인쇄하고, 도시를 찾을 수 없습니다 이 사람의 도시를 찾을 수 없습니다

자, 아주 유용한 방법이 있습니다 하나는 items입니다 사전에있는 모든 항목을 반환합니다 그래서 나는 사람을 구하고 싶다

항목과 다른 방법을 원한다면, 이 키는 모든 키를 반환합니다 사전에 그럼 이걸 실행 해 봅시다 personitems는 기본적으로 튜플 목록을 반환합니다

그 안에 키와 값이 있습니다 키는 키를 반환합니다 이것은 이름, 성 및 나이입니다 그것은 튜플 안에 존재합니다 그럼 물론, dict

copy를 만들 수 있습니다 사전의 복사본과 dictclear, 모든 요소를 ​​비 웁니다 복사는 기본적으로 항상 변수를 만들 수 있습니다 그러나 사본은 그것을하는 더 안전한 방법처럼, 다른 변수에 할당하는 것 외에는 깊은 사본을하기 때문에

여기서 주목해야 할 점은 때로는 사전과 함께하기 때문에 그 사전 파이썬에서는 오케이하지 않습니다 그래서 내가 단어를 만들면 당신은 확실히 예측할 수 없습니다 그것은 특정 순서대로 올 것이다 여기서 우리가 얻을 수있는 것을 보자 물론, 키를 반복 해, 값을 반복하지 않습니다

그러나 당신이 그것을 본다면 여기에는 질서가 없습니다 도시, 이름, 성, 나이입니다 이 작업을 수행 한 순서는 없습니다 그러나 당신이 그것을 순서대로하고 싶다면, 열쇠 순서대로 반복하고 싶었지만, 당신은 그것이 특정 순서를 따르길 원합니다 이것이 당신이하는 방법입니다

당신은 열쇠를 얻을 것이고, 당신은 그것을 분류 할 것입니다 그런 다음 반복 할 것입니다 그래서 이것은 당신이 사전에 가고 싶을 때입니다 분류 된 방식으로 사전에 사전을 값으로 포함 할 수 있습니다 튜플을 포함 할 수 있습니다

목록을 포함 할 수 있습니다 그저 계속해서 그렇게 할 수 있습니다 물론 당신이 그것에 접근 할 수있는 방법은, 대괄호 표기법으로 접근하여 계속 액세스하십시오 당신이 얻고 싶어하는 것을 얻을 때까지 (쾌적한 기악) 왜 우리는 기능이 필요합니까? 계산할 프로그램을 작성해야한다고 가정 해 봅시다

수치의 계승 즉, 네 번째 숫자가 주어진다면, 그러면 그것은 단지 4 가지 계승권을 계산합니다 3 개로 4 개로 1 개로 2 개로 그래서 당신은 계속해서 같은 숫자에 계속 곱합니다 번호가 하나가 아닌 한

4 – 1은 3, 3 – 1은 2, 2 빼기 하나 당신은 4 명을 1 명으로 2 명으로 3 명으로 만듭니다 그것은 4 계승입니다 이제 계승을 구현하는 논리가 여기에 주어집니다 방금 사용자로부터 번호를 입력했습니다

계산할 계승을 설정했습니다 숫자가 양수이면 반복해서 팩토리얼, 계속해서 여기에 곱하면 돼 이 특정 줄에 표시된 것처럼 그래서 범위 L에서 쉼표로 이동하고 숫자와 L을 더합니다 그리고 이것에 대해서 계속해서 계산 해 둡니다 그리고 다시

이제는 이런 식으로 생각하십시오 여러 장소를 계승해야한다고 가정 해 봅시다 귀하의 프로그램에서 1, 2, 3, 4의 계승을 계산하려고합니다 네, 다섯, 다른 숫자 같아

고정 된 숫자가 아닙니다 당신은 여러 곳에서해야만합니다 하나의 파일뿐만 아니라 10 개의 파일이 있습니다 당신은 무엇을해야합니까? 코드를 다시 복사 해 붙여야합니까? 당신은 그 일을 할 수 있지만 그 일은 불가능할 것입니다 가장 최적의 방법

개발자로서 당신은 코드 또는 논리를 작성하는 것입니다 당신의 직업은 같은 것을 계속해서 붙여 넣기하는 것이 아닙니다 내 말은 그게 점원의 일이라는거야 그래서 그걸 명심하십시오 그런 식으로, 당신이 이런 식으로 생각하기 시작하면, 왜 비슷한 종류의 사물이나 문장을 썼지? 또는 내 컴퓨터로 길을 몇 번이고 다시, 함께 결합 할 수 있는지 확인하십시오

기능이란 무엇입니까? 함수는 체계적이고 재사용 가능한 코드 블록입니다 앞에서 말했듯이,이 기능을 계속해서 사용해야합니다 그것이이 정의의 출처입니다 함수는 블록 또는 체계적이고 재사용 가능한 코드입니다 따라서 일반적으로 함수를 만들 때, 의도는 한 가지만하고 한 가지만 수행해야합니다

여기에서 볼 수 있듯이, 만약 당신이 상자에 팩토리얼을 구현하는 로직을 넣으십시오 이 상자를 입력에 사용하고 출력에 사용할 수 있습니다 우리가 수학에서했던 것처럼 그래서 y = x + 2, 여기서 y는 x의 함수입니다 그래서 비슷한 방식으로, 당신은 결과물을 얻습니다

이제 이것은 매우 강력한 아이디어입니다 내가 말했듯이, 당신이 쓰고 있다고 생각할 때마다 같은 종류의 코드가 여러 번 반복됩니다 너는 반복하고있어, 기능에 넣는다 함수 호출을 어떻게 정의합니까? 몇 가지 코드를 살펴 보겠습니다 그래서 함수를 정의하는 방법은 def 키입니다

함수 이름으로 쓰여있다 여기에 add라는 함수를 만들고 싶습니다 이제 다음은 매개 변수를 전달할 수 있다는 것입니다 이 함수는 입력 값입니다 따라서 A는 입력 값이고, B는 입력 값입니다

이 함수에서는 합계를 계산한다는 점이 무엇입니까? 물론 당신도 이것을 할 수있었습니다 A는 1, B는 2, A + B와 같은 말을했을 수도 있습니다 그게 전부입니다 그런데 왜 함수로 마무리할까요? 왜냐하면 네가 이렇게하면 다음에 가질거야 A의 값 또는 B의 값을 계산하기 위해, B의 새로운 값을 계산한다

다시 써야합니다 그래서 이것을이 함수 안에 넣는 것이 낫습니다 그런 다음 다른 값으로 호출 할 수 있습니다 당신이 필요로하는 것 이제 이것이 함수 정의입니다

마지막 진술은 서술문입니다 출력이 무엇이든 반환합니다 뭔가를 반환하도록 명시 적으로 요청해야합니다 또는 당신이 필요로하는 것이 무엇이든간에 그 자체로는 가정하지 않습니다

그 이유는, 당신이 다른 여기에 변수가 있습니다 자, 우리는 그 자체가 동일하다는 것을 모르는 경우 합계 또는 차이 명령어는 함수에서 많이 사용될 수 있기 때문입니다 그래서 당신은 당신이 말하고 싶은 것을 알지 못할 것입니다 그래서 당신은 그것에 대해 명시해야합니다

합계를 반환합니다 이제는 함수를 호출해야합니다 당신은 함수의 이름을 써야합니다 괄호 뒤에 입력 값을 입력하십시오 알다시피, 나는이 논리를 재사용하고있다

계속해서 또 다시 이걸 실행 해 봅시다 방금 본 것처럼 print add (1,3)를 입력하면됩니다 그런 다음 add (4,5)를 인쇄하십시오 방금 출력물을 출력하도록 요청했습니다

이걸 실행 해 봅시다 매개 변수없이 참조하십시오 다른 번호로 시도하겠습니다 출력을 다시 얻습니다 그래서 이것은 당신이 함수를 호출하는 방법입니다

이제 return 문을 사용해야하는 이유는 무엇입니까? 그래서 내가 그것에 대해 이야기하고있을 때, 함수의 실행을 종료합니다 또한 출력을 리턴합니다 그래서 다른 점은 당신이 컨트롤을 볼 때 함수의 코드는 어디에 있는가, 통역관은 어디 있습니까? 당신이 전화하는 방식으로 그것에 대해 생각할 필요가 있습니다 이 사진을 인쇄하십시오 컨트롤은 add 함수에 전달됩니다

add 함수를 사용하여 하나씩 실행하면, 하나씩 그런 다음 컨트롤을 줄 번호 7에 반환합니다 프로그램은 다음 줄로갑니다 그런 다음 다시 들어가서 다시 나옵니다 그러나 return 문을 사용하십시오

반환은 진짜로 같이 부르고, 그것에 대하여 생각하고있다, 너 어디서 누군가 돌려 줄거야? 단순히 가치를 되돌려주는 것이 아니라 돌아 오는 것입니다 함수의 주요 부분에 대한 제어, 7 행 이후에도 실행해야합니다 8 번에 가야합니다 그래서 main이라는 개념이 있습니다 두 개의 파일이 있다고 가정 해 봅시다

그들 중 하나는 onepy이고 다른 하나는 twopy입니다 이 기능이 있고 인쇄하고 있다고 가정 해 봅시다 out

py에서 함수를 최상위로 가져옵니다 그것은이 조건을 가지고 있습니다, 그것은 아주 이상한 것을 확인하고 있습니다 그러나 밑줄의 밑줄은 언더 스코어 밑줄을 강조하며, 이것은 파일에있는 보이지 않는 변수와 같습니다 좋아요, 보이지 않는 변수 일종의 파일 내에 있습니다, 이 변수의 값이 주된 것이면 인쇄해야합니다 그렇지 않으면 인쇄해야합니다

실행을 위해 이것을 가져 가자 그래서 당신이 볼 수 있듯이, 최상위 레벨은 onepy입니다 물론 이것은 인쇄됩니다 One

py를 실행하면 Onepy가 직접 실행됩니다 그래서 그 이름은 메인에 없었습니다 이제 두 가지를 보자 당신이하고있는 두 가지는 당신이 하나를 수입하고 있다는 것입니다

모듈로서 당신이 여기서하고있는 일은 당신이 인쇄하고 있다는 것입니다 twopy와 onepy의 최상위 레벨은 직접 실행됩니다

그래서 twopy는 무엇을 얻을 수 있는지 봅시다 twopy에서 최상위 수준입니다 그래서 우리가 두 개를 실행했을 때이 라인 번호 4 대신에, 우선 one

py execute에서 최상위 레벨을 얻습니다 이게 어때? 이는 파일을 다른 파일로 가져 오면 파이썬 파일, 존재하는 코드 내부에서 실행됩니다 만약 그 안에 하나의 파일이 있다면, 일단 가져 오면 실행될 것입니다 그게 꼭 필요한 것은 아니라는 것을 의미하지는 않습니다 그것에 어떤 종류의 문제가 발생합니다

이것이 일어나는 이유는 특정 변수 정의 될 필요가있다 특정 변수와 함수, 그들은 올 필요가있다 해당 파일이 컴퓨터의 메모리에 저장됩니다 선물 종류 나는 그런 것들을로드 할 수 있고 프로그램들 이 기능은 Python에서 사용하기 위해 포함되어 있습니다

사람들이 특정 채무 불이행을 선언 할 것입니다 그들은 어떤 일이 일어나기를 원할 것이다 파일을 가져 오는 경우 디자인이 존재한다는 것은 선택의 여지가 있습니다 파일을 가져 오면 결함이 아닙니다

실행될 것이므로 파일 가져 오기가 좋지 않습니다 그래서 파일이 실행됩니다 이제 이것은 실행되고 나서 이번에는 onepy를 가져 오는 동안 다른 모듈이 호출됩니다 글쎄, 일단 모듈을 실행하는 것이 아니라, 모듈을 호출하는 주 모듈에있을 수 있습니다

하지만 당신이 그것을 twopy에서 가져 왔기 때문에 주 모듈이 아닙니다 두 모듈은 twopy라고 부르며이를 호출합니다 이제 마지막으로 two

py에서 최상위 레벨을 인쇄합니다 우리는 함수 onefunction을 호출하고, py에서 함수를 호출하고 마지막으로 twopy가 그 twopy 직접 실행합니다

여기에있는 것과 같은 행동입니다 우리는 뭔가를 수입했다 따라서 실행중인 파일과 다른 파일 인쇄됩니다 따라서 onepy 파일이 명령문을 반환하면 이것만으로도 실행됩니다

그런 다음 twopy 파일이 실행되고, 먼저 onepy의 명령문이 실행됩니다 twopy에서 명령문을 실행하면됩니다

이런 식으로 생각하기보다는, onepy의 진술에는 다른 진술이 있습니다 에서 twopy 방법에 대해 생각해보십시오

입력 순서는 무엇입니까? 성명서에? 그런 다음 맨 위에 놓은 다음 파일을 잡고, 그런 다음 처음으로 가져 오는 줄의 나머지 부분, 중간에 몇 개가 있고, 몇개의 초기 값은 twopy에서 끝납니다 그 다음에 다른 파일의 행을 입력하십시오 따라서 가져 오기가 발생할 때마다 비슷합니다 코드의 어느 위치에 있는지 가져 오기가 일어난다

다음은 내장 함수 중 일부를 살펴 보겠습니다 그래서 내장 함수는 여러분에게 주어진 함수입니다 파이썬에 의해 즉시 이들은 단지 몇 가지 일반적인 유틸리티 또는 기능입니다 어떤 종류의 프로그래밍이든 상관없이 사용할 것입니다 당신이 속한 언어

거의 모든 프로그래밍 언어가이를 제공합니다 파이썬도 그렇습니다 그래서 내장 함수는 내장 함수입니다 이미 사용 가능한 파이썬에 접근하여 액세스 할 수 있습니다 모든 사용자가 이제이 기능을 곧 사용할 수 있습니다

당신이 파이썬을 처음로드 할 때 예를 들어 print 문을 보았습니다 사실, 인쇄 기능도 내장되어 있습니다 인쇄를 인코딩하거나 다른 것을 시작할 필요가 없었습니다 곧 네가 사용할 수 있었어

파이썬을 설치할 때 일반적인 내장 함수 중 일부는 여기에 제공됩니다 정렬 된, 절대적인, 모두 우리는 지금 이것을 하나씩 살펴볼 것입니다 따라서 정렬에 대해 말하면 새로운 정렬 목록을 반환합니다

반복 가능한 항목의 항목에서, 즉 배열, 튜플 또는리스트가 임의의 튜플,리스트 또는 시퀀스 그것이 반환 할 것입니다 여기에 예제를 보여 드리겠습니다 알다시피, 그것은 우리에게 정렬 된 목록을주었습니다 그래서 iterable, 다시입니다 체크, 순서, 목록 또는 무엇이든간에, 모든 요소가 참이면

그래서 그들은 그것이 사실임을 확인합니다 그래서 우리 모두가 진정한 쉼표를 좋아한다는 의미는 아닙니다 진정한 쉼표, 사실 진정한 쉼표, 하나의 쉼표, 2 개의 쉼표, 3 일 수 있습니다 하나, 둘, 셋조차 참된 가치관이며 사실입니다

그래서 파이썬이 어떻게 그것들을 사실이라고 표시하는지에 대한 모드 일뿐입니다 진리 가치로 간주되는 것은 무엇입니까? 다른 데이터 유형이 될 수 있습니다 그것은 문자열 일 수도 있고, 거짓이 아닌 것은 될 수도 있습니다 또는 없음 또는 0 이것들은 참값입니다

이 값을 none으로 변경하고 true 값으로 변경한다고 가정합니다 모든 것이 사실 일 때만 두 가지를냅니다 파이썬이 저장합니다 그것은 진리 가치가 아닌 진정한 가치입니다 그러나 그것은 긍정적 인 가치와 같은 종류입니다

그러므로 긍정적이거나 부정적으로 생각하십시오 이 값을 0으로 변경한다고 가정 해 보겠습니다 나는 이것을 거짓으로, 물론 거짓으로 바꾼다 반면, Any는 모든 기능의 반대입니다 즉, 그것은 당신에게 모든 반대의 진실을 줄 것입니다

그래서 그들 중 하나가 사실이라하더라도 그것은 진정한 가치를 되돌려 줄 것입니다 첫 번째 예제로 가면, 그렇다면 적어도 진정한 가치를 돌려 줄 것입니다 그들 중 하나는 사실입니다 그러나 우리가 거짓으로 아무 것도주지 않으면, 그때 그것은 거짓 가치를 줄 것이다 다음은 부울 함수입니다

Python을 사용하여 값을 부울로 변환합니다 진실 시험 절차 진리 테스트 절차는 어떤 종류의 모든 iterables에 적용됩니다 내부적으로 bool을 0 또는 none으로 호출하는 것으로 생각하십시오 우리의 bool은 긍정적입니다

bool의 Bool도 긍정적입니다 그 의미는 문자열입니다 보시다시피, 이것은 모든 것과 같습니다 그들은 확실히 bool과 같은 것을 사용하여 그들에게 건네지는 값이 true 또는 false 인 경우 그래서 이것은 정말로 또는 일부의 원자 버전입니다 다음은 chr입니다

따라서 문자를 나타내는 문자열을 반환합니다 그의 유니 코드 포인트는 정수입니다 그것이 무엇을하는지 봅시다 그래서 기본적으로 정수 값을 취하고 리턴합니다 ACII 문자 또는 유니 코드 문자

그것은 255로 이동합니다 이제는 파일을 열고 반환합니다 대응하는 파일 오브젝트 이것은 우리가 파일 처리에서 할 것입니다 그런 다음 절대 함수를 반환하는 abs 함수가 있습니다 정수, 부동 소수점 또는 복소수 값

따라서 정수의 음수 값을가집니다 또는 부동 소수점 또는 복소수 일 수 있습니다 파이썬은 복잡한 숫자를 가지고 있습니다 그것의 절대 값을 반환합니다 열거 형은 항목이있는 열거 형 개체를 반환합니다

및 인덱스 값 우리는 잠시 열거를 점검 할 것입니다 슬라이드를 따라 가면 다시 돌아올 것입니다 그런 다음 정수를 반환하는 int 함수가 있습니다 수 또는 문자열 x로 구성된 객체

그래서 int가 할 것은 문자열을 취할 것입니다 하나, 둘, 셋 중 하나를 이것으로 바꾸십시오 ABC, 아무 것도하지 않을거야 따라서 숫자가 문자열로 반환되는 경우에만 그런 다음 그들에게 뭔가를합니다

그렇지 않으면 작동하지 않습니다 특수 문자 또는 무엇이든간에 그것은 이런 종류의 일에만 작용할 것입니다 그래서 때로는 정수를 나타내는 문자열 그런 다음 len은 객체의 길이를 반환합니다 객체의 길이는 배열에서와 같은 길이를 의미합니다

또는 열거하십시오 이 길이, ABCD의 길이 또는 튜플의 길이 이 모든 것 전역 변수는 잠시 후에 살펴볼 내용입니다 그래서 그 시점을두고 가자

Bin은 숫자를 접두사가 붙은 이진 문자열로 변환합니다 0b 이걸 취하면 바이너리 문자열이 생기고, 접두사는 0과 B이며 여전히 0과 B입니다 이제 eval은 매우 흥미로운 것입니다 문자열 내에서 무엇을 반환했는지를 실행합니다

매개 변수로 전달합니다 파이썬 코드처럼 실행한다 그래서 의미면에서 4 점을 더한 5 점을 입력하면, 파이썬 코드처럼 수정합니다 그래서 그것은 잘못된 구문을 던지고 있습니다 이는 보안 결함, 보안 문제이기 때문입니다

그래서 지금 통역사에서 유가 증권이 켜져 있습니다 나는 그것이 무엇이든지 실행하게하지 않을 것이다 산수보다 조금 더 이것이 보통 파이썬의 설정이 얼마나 흔한 지 알 수 있습니다 그 종류의 (mumbles)

이제는 eval이 파이썬 코드를 실행하는 데 사용됩니다 위험 할 수있는 이유는 eval 무언가를 가정하고 모든 파일을 삭제합니다 방금 사용자를 허용 했으므로 컴퓨터에서 eval에 입력 된 입력을 넣습니다 사용자는 악의적 인 사용자입니다 결국 서버에서 코드를 실행하게됩니다

파이썬 코드에서 무엇을하고 싶든 다음은 합계입니다 기본적으로 iterable 당신이 그것을주는, 배열 또는 목록이며 모든 숫자를 요약합니다 그래서 내가 1, 2, 3, 4, 5의 합을하면 반대로, 반대로, 이름에서 알 수 있듯이, 그냥 뒤집어주세요

따라서 루프를 사용하여이 작업을 수행해야합니다 루프 없이는이 작업을 수행 할 수 없습니다 iterable 객체를 사용합니다 여기에 실제 목록을주지는 않습니다 열거 함수를 살펴 보겠습니다

열거 함수가하는 일은 가치에 대한 객관성, 일단 당신이 그것을 통과하면, 다시 반복 가능해야합니다 그래서 iterable에 전달한 다음 목록을 반환합니다 튜플과 튜플의 인덱스 값 포함 및 목록의 항목 여기서 눈치 챈다면, 우리는 식료품 점, 빵, 우유 및 버터 목록을 통과했습니다 열거하는 것은 인쇄 할 것입니다 여기에 개체를 열거하십시오

그것을 쉼표로 구분하여 목록으로 변환하면 하나의 쉼표 두 쉼표 버터 우유 달려 가자 그래서 첫째로 그들이 열거한다는 것입니다 이 것은 반환하고 반대하며, 식료품 점을 나열하고, 유형이 열거됩니다 이것은 기본적으로 반환하는 함수 열거 형입니다

형태가 열거 된 객체 그런 다음 목록 기능을 사용하여 목록으로 변환 할 수 있습니다 list 함수는 열거 형 객체를 취합니다 그러면 튜플리스트를 줄 것이다 각각은 색인과 색인 값을 포함합니다 몇 가지 함수 예제를 살펴 보겠습니다

그래서 함수 정의에 관해서는 정의합니다 서면으로 된 이름으로, 어떤 작업을 할 때, 입력 받아, 몇 가지 작업을 수행, 당신은 결과를 반환합니다 함수를 호출하면 호출하면됩니다 브라켓이 붙은 학생 이름을 사용하십시오 마지막으로 결과를 통해 원하는 형식을 선택하십시오

람다 함수를 살펴 보겠습니다 람다는 기본적으로 매우 작은 함수입니다 당신이 원하지 않는 곳에서 빠르고 작게 조작하십시오 전체 기능을 정의합니다 그래서 이것은 속기 표기법입니다

그것은 특정 함수를 작성하는 속기 방법입니다 한 줄 이상의 표현식이 아닙니다 따라서 명령을 포함 할 수없고 포함 할 수 없습니다 둘 이상의 표현 따라서 구문을 살펴보면, 일이 좀 더 명확해질 것입니다 그들은 임의의 수의 인수를 취할 수 있으며 값을 반환합니다

단일 표현식의 그래서 문법은 이렇게 간다 lambda는 키워드이다 입력이 뒤 따른다 이 주변에 여기에 중괄호가 없다는 것을 알고 있습니다 그래서 당신이이 표현을보아야하는 방법은 그때 람다가 제드되었습니다

이것은 올바른 구문이 아닙니다 하지만 나는 너에게 보여 주기만을하고있다 그런 다음에 zed와 return을 동시에해야합니다 이 부분 또는이 부분은 반환 될 내용입니다 이 람다 함수에 의해

이것은 입력이고 출력입니다 우리가 말하고있는 곳입니다 이 입력에 대해이 출력을 제공하십시오 이제 어떻게 한 줄로 작성했는지 알아보십시오 당신도 이것을 돌려받을 수 있습니다

그래서 이것조차도 작동 할 것입니다 여전히 7 행을 호출 할 수는 있지만 변경 사항은 없습니다 그러나 차이점은이 방법은 간결한 것입니다 그것을 쓰는 방법 그런 다음 람다가 할당 된 변수

그래서 기본적으로 우리가하는 일은 우리가 함수를 변수에 할당하면, 우리가 다르게 할 것처럼 함수 응답을 정의한 다음 기본적으로 나중에 여기에서 사용됩니다 마치이 함수를 호출해야하는 것처럼, 당신은이 특별한 방법으로 대답을 부를 것입니다 람다라고 부르는 것조차 내가했을 것입니다 lambda와 나는 변수를 변수에 할당 할 것입니다

이제 답을 인쇄해야한다고 가정 해 봅시다 이것이 우리가 그것을 실행하기 위해하는 일입니다 그래서 꽤 다시 함수처럼 그것을 부릅니다 우리는 28 점을 얻었습니다 우리는 그것을 다시 할 수 있고 대답은 8이 될 것입니다

2는 4를 곱합니다 이제 이것은 여전히 ​​명명 된 람다 함수입니다 하지만 람다의 가장 큰 용도 중 하나 인 간결함과는 별도로 존재하는 이유는, 그것은 당신이 다른 기능을 전달할 수 있다는 것입니다, 매개 변수로서의 기능 그래서 당신이 가진다면, 가정 해 봅시다 모든 프로그래밍 언어로 존재하는 대체 사용을위한지도

그래서 어떤지도가 항목의 목록을 취합니다 그것들을 어떤 것에 매핑합니다 예를 들어, 그것을 보여주기 위해, 먼저이 결과를보고 나서 일해 봅시다 지도가하고있다 지도, 그것이 한 것은, 그것이 각 가치를 가졌다는 것입니다 하나, 둘, 셋, 넷, 오

비교할 수만 있다면 그것은 그들 스스로에 의해 곱해진 것으로 보인다 1에 1을 곱합니다 2는 2를 곱합니다 3 x 3, 4 x 5, 5 x 5 그래서 그것들은 제곱되었습니다 글쎄, 이것은 이것에 매핑되었습니다

이 일련의 산출물은 각각의 개인으로부터 나왔습니다 이 특정 항목의 목록에있는 요소 그런 다음 동일한 색인을 사용할 수 있습니다 두 목록 모두에서 동일한 색인에 있기 때문에, 당신은지도를 정렬 할 수 있습니다 이제 map 함수가 기본적으로하는 일입니다 자, 우리가 할 수있는 일은지도 함수에서 첫 번째 매개 변수는 현재 목록을 원합니다

에 매핑 되나요? 그 의미에서 매핑을 정의하는 방법은 무엇입니까? 매번 사각형이되어야합니까? 큐브를 원한다면? 그래서 람다가 할 수있는 것은 당신은이 아주 산뜻한 것을해야합니다 당신이 알아 차리면 이것은 쓰는 것과 비교할 때 매우 간결합니다 함수 def 제곱, x, 항목을 취할 것입니다 항목에 항목 쓰기 그래서 하나는이 모든 것을 쓰는 것입니다

또는 당신은 이것을 이렇게 씁니다 여기에 확실한 깔끔함이 있습니다 그러나 그것이 기능을하는 이유는 목적입니다 이제는 람다를 통해 그것을하는 것이 글쓰기보다 낫다 매번 이와 같은 기능

이러한 종류의 함수 중 다음은 필터입니다 필터가 특정 목록의 각 항목을 확인합니다 필터를 적용하십시오 목록에서 일부 항목을 제거합니다 특정 조건과 일치합니다

그래서 우리는 네거티브 5-5의 범위를 취했습니다 숫자는 음수에서 플러스 5까지입니다 10 개의 숫자 우리는 필터를 통과 시켰습니다 이제는 필터가하는 일은 목록을 취하는 것입니다

이것을 각각의 모든 개인에게 적용합니다 각각의 개별 요소가 적용되어 적용됩니다 이 람다 함수 이제이 람다는 2 또는 4를 반환합니다 필터는 진정한 가치를 유지한다는 것입니다

따라서이 목록의 항목이 무엇이든, 이 표현은 사실로 밝혀졌습니다 이 필터 기능은 해당 요소 만 사용합니다 x가 0보다 작 으면, 음수 5에 대해서만, 네거티브 네, 네거티브 세, 네거티브 두, 음수 1, 여기서 x는 이러한 값입니다 그것이 돌아올 것입니다 결승전은 줄어 듭니다

그래서 감소시키는 것은 목록을 취하는 것입니다 몇 가지 작업을 적용하고 기본적으로 당신에게 제공합니다 그것의 마지막 단일 출력 따라서 동일한 출력을 반복해서 적용하면 그것은 감소 연산자와 같습니다 감소 작업자처럼 생각하면됩니다

네가 마이너스 마이너스라고 가정하고 그것을 계속해서 또 다시 부르며 그래서 당신은 무엇을 했습니까? 4 명에서 3 ​​명 2 명 1 명? 따라서 이전 출력을 입력으로 가져 오는 위치 그 목록이 도달 할 때까지 계속 적용해라 목록의 끝 그럼이 일이 무엇을 할 지 봅시다 24, 어떻게 이런 일이 있었습니까? 그것은 하나를 취했고 처음에는 이것이 하나였습니다

그래서 하나의 쉼표 하나 쉼표 하나는 하나입니다 그런 다음 하나의 쉼표 2가 들어 왔습니다 하나는 2로 곱해졌습니다 이제 y의 값은 2입니다

3 명이 들어 오면 3의 가치가 6으로 바뀝니다 이제 6 개가 입력되고 4 개가 입력으로 제공됩니다 그래서 기본적으로 그들 모두가 곱 해졌습니다 이제 우리는 흥미로운 일을 할 수 있습니다 이 결과가 무엇인지 보도록하겠습니다

우리는 첫 번째 숫자를 제곱 할 것이고 우리는 그것을 y로 곱하십시오 y의 값이 무엇인지 알아 봅시다 그것에 의존 할 것입니다 그것은 제곱되고있는 것을 나에게 알려줍니다 그래서 우리가 이것을 사각형 화하면이 값을 얻게됩니다

그러나이 값을 보면 값이 달라집니다 따라서 두 개의 입력을 취할 수 있음을 알 수 있습니다 람다를 위해서 따라서 입력의 수는 제한되지 않지만 하나의 만료 만 가능합니다 그리고 오직 하나의 출력

파이썬에서 변수의 범위를 살펴 보겠습니다 그래서 파이썬에는 전역 변수와 지역 변수의 두 가지 범위가 있습니다 전역 변수는 파일 계층으로 정의됩니다 파일을 실행하자마자 할당됩니다 처음으로

반면에 지역 변수는 다음에 정의됩니다 기능 범위는 (음성 차단)입니다 이 예제를 여기서 보시면, a는 코드의 어디에나 존재합니다 따라서이 함수로도 a를 사용할 수 있으며이를이 함수로 변환 할 수 있습니다 왜냐하면 그것은 함수 밖이기 때문입니다

하지만 함수 밖에서 b를 사용하면 오류가 발생합니다 슬라이드가 말한 것처럼 지역 변수가 여기에 있습니다 함수 안에 있고 사용할 수있는 b입니다 주어진 함수 내에서 또 다른 예가 있습니다

그래서, 당신이 a를 인쇄 할 때, 그것은 바깥입니다 그러나 c를 인쇄하려고하면 내부에 추가됩니다 그렇지 않기 때문에 사용할 수 없습니다 전역 변수 인 경우 로컬 변수입니다 그래서 add 내에있는 모든 것은 추가 할 로컬입니다

다음은 메모리 주소입니다 a와 b 두 개의 변수가 있다면, 메모리를 알 수 있습니다 이 방법을 통해 그들 중 하나의 주소 변수의 메모리 주소를 알고 싶다면 파이썬에서, 당신이해야 할 일은 내장 함수를 호출하는 것입니다 id 함수는 메모리 위치를 알려줍니다

그 특정 변수의 그럼 터미널에서 사용해 봅시다 나는 a = 1, b = 23, 그리고 나서 나는 id (a)와 id (b)를한다 보시다시피, 숫자는 다릅니다 이 점을 어디에서 사용하겠습니까? 당신이 일하고있는 일, 또는 당신이 만들고있는 일 일반적으로 당신이 처리해야 할 것이 아닙니다

이러한 일들, id (a)와 id (b)처럼, 이것은 당신은 파이썬에서 더 낮은 레벨의 것들을 다루고 있습니다 하지만 당신이 데이터 과학이나 그런 것들을하고 있다면 이것은 실제로 당신이 끝낼 무언가가 아닙니다 당신이 무언가를 만들 때까지 특히 메모리 관리에, 그것은 이미 당신을 위해 행해진 것입니다 다음은 함수 인수입니다

그래서 함수의 인자의 수 정확히 일치해야합니다 이것들은 필수 인수입니다 그래서이 함수를 여기서 보시면, 문자열을 함수에 전달하여 실행해야합니다 그렇지 않으면 인쇄 이름에 오류가 발생합니다 하나의 필수 위치 인수 str이 누락되었습니다

예상하고있는 인수의 이름 중간 전화, 그게 없어 기본적으로 입력이 필요하다는 말입니다 당신이 제공하지 않았기 때문에 기능 할 수 없습니다 저렇게 다음에는 키워드 인수라는 것이 있습니다

함수에서 키워드 인수를 사용할 때 호출자는 매개 변수 이름으로 인수를 식별합니다 그래서 키워드 인수는 다음과 같이 작동합니다 내가 애니를 말하는거야 string의 값입니다 이제, 당신을 정말로 여기에서 치지 않습니다

그러나 이것이 왜 유용한 지에 대한 다른 예를 보여 드리겠습니다 함수에 add, 전체 매개 변수를 사용합니다 이제 단순한 함수가 아니라고 가정 해 봅시다 그 합계가 있습니다 대신 random 함수라는 새 함수를 정의하십시오

A, B, C 및 D 그것은 A ** B, A ** D, 더하기 C ** B 그리고 그 합계를 반환합니다 무작위 함수를 호출 할 때, 너 기억할 필요가 있을지도 몰라, 알았어, 내가 뭘해야되는거야? 5 번 경로를 지울 필요가 있습니까? 그래서지도 작성을해야합니다 무엇이 어디에서 사용되는지보십시오 대신에 레이블을 지정하면 d =임을 알 수 있습니다 c를 3으로 간주하고, a를 2로 간주하고, b를 5라고 생각하십시오

이제 당신은 파이썬에게 이것을 매핑해야 할 필요가 있다고 말하고 있습니다 그래서 그것은 의존하지 않을 것입니다 원래 순서대로 당신이 지났을 때 그것은 그것을 취할 것입니다 이것은 매우 유용합니다

왜냐하면 여러분이 볼 수 있듯이, 이제는 어떤 식 으로든 함수를 호출 할 수 있습니다 함수 매개 변수를 명확하게 사용했다면 말입니다 순서는 더 이상 중요하지 않으며 사실, 나는 이것을 당신에게 권하는 것이 아니라 전화하는 것이 좋습니다 이 특정 방법으로 가정 해 봅시다 우리는 이것을 5와 같이 부를 수 있습니다

그러나 나는 이것을 부르는 것을 권하지 않는다 나는 모두가 엄격히 이걸 따라야한다고 생각합니다 특별한 접근법 훨씬 더 청결하고 많은 혜택 개발자로서의 삶을 훨씬 쉽게 만들어줍니다

자, 기본 인수 나는 단지 3의 가치를 갖고 싶었다 비록 그것이 공급되지 않더라도 그래서 나는 이것을 할 수 있었고 값을 제거 할 수있었습니다 모두 함께 d

그래서 나는 이렇게 d 값을 전달할 수 있습니다 이것도 정확 합니다만, 지금 서명에서 무엇을했는지 나는 그것에게 3의 디폴트 값을 주었다 그 d는 항상 3을 가져야합니다 통과하지 않아도, 공손은 3의 가치를 가져야한다 여기 또 다른 예로, 연령이 미리 정의 된 곳이 있습니다

데이터를 명시 적으로 제공하지 않는 한, 특히 50의 값에 대해, 이 함수는 함수를 만들 때 제공됩니다 그래서 특정의 기본값을 설정하고 있습니다 함수를 정의 할 때 자연스럽게 사용됩니다 그래서 또 다른 예는 봉급입니다 그래서 기본급이있는 곳에서, 어떤 방법 으로든 10,000 루피가 주어지면, 그 사람이 누군지에 상관없이

급여가 정의되지 않았다면? 이러한 기본 인수가 존재하는 이유는 특정 매개 변수가 있기 때문에 기본값, 또는 대부분의 경우, 그것은 정렬의 설정 값을 가지게 될 것입니다 당신이해야 할 일은 특정 상황에서만 값을 변경합니다 다양한 이유로 인해 사람들은 이 종류의 것 그래서 때로는 얼마나 많은 매개 변수를 알지 못할 수도 있습니다 필요한 인수의 수 가변 길이의 인수가 필요할 수도 있습니다

인수의 수로 전달할 수있는 곳 왜냐하면 당신은 단지 얼마나 많은 논쟁들이 필요합니다 그럼 당신이 아주 일반적인 것을 만들고 있다고 가정 해 봅시다 파이썬의 수학 계산기 곱셈에 대해서 생각해 보면, 사용자가 세 개의 숫자 또는 네 개의 숫자를 곱하려고합니다 한 번에 5 개의 숫자가 필요합니다

그들은 단지 7 개의 십자가 5 개의 십자가를 입력 할 수 있습니다 4는 3를 교차하거나 계승의 예처럼, 우리는 반복적으로 번식해야했습니다 일반적으로 반복적으로 수행되는 모든 작업 또는 반복 된 출력을 갖는 경우, 데이터를 수신하는 기능 이런 식으로 아마 그것이 필요하다는 것을 정의 할 수 없다 필요한 모든 인수가 무엇인지 이러한 경우를 처리하기 위해이 시작 연산자가 있습니다

그래서 변수 앞에 놓으면 바로, 여기에있는 매개 변수 앞에서 숫자를 전달할 수 있습니다 값을이 함수에 전달합니다 무슨 일이 일어날지를 생각해 보라 이 두 번째 것은 그것을 호출하는 이상한 종류의 방법입니다 그러나 아니오, 심지어 첫 번째 것이 맞습니다

이것이 0 또는 인수가 될 수있는 경우, 정보 Annie Dave의 옵션이 있습니다 또한 세 번째 매개 변수를 가질 수 있으며 두 번째 매개 변수는 세 번째 매개 변수는 여기에서 허용됩니다 당신이 반복 할 수있는 목록으로 그래서 제가 당신에게 아주 간단한 예를 보여 드리겠습니다 그래서 나는 함수 print 사용자를 정의했다

하지만 여기에있는 것과 비슷합니다 edureka가이 중 하나를 정의한다고 가정합시다 그런 다음 다른 사용자는 admin, ceo, 관리자 이것을 부르 자 당신이 볼 수 있듯이 그것을 실행하면 다시 이것을 얻으십시오

첫 번째 사용자 인수는 edureka입니다 가변 길이 인수는 ceo, cto, admin, 등등 여기와 같은 순서로 수신됩니다 이제 다른 방법은 키워드 인수를 전달하는 것입니다 이것들은 스타 인수이며, 키워드 인수가 있습니다

너는 똑같은 것을 통과 할 수있는 곳 그러나 중요한 가치 장소와 더불어 arg1, arg2, arg3에서 이것을 보자 하나, 둘, 셋, 넷, 다섯, 여섯 아홉 args 그리고 너는이 kwargs을 가지고있다 같은 이름 매개 변수의 일종이라고 명명 된, 그러나 그들이 args 후에 수신되기 때문에, 그들은 여기에 대한 사전으로 사용할 수 있습니다

당신이 논 키워드 논쟁을 보면, 그것들은 터플로서 사용할 수 있습니다 이제 파이썬은 내부적으로하지 않습니다 다시 말하지만,이 기능의 목적은 다양한 종류의 입력을받을 수있는 유연성 이 메커니즘에는 훨씬 더 많은 유연성이 있습니다 어떤 기능이 될 수 있는지를 고치는 것에 비해 이것은 또한 다형성의 OOPS 개념입니다 여기서 여러 가지 방법으로 함수를 호출 할 수 있습니다 당신이 말하는 방식에 관한 것입니다

조작 될 것이다 이제 프로 시저 중심의 차이점을 살펴 보겠습니다 프로그래밍 및 객체 지향 프로그래밍 따라서 프로 시저 지향 프로그래밍에서, 프로그램은 기능으로 나뉩니다 그 기능은 중심 개념입니다

프로 시저 지향 프로그래밍의 경우 또는 기능 프로그래밍 객체 지향 프로그래밍에서, 프로그램은 객체로 나뉩니다 이제 POP는 위에서 아래로 접근하여 조회수를 늘립니다 전체 문제는 맨 위에서부터 아래쪽으로 이어집니다 그것이 괜찮다는 것을 말하면, 나는 할 수있는 것을 필요로한다

이 종류의 결과물을 나에게 주면 더 나아갈 수 있습니다 좋아로 나눌거야,이 일은이 다섯 가지를 할 필요가있어 것들, 그래서 그 중 기능을 만들어 봅시다 당신은 그것의 맨 처음부터 시작하고 당신은 계속 추가합니다 블록은 작고 작고 크기가 작습니다

OOP는 아래에서 위로 향하는 접근법을 따른다 필요한 다른 빌딩 블록, 그것들을 객체로 정의하고, 다른 엔티티들, 그리고 시스템 구축을 시작합니다 이제 프로 시저 프로그래밍에서 데이터는 자유롭게 움직여야합니다 기능에서 시스템으로의 기능에 이르기까지, 확실히 그렇듯이 OOPS에서 객체는 이동하고 통신해야합니다

서로 회원 기능을 통해 POP의 예로는 C, Visual Basic, FORTRAN과 Pascal OOP의 예는 C ++, Java 및 Python입니다 하지만 여기서 주목해야 할 점은 파이썬조차도, 예를 들어 람다 함수를 통해 다른 방법과 메커니즘을 통해 절차 적 프로그래밍을 허용합니다 그것은 절차 적 프로그래밍을 허용하지 않는다는 것이 아니라, 그것은 스타일을위한 것입니다 그래서 궁극적으로, 이들은 당신이 프로그램하는 방식입니다

어떤 언어도 이들을 시행하지 않지만 오히려 당신에게 기능을 제공합니다 그것으로 그 일들을 할 수 있습니다 이렇게 차가 많은 특징을 가지고 있다는 것을이 방법으로 생각하십시오 그렇지만 모든 기능을 사용할 수는 없습니다 그래서 차는 빨리 운전할 수 있고, 차를 느리게 운전할 수 있으며, 그것은 반대 방향으로 운전할 수 있지만, 그렇지 않을 수도 있습니다

모든 기능을 사용하십시오 그래서 빨리 달리고, 어떤 사람들은 싫어 해요 빨리 달릴 수 있습니다 그들은 결코 최대 속도에 부딪치지 않을 것이며, 그러나 차는 그것을 실제로 할 수있다 비슷한 방식으로, 프로그래밍 언어는 내장

그들이 당신이 더 많은 것을 할 수있게 허락한다면 더 쉬운 방법 또는 그것으로 그것 더 동쪽으로 향하게 한 그러나 그렇다고해서, 당신은 다른 일을하도록 만들 수 없습니다 물론 당신은 충분히 경험할 필요가 있습니다 그것은 그렇게 작동합니다 몇 가지 객체 지향 개념을 살펴 보겠습니다

그래서 파이썬은 다시 객체 지향적입니다 그것은 그것을 지원하고, 광범위한 클래스 메커니즘을 가지고있다 우리가 보게 될 구조 몇 분만에 어떤 객체 지향적 인 것은 그 것이다 코드 재사용을 가능하게하여 더 적은 코드를 작성합니다

또한 실제 시나리오와 매우 잘 관련이 있으며, 생각할 때 이미지를 말할 수있는 곳 단어 개체, 여러 가지 것들이 떠오른다 그래서 모든 것이 하나의 대상입니다 자동차가 대상이라는 의미에서와 마찬가지로, 제트기는 물체이고, 표는 물체입니다 모든 것이 하나의 대상이라는 것을 생각해 보면, 그것은 아주 쉽게 당신을 상상할 수있게 해줍니다 또는 응용 프로그램에서 실제 세계를 모델링 할 수 있습니다

당연히 코드를 재사용 할 수 있고 알고 있다면, 이 모든 멋진 기능들이 거기에 있습니다 프로그래머들은 더 빠르고 정확하게, 더 나은 서면 응용 프로그램 그러나 Python OOPS는 다른 언어와 다릅니다 당연히, 그것은 다른 언어 인 이유입니다 시작하기

예를 들어 Java에서는 파일을 만들 수 없습니다 클래스를 정의하지 않고 그래서 차이점이 있고 파이썬은 해석됩니다 우리가 아는 언어 코드를 한 줄씩 실행합니다

Java에서는 그럴 수 없습니다 그래서 Java는 컴파일 언어입니다 여기서 파이썬은 해석 된 언어입니다 따라서 파이썬 OOP는 다른 OOP와 다릅니다 유스 케이스를 살펴 보겠습니다

SRT는 다국적 기업입니다 이 회사는 직원 정보 시트를 작성하려고합니다 여기에는 이름, 직원 ID 및 진행 상황이 포함되어야합니다 이제 직원을 매주, 매월, 그의 진도 란 그러나 별도의 시트를 만드는 것은 어려울 것입니다

모든 직원을위한 그래서 그것 대신에, 그들은 하나의 클래스를 만들기로 결정했습니다 모든 직원의 목표를 생성하고, 신입 사원을위한 전화 수업 그래서 이것은 기본적으로 아키 타입입니다 정의 된, 이봐, 이건 수업의 청사진이야 이것은 직원이 가지고있는 것입니다

그는 이름이 있고, 이름이 있고, 성이 있고, 그는 월급이 있고, 나이가 있고, 성이 있고, 이것이 그의 역할입니다, 이것은 부서입니다 그래서이 모든 것을 그의 속성이라고 부릅니다 당신이 그것을 올바르게 본다면, 모든 직원은 전형적으로 현실 세계에서도 이러한 속성을 갖게됩니다 그래서 수업은 실세계의 청사진에 지나지 않습니다 우리는 클래스를 사용하여 그 객체를 모델링하려고 시도한다

그래서 제가 모델이라고 말할 때, 우리는 코드로 기술하려고합니다 모델이라는 단어가 올 때 남성은 실제로하려고합니다 사물에 조금 형식적으로, 특히 맥락에서 과학과 프로그래밍 특정 시나리오를 모델링 할 때 또는 특정 상황 또는 개인 또는 개인 또는 물체를 영어로 표현하면 더 많이 불린다 설명으로

그래서 언어에 관해서 이야기 할 때, 그것은 내게 공을 줘라 그런데 프로그래밍에 대해 말하면, 그들은 멋진 사람들입니다, 그래서 우리는 공을 모델링하자라고 말합니다 그래서 공을 모델링하는 것은 그것을 기술하는 것과 관련이 있습니다 높이, 무게, 직경, 미안, 색깔, 그것의 모양, 그것의 물자 똑같은 일이 여기서 일어난다

직원을 모델링하려고 할 때 관련성 높은 직원에 대한 모든 것 우리 조직에? 마찬가지로 비슷하게, 또 다른 것은 그 직원입니다 하나의 특별한 것일 수 있지만 정의되어 있습니다 특정 매개 변수를 사용하지만 속성이 변경됩니다 사람마다

왜냐하면 하루가 끝날 때마다 모든 사람이 독특하기 때문입니다 마찬가지로 클래스도 청사진 일뿐입니다 자전거, 사이클, 자전거를 보시면 또는 2 륜차 이륜차는 기본적으로 청사진입니다 2 개의 바퀴가 있고 브레이크가있는의

그것이 바로 기본 청사진입니다 그리고 그것으로부터 다양한 물건, 이들 중 하나와 같은 자동화 된 차량인지 여부, 또는 이와 같은 자동화 된 차량이 아닙니다 그것은 적색 또는 녹색 또는 분홍색 또는 적색이며, 계속 변화 할 수는 있지만 사실을 바꾸지는 않습니다 이것이 여전히 특정 구현임을 사이클 객체의 특정 인스턴스에 대한 예를 들어 인간처럼, 인간의 해부학은 모두 동일하다 세계의 70 억 인구

그들은 내 것이 아니고, 똑같습니다 그것은 청사진입니다 근육의 수를 일정하게 유지할 것입니다 그리고 당신의 몸 속에있는 특정 뼈의 수 그렇지만 아직도, 모든 사람마다 다릅니다

이것이 바로 인간의 해부학입니다 이것은이 해부학에서 비롯된 변형입니다 이제 클래스와 객체 사이의 관계에 대해 이야기 해 봅시다 클래스는 객체의 템플릿입니다 그것은 객체의 메소드에 대한 모든 코드를 포함합니다

클래스는 추상 특성을 설명합니다 실생활의 것 그래서 그들은 그것이 무언가를 창조한다고 말하고 있습니다 우리는 현실 세계에서 볼 수 있지만 프로그래밍 용어로 볼 수 있습니다 인스턴스는 런타임에 생성 된 클래스의 객체입니다

따라서 청사진을 만들거나 사용할 때, 그래서 청사진을 만드는 것은 아무 것도하지 않습니다 따라서 함수를 선언해야합니다 당신은 아무것도 할 수있는 함수를 호출해야합니다 마찬가지로 클래스의 청사진을 선언하는 것 파이썬에서는 아무것도하지 않습니다 해당 청사진을 사용하여 실제로 개체를 만들어야합니다

그걸 말할 필요가있어, 삶에 가져다 줘 이것은 청사진입니다, 제가 실제로 그것을 만들자 실제로 메모리에 설치하겠습니다 나는 지금 나와 함께 청사진을 가지고있다 실제 가치가 없습니다

물론 같은 클래스의 여러 인스턴스가 될 수 있습니다 수업을 정리하기 위해서, 당신이하는 일은 당신이 사용하는 것입니다 클래스 키워드 class 키워드 뒤에 클래스 이름이옵니다 및 괄호

물론 수업은 창작 당시에, 내부에서 어떤 논쟁을 할 수 있고 우리는 보게 될 것입니다 그 주장들로 무엇을 하는가? 단지 아주 기본적인 정의입니다 클래스, 숫자, 번호를 선언합니다 클래스의 이름, 그리고 그 클래스 내의 문장 수업의 인스턴스를 만들려면 무엇을해야합니까? 변수를 가져와야한다고 클래스의 이름, 패턴을 따르십시오

당신을위한 수업을 만들 것입니다 또는 당신을위한 클래스의 인스턴스를 만들 수 있습니다 당신이 이것을 보면 그들은 print (x)를 가지고 있습니다 그것은 그것이 대상이라고 말합니다 너무나 그럴 정도로 메모리 위치 그러면 변수와 같습니다

이것은 변수 그 이상입니다 하루의 끝에서 이제 방법의 정의 따라서 self는 클래스 객체를 가리 킵니다 self

hello 대신 obhello를 씁니다 자, 여기서 일어나는 일은 내부의 메소드의 첫 번째 매개 변수, 그래서 클래스 그 안에 메소드를 포함 할 수 있습니다 첫째, 매개 변수는 클래스가 자동으로 제공하는 것입니다 안녕하세요

따라서이 obhello를 호출하면 내부적으로 Python이 호출합니다 이 hello 메소드와 자체 객체를 전달할 것입니다 자기 란 무엇인가? 자아는 당신이 정의하는이 객체, ob입니다 다음으로 변수의 범위에 관해서 이야기 해 봅시다

수업에 클래스에서 변수가 선언되지 않았습니다 수업의 범위 내에서 그것들은 전역 변수이며, 함수를 해결할 가능성이 있으며, 특정 변수가 어디에 있는지 함수 내에서 정의됩니다 이들은 기능 또는 인클로저에 국한되었습니다

함수에 의해 생성됩니다 마찬가지로 클래스의 경우 동일한 개념이 적용됩니다 함수 내부에서 정의 된 변수 그것에 국부적으로 있고 외부에서 정의 된 변수들 세계적입니다 평소와 같이 전역 변수는 모든 곳에서 사용할 수 있습니다 이제 변수가 클래스 내부에 정의 된 경우 그들은 로컬이고 액세스 할 수 없습니다

클래스를 사용하지 않고 B = 60, 이론적으로 b를 인쇄하려고하면, 이거 작동 안 할거야 어떻게 보여 드릴까요? 나는 단지 이것을 논평 할 것이다 클래스 데모를 선언하고 변수가 있다고 가정합니다 그 안의 변수 b에

바깥쪽에는 변수 b가 있는데, 이는 45입니다 나는 어디에서라도이 일을 할 수있다 그래서이 클래스조차도, 함수 내에서 b를 인쇄 할 수 있습니다 또는 무엇이든 그러나 이것을하려고하면 효과가 없을 것입니다

여기 오른쪽으로 눈치 챘을지라도 이걸 실행 해 봅시다 이름이 정의되지 않았다고합니다 비록 변수가 여기에 정의되어 있습니다 그러나 우리가 이것을한다면, 우리가 이것을 할 수 있는지 보자 이 작동합니다

그래서이 변수가 정의 된 테이블 a 클래스 내부 당신과 당신이 할 때까지는 사용할 수 없습니다 이 방법으로 참조하십시오 따라서 많은 변수가 정의되어 있어야합니다

변수가 정의되지 않은 오류가 발생합니다 하지만 실제로 코드에 있음을 알 수 있습니다 각자 철자가없는 상태 범위 지정이 올바른지 확인해야합니다 매우 조심하십시오

이것들은 make를 시작하는 초기 실수들 중 일부입니다 그래서 이것을 볼 때마다 탈 집중하지 마십시오 때때로 혼란 스러울 수 있지만 가능한 경우보세요 해당 특정 위치에서 변수에 액세스하는지 여부 속성에 대해 이야기 해 봅시다

그래서 우리는 수업은 청사진이라고 말합니다 실제 개체의 이제 현실 세계의 대상에 관해서는, 그것은 특정 재산을 가질 것입니다 따라서 직원 권리의 경우 직원은 이름으로 직원 ID 특정 프로젝트에서 진행율을 가정 해 봅시다 또는 다른 것

그것이 실제로 청사진을 정의하는 것입니다 현실 세계에서 물체를 모델링 할 때 프로그래밍 세계로 속성 또는 해당 속성 때문에 방법입니다 우리는 그것을 대표합니다 이제, 당신은 이봐,이게 완전하지 않다고 말할지도 모른다 직원의 대표

그런 의미에서 나는이 사람에 대해 뭔가를 알고있다 지금은 모든 것을 모릅니다 어느 것이 좋습니다 이봐, 너는 특정인에 대한 것들을 안다 귀하와 관련이 있습니다

동료가있는 것처럼 많은 것을 알 수 있습니다 그들의 직업 생활,하지만 당신은 아무것도 알지 못할 수도 있습니다 그들의 개인적인 삶에 대해서 아니면 자신의 개인 생활에 대해서도 알고있을 것입니다 왜냐하면 그들은 당신의 친구이기 때문입니다 그래서 비슷한 방식으로, 당신이하려고하는 것에 따라 소프트웨어의 해당 객체, 코드, 당신은 당신이 필요로하는 속성들을 정의한다

모든 것이 존재하지는 않습니다 두 가지 유형의 속성, 내장 속성 및 사용자 정의 속성 기본 제공 함수와 같은 내장 특성, 파이썬 클래스 객체에서 사용할 수 있습니다 파이썬 자체 그래서 특정 속성이 있습니다

당신은 이것들을 생각할 필요가 있습니다 그래서 한 가지 질문이 있습니다 청사진 계급의 개인은 나로서 개인으로서 정의된다 소프트웨어 개발자로서의 나의 요구에 따르면, 왜 내장 속성이 존재합니까? 파이썬이 어떻게 알 수 있습니까? 따라서 직원 목록을 선언하는 경우 어떻게 가능합니까? 파이썬 개발자는 무엇이든 알 것입니다 제 종업원 클래스에 대해서요? 내장 된 속성을 상상할 수있는 방법은 무엇입니까? 대답은 이러한 내장 속성이 일반적으로 클래스 이름 지정과 메타 정보 포함 그 클래스 또는 그 객체에 대해

그들은 실제로 당신이 수업을 보는 것과 같은 것이 아닙니다 그래서 이것들은 얼마나 많은 도구들이 더 많은지와 관련이 있습니다 파이썬이 필요로하는 정보가 아니라 파이썬이 필요로하는 정보입니다 해당 클래스를 실행하거나 해당 클래스를 실행해야합니다 또는 코드를 사용하는 것이 좋습니다

그런 다음 당연히 사용자 정의 속성이 있습니다 그래서 사용자는 개발자로서 존재합니다 그래서 여기서 user라는 단어를 대체 할 수 있습니다 개발자라는 단어로 개발자가 알고있는 속성을 정의했습니다

당신은 클래스를 모델링하는 데 사용하고 있습니다 먼저 내장 클래스 속성을 살펴 보겠습니다 그래서 나는 아무것도하지 않았지만 클래스 edureka를 정의했습니다 사용할 수있는 기본 제공 특성이 있습니다 자, 이것과 혼동하지 마십시오

그것은 왜 밑줄을 강조합니까? 그것은 특별한 것을 의미하지는 않습니다 우리는 이것을 조금 다룰 것입니다 이것은 파이썬이 특정 특수 속성을 작성하는 방법 일뿐입니다 그래서 그것은 단지 시각적 인 인식이라는 점에서 특별합니다 따라서 문자열이나 숫자가 될 수는 없습니다

그것의 값은 그 라인을 따라 어딘가에있을 것입니다 또는 개체 파이썬 개발자로서 볼 때 순간입니다 이거 알아, 이봐, 이것은 일반적인 특성이 아니며 내장형이거나 또는 다른 것입니다 그래서 그냥 볼 수있는 컨텍스트를 만듭니다

이것을 다른 것으로 인식하라 사용자 정의 속성에서 이걸 실행 해 보겠습니다 결과물을 보겠습니다 그래서 edureka

__ dict__ 이것은 무엇을 하는가? 여기에는 클래스의 이름 공간이 포함됩니다 그래서 이름 공간은 매우 중요한 Python 개념입니다 파이썬 파일의 관점에서 파일을 찾는 것에 관해서는, 코드 실행과 관련하여 Python으로 코드의 큰 부분을 구성합니다 현재로서는 세부 정보를 얻을 필요가 없습니다

이름 공간이 무엇인지, 이름 공간이 어떻게 작동하는지, 우리가 할 수있는 것을 잘 알고있는 것 현재 클래스의 이름 공간을 가져옵니다 다음은 __ doc입니다 이제는 모든 Python 클래스에 doc 문자열이 포함될 수 있습니다 클래스를 설명하는 일반적인 문자열과 같습니다

웬일인지 그것을 인쇄하고 싶다면, 문서를 인쇄하고 싶습니다 이 메서드 호출을 사용해야합니다 그래서 그것은 실제로 특정한 것에 있어야합니다 문서 문자열은 작은 따옴표 안에 있어야합니다 그럼 여기서 눈치 채면, 이 특정 문서 문자열을 인쇄했습니다

이제이 문서 문자열을 배치하면 다른 곳에서는, 밖에서 배치하면 작동하지 않습니다 그냥 보여 드리죠 문서 문자열은 없지만 내부에 배치하는 순간 여기를 넘겨서 실행하면, 문서 문자열이 나타납니다 다음은 매우 간단합니다 그것은 당신에게 수업의 이름을줍니다

따라서 __name과 edureka 클래스 이름은 edureka입니다 그래서 내가 원하는 것은 클래스의 이름입니다 그래서 edureka 이름, 나는 똑같은 일을 할 수있다 나는 그것을 여기에서도 바꿀 필요가있다 네가 이것을 어디에서 사용할 지 궁금하다면, 만약 당신이 정말로 어떤 종류의 건물이 사용됩니다 파이썬으로 프레임 워크 또는 라이브러리

그래서 이것은 큰 종류의 시스템이 구축 될 때 그 이유는 이런 것들은 필요한 것보다 더 필요한 것입니다 만약 당신이 웹 사이트를 만들려고한다면 또는 데이터 예측 만하려는 경우 또는 데이터 시각화 또는 분석 당신이이 모든 것을 사용한다는 것은 정확히 아닙니다 하지만이 작업이 필요한 경우, 특히 아키텍처 파이썬을 사용하는 큰 솔루션 다음은 메인 모듈 인 우리가있는 모듈입니다

그래서 주된 것은 이전에 우리가 다루었 던 것도 있습니다 기억한다면 이름이 main 클래스와 동일한 경우는,이 ​​클래스의 선두 두 개의 다른 파일에서 함수를 호출하고 있습니다 그것은 특정 파일을 호출하는 모듈 일뿐입니다 주 모듈이 항상 파일을 호출한다는 것을 알고 있습니다 기지를 살펴 봅시다

그래서 기지는 무엇입니까? 따라서 클래스가 다른 클래스에서 파생되는 경우, 그 다음 기지는 가치가있다 그것은 클래스가 본질적으로 파생 될 수있는 것입니다 다른 클래스에서 상속의 개념이라고 부릅니다 우리 중 누구도 우리 부모님에게서 상속받는 것과 마찬가지입니다 비슷한 방식으로 클래스가 상속받는 경우 목록을 가져 오는 데 사용하는 또 다른 클래스입니다

이 클래스들 중, 당신은 얻을 수 있고 상속받을 수 있습니다 여러 클래스들 그것이이 코드에서이 edureka를 얻는 곳입니다 이 코드는 bases__입니다 좋아요, 사용자를 찾기 위해 속성을 살펴 보겠습니다

속성은 클래스 정의 내에 작성됩니다 꽤 명백한 권리? 기존에 대한 새로운 속성을 동적으로 생성 할 수 있습니다 클래스의 인스턴스 동적 속성을 만들 수도 있습니다 기존 클래스

거기에 아무런 제한이 없습니다 계속 진행하면서 계속 연결할 수 있습니다 속성에는 세 가지 종류가 있습니다 액세스 할 수있는 개인용 속성이 있습니다 클래스 정의 내에서만

그럴 수 있어야하고 있어야하는 공개 속성 자유롭게 사용 그런 다음 액세스 할 수있는 보호 된 속성이 있습니다 클래스 또는 그 서브 클래스로부터 서브 클래스, 서브 클래스 란 무엇입니까? 다시, 상속 관련 또는 기본적으로 파생 비트 이제 곧 그 문제를 다룰 것입니다

그러나 사적, 공공 및 보호가 있다는 것을 아십시오 속성은 클래스 내부에서 사용할 수 있습니다 이것이 작동하는 방식은 선언하려는 경우 변수는 공개이므로 아무 것도 할 필요가 없습니다 그것은 단지 자기에 대한 일반적인 변수를 선언합니다 self

pub, 여기 클래스의 속성입니다 보호 된 것으로 정의하려면 시작해야합니다 밑줄을 달고 개인적으로해야한다면, 이중 밑줄로 시작해야합니다 자, 여기에 문제가있다 만약 당신이 그것에 접근하고 싶다면, 이런 식으로 액세스해볼 수 있습니다

이제 여기 obpub와 ob_pro라는 것이 있습니다 내가 너에게 보여 주기만을 이것의 결과가 어떻게 될지 봅시다

그래서 나는 공개적으로 뛰었다 나는 보호 받고 있지만이 사람은 사적인 사람이 아니야 이것은 선언되었지만 실행되지 않았습니다 파이썬은 우리에게 오류를 던졌고 그게 전부입니다 이것이 사적인 변수로 만들기 위해 필요한 모든 것입니다

이제, 보호 된 밑줄이 붙었지만 어떻게 작동합니까? 당신은 보호 속성이 액세스 할 수있는 하위 클래스에서만 액세스 할 수 있습니다 수업 시간에 파이썬은 약간 유동적이거나 여유있는 것입니다 이 규칙들 이것은 대회를위한 것입니다

그래서 파이썬 개발자로서, 이것은 변수 파생 클래스 또는 클래스 내에서만 액세스 할 수 있습니다 그것은 매우 엄격한 규칙보다 관습에 더 적합합니다 그것은 강요 당한다 당신은 그것이 사적인 것에 대해서조차도 사실이라는 것을 알게 될 것입니다, 내가 액세스 할 수있는 방법이 있다는 것을 보여줄 것이므로 클래스의 private 변수 그래서 어떤 사람들은 매우 이상하고 이상한 이유를 발견합니다

세 가지 모두에 기본적으로 액세스 할 수 있습니다 그러나 그것이 왜 구별인가? 그것은 서로의 명예 시스템에 더 많은 것입니다 파이썬 개발자가 헤이,이 일을 만지지 마라 그러나 당신이 원한다면 당신은 본질적으로, 그러나 당신이 그것을하고 있다면 사람들은 그것을 알아 차릴 것입니다 그래서 숙련 된 파이썬 개발자들은 즉시 알아 차릴 수 있습니다

이봐 요,이 사람이 잡히면 전화해서 그들은 당신에게 질문 할 것입니다 따라서 팀 개발자와 함께 작업하는 경우, 그들은 당신에게 왜 이런 질문을할까요? 그래서 당신은 그것을 사용하는 좋은 이유가 있습니다 여러분이 보았 듯이, 파이썬은 두 개의 밑줄 메서드를 숨기려면 두 개의 밑줄을 사용할 수도 있습니다 변수를 숨기려면 그래서 우리는 변수와 같은 목적으로 그것을 보았습니다

메소드에도 적용됩니다 그래서 여기에 방법을 선언 할 수 있습니다 그리고 내가 시도하는 곳에서 이것을하려고하면 ob __ privatemethod 파이썬은 이미 이것을 강조했다

문제가 있습니다 헤이, 너 시도해 볼 수 있다고 말해 주려하고있어 그러나 이것은 효과가 없을 것입니다 이것은 아마도 작동하지 않을 것입니다 그럼 그걸 시험해 봅시다

그것이 작동하지 않는지보십시오 그래, 지금 큰 계시 개인 방법에 액세스 할 수있는 곳입니다 개인 메소드에 액세스 할 수 있지만이를 수행해야합니다 정말 이상한 구문을 사용해야합니다

edureka에 클래스의 이름을 추가합니다 그래서이 부분을 이름에 추가해야합니다 변수 또는 메소드의 속성 그런 다음 그것을 부르십시오 그래서 이것을 이렇게 부르겠습니다 이 런을보세요

따라서 개인적인 방법이나 속성조차도 접근 할 수 있습니다 내가 지금 이것을하려고하면 obd_Edureka와 케이싱 정확해야합니다 _Edureka, 그대로, 붙여 넣기를 복사해야합니다 왜냐하면 당신이 이것으로 시작한다면 그러고 나서 당신은 그것을 실행합니다

나는 사적인, 개인적인 방법입니다 둘 다 처형 당한다 이제 클래스 변수와 인스턴스 변수 그래서 우리는 이미 클래스를 정의한 곳에서이 작업을 수행했습니다 우리는 수업을위한 청사진을 세웠습니다

우리는 클래스의 인스턴스를 정의하고 있습니다, 여기 에드레카가 있습니다 과정을 설정하고 인쇄 할 수 있습니다 클래스 변수는 두 인스턴스가 공유하며, 객체 1과 객체 2 그래서 여기서 두 가지가 있다는 의미에서 여기서이 도메인과 같은 변수가있는 경우, 이것은 클래스 레벨 자체에서 정의됩니다 다른 인스턴스에서 동일하게 유지됩니다

이걸 보면 ob1domain과 ob2domain입니다 둘 다 데이터 과학이지만 ob1 및 ob2라는 이름 다를 수 있습니다 이것을 공통 공유 재산으로 생각하십시오

특정 클래스의 다른 클래스 인스턴스 또는 클래스에 대한 객체의 특정 인스턴스 인간이 5 번인 경우 클래스 변수가 숫자 5이면 기본값 항상 둘처럼 될 것입니다 그러므로 태어난 사람은 없습니다 유 전적으로 단 하나의 외눈 박이 된 인간이다 예, 시각 장애인이 있습니다

두 눈으로 태어난 사람들이 있습니다 일하지만 유 전적으로 모든 인간은 상상된다 두 눈, 세 가지가 아닌 하나의 눈을가집니다 그것은 고쳐질 것입니다 그런 식으로 생각하십시오

공유되는 특정 클래스 변수입니다 서로 다른 인스턴스의 특성으로 어떤 상황이든간에 다음은 생성자와 소멸자에 대한 이야기입니다 생성자는 ___init__ 함수를 사용하여 구현됩니다 자체 객체 다음에 오는 매개 변수를 정의 할 수 있습니다

소멸자는 __del__, 세 번째 이름을 사용하여 정의됩니다 객체가 삭제 될 때 호출됩니다 그래서 건물 생성자를 실제로 생성했다고 생각해보십시오 그것은 당신의 객체의 구성을합니다 기본적으로 청사진 인 클래스에 라벨을 지정했습니다

개체의 이제 그 객체의 인스턴스를 생성하기 위해, 생성자는 실제 행동을 취해야합니다 그 물건을 만드십시오 비슷하게, 소멸자는 기본적으로 작동 할 것입니다 해당 개체를 삭제할 때 그래서 건설되고있는 마천루와 같을 것입니다 어떤 것은 건설이 필요한 어떤 것들을 필요로합니다

일어날, 맞아 소멸자는 특정 물건이 필요할 것입니다 정리하고 삭제할 수 있습니다 자, 기본적으로 샘플 초기화 초기화이고 이것은 삭제입니다

그럼 예제를 살펴 보겠습니다 예를 들어 여기에있는 것은 생성자입니다 개인 보호 및 공개 메소드입니다 공개 속성이 설정되어 있습니다 마찬가지로 소멸자를 정의 할 수 있습니다

내가 말할 수있는 곳이라면, 내가 아무에게도 설정할 수 있다고 가정 해 봅시다 인쇄합시다 이제 여러 생성자에 대해 살펴 보겠습니다 원하는 경우 여러 생성자가 기본적으로 사용됩니다 같은 종류의 대상에 대한 청사진 종류의 종류 다른 방법으로

다른 방법으로 만 초기화 할 수 있습니다 여러분이하는 일은 꾸미기와 같은 데코레이터를 사용하는 것입니다 특정 객체에 대한 클래스 메소드 이 장식 자의 역할은 CLS를 통과한다는 것입니다 자기 물건을이 특별한 물건으로도 예를 들어, 내가 만들고 싶다고 가정 해 봅시다

또 다른 생성자 나는 클래스 메서드를 선언 할 것이다 이것은 기본적으로 CLS를 취합니다 이번엔 내가 원하는 걸 가정 해 봅시다 그래서 여기 오른쪽에 눈치 채면, 무엇이 끝났습니까? 특정 메소드를 호출해야한다는 것입니다 인스턴스를 생성 할 때 내가 할 일은 객체를 생성하는 것이다 ob = EdurekamyCustomConstructor 그리고 값을 400으로 전달하십시오

일반적으로 객체를 만들었습니다 기본 객체 인 경우이 방법으로 만듭니다 사용자 정의 객체가 필요한 경우, 그것은 이런 식으로 창조 될 것입니다 이제, 객체 지향 프로그래밍의 특정 핵심 개념 추상화, 캡슐화, 상속, 재정의 및 다형성 이것들을 하나씩 살펴 봅시다

추상화, 추상화는 복잡한 현실을 단순화합니다 클래스를 모델링하여 이것이 의미하는 바는 당신이 팬을 보았을 때, 내부적으로 어떻게 작동하는지 알 수 없습니다 대부분의 사람들은 자동차가 내부적으로 어떻게 작동 하는지를 모릅니다 또는 엔진 작동 방식 또는 혼 작동 방식, 그러나 당신은 그것과 상호 작용하는 방법을 알고 그것을 사용합니다

내가이 성명서처럼 단순한 것에 대해서 이야기한다면 안녕하세요 작동합니까? 어떻게 작동합니까? 여기 어떻게 콘솔에 뭔가를 인쇄합니까? 나는 너의 대부분이 그것에 대답 할 수 없을 것이라고 확신한다 그리고 심지어 나는 대답 할 수 없을 것이다 그 의미에서 나는 어떻게보아야 할 것인가? 이것은 실행되었습니다 그래서 이것이 어떻게 일어나고 있는지에 대한 세부 사항은 나에서 추상화

파이썬 라이브러리를 실제로 열어야합니다 그리고 파이썬 코드베이스는 이것이 어떻게 이루어지는 지 이해합니다 여기에 무언가를 인쇄하십시오 따라서 파이썬을 올바르게 배울 때, 우리가 모든 일을하기 시작한다면 파이썬 학습을 끝내지 않을 것입니다 우리는 그 문제에 대해 아무것도 배울 수 없을 것입니다

또는 무엇이든을 사용하는 것을 배울 수있을 것이다 그래서 추상화가 일어날 필요가 있고 그것은 매번 일어납니다 특정 것들이 작동하는 프로그래밍 언어 어떤 방식 으로든 당신은 몰라요 네가 뭔가 할 필요가있을 때까지는 너는 모른다 그 특별한 방법이나 목적을 가지고 평범하지 않다

또는 당신이 제시하는 것이 무엇이든간에 따라서 팬이 없기 때문에 수리를 원한다면 주변 사람을 수리해라 그러면, 또는 팬이나 자동차를 수리하기에는 너무 비쌉니다 그것은 당신이 그것에 대해 배우게 될 때입니다 팬을 켜기 만하면 안됩니다

캡슐화는 코드를 인터페이스에 결합하는 것을 의미합니다 여기에는 메소드 작성, 변수 작성, 클래스를 사용하여 모든 종류의 열거 형을 만들고 목록을 만듭니다 우리는 캡슐화되어 있습니다 우리는 그것을 더 이전 가능한 방식으로 수집하고있다 여러 시나리오에서 재사용 할 수 있습니다

그것은 그런 종류의 방법으로 융통성이 있습니다 상속이란 관계가 있다는 사실을 말하며, 부모와 자식 사이에 가장 큰 관계가있다 너 주변에있는 것들의 차를 바로 보시면 부모가 있습니다 자전거가 카테고리 차량에 속하는 관계 자동차의 카테고리는 차량 카테고리에 속하며, 버스는 카테고리 차량에 속합니다 아마 자동차, 버스 및 트럭은 다른 차량을 가질 수 있습니다

차량 다음의 하위 카테고리 4 륜 차량 밑에있는 하위 범주 자전거도 마찬가지입니다 상속은 자연스럽게 발생하는 것입니다 우리의 프로그래밍에 사용할 수있는 것들도 우리에게있다

현실 세계를 모델로 만들려면 소프트웨어가 결국 모든 것입니다 이제는 여러 유형의 상속이 있습니다 하나는 부모가 있다는 점에서 하나의 상속입니다 학급에는 아이가 있고 여러 명이있을 수 있습니다 A 클래스와 B 클래스로부터 상속받는 것으로 간주되는 상속 그런 다음 다중 레벨 상속이있을 수 있습니다

이것은 부모와 아버지, 어머니와 같습니다 이것은 할아버지, 아버지, 손자와 같습니다 그래서 B는 C의 아버지, C는 B의 아들, 또는 B는 A의 아들이고 A는 B의 아버지입니다 단일 상속에 대해 이야기 해 봅시다 기본적으로 상속이하는 일은 한 클래스의 속성과 메서드를 확장합니다

다른 반에 하나의 청사진에 특정 속성이있는 경우 그리고 어떤 것을 모델링하는 특정 것들은, 우리 주위에 세계를 모델링 한 것입니다 객체가있는 곳, 예를 들어서 현실 세계에는 분명히 무게가 있습니다 객체라고 부르는 객체가 존재하지 않습니다 무게가없는 현실 세계에서, 또는 폭이 없다

그것들은 일반적인 속성이지만, 속성 특정 개체에 고유 한 같은, 색상, 개체의 색상을 가정 해 봅시다 다른 객체에 따라 다를 수 있습니다 특정 객체에 대해 존재할 수도 있고 존재하지 않을 수도 있습니다 예를 들어, 우리가 심지어 물을 생각한다면, 물의 덩어리처럼 물체가 어떤 색도 가지지 않을 것입니다 물은 근본적으로 무색이기 때문에 color 속성은 (음성 차단)하지 않습니다

이 특정 객체에 대해 다른 속성이 여전히 존재합니다 이것이 작동하는 방식은 기본 클래스를 정의 할 수 있다는 것입니다 그 속성과 메소드를 정의 할 수 있습니다 그런 다음 다른 클래스를 정의 할 수 있습니다 기본 클래스에서 상속됩니다

상속이 작동하는 방식은 아이 클래스에의 클래스의 이름 이제 자식 클래스의 인스턴스를 만들 때 정의되지 않은 경우에도 fun이라는 함수를 호출합니다 여기에 정의되어 있지만 여기에 정의되어 있으면 실행됩니다 그러므로 이것을 시도해보고 이것이 효과가 있는지 없는지 살펴 봅시다 클래스 기초 1에서 이제는 항상 재미있는 수업을 여기서 할 수 있습니다

대신이 프로그램을 실행할 수 있습니다 이제 나는 하위 학급에있다 따라서 이것이 작동하는 방식은 먼저 보게 될 것입니다 클래스 이미지 내의 클래스 이름 그리고 그것을 발견의 사슬을 올라갈 것입니다 부모 클래스 다중 상속에 대해 이야기 해 봅시다

두 클래스에서 상속 받고있는 클래스 그래서 먼저 이것을 보겠습니다 첫 번째 객체가 있고, 두 번째 객체가 있습니다 그리고 세 번째 객체가 상속됩니다 이 첫 번째, 두 번째, 첫 번째 것에서

상속 메소드가 호출되면, 실행되는 것을 끝내자 맞아, 우리가이 일을 할 때 우리는 또한 이 메소드를 호출하는 수퍼 메소드 그래서 이것은 기본적으로 내 상급자에게 전화하는 것입니다 일종의 클래스를 호출합니다 클래스는 상속 받고 있습니다

그것이 두 번째와 첫 번째로부터 상속되기 때문에, 이 두 메소드 모두 호출됩니다 처음에는 전화가오고 두 번째 전화가옵니다 물론 세 번째도 인쇄됩니다 물론 다중 레벨 상속이 있습니다 다중 레벨 상속, 작동 방식, 그것은 할아버지와 마찬가지로 하나의 계급이며, 아버지와 자식

그러므로 분명히 먹을 수있는 동물 계급이 있습니다 당신은 짖을 개 클래스가 있습니다 그 다음 당신은 아기 개를 가지고있다, 그것은 삑하고 울릴 것이다, beepclass가있는 그래서 아기 개 클래스의 인스턴스를 만들 수 있습니다 d

bark 또는 dbeep에서 deat를 호출 할 수 있습니다 우리가 적은 코드를 썼다면, 그렇지 않으면 우리는 이 코드를 반복해서 정의 할 수 있습니다 사용할 수있는 매우 확실한 개념입니다

프로그래밍에서 코드 조각을 재사용 할 수 있습니다 창조적 인 편집을 통해, 클래스 내에 래핑하여 가정을 생성합니다 그리고 그들 사이에 이런 종류의 관계를 만들어야합니다 좋아, 그럼 방법을 무시 이제 이것은 우리가 해왔 던 것입니다

이전 예제에서는 내가 수업을 보여줬을 때, 맞았습니다 나는 이것을 당신에게 보여주었습니다 나는이 방법을 무시할 수있었습니다 다른 예를 살펴 보겠습니다 그래서 이것을 보면, 이것은 다음과 같은 매개 변수입니다

myMethod 그리고 아이가있다 또 다른 myMethod가 있습니다 이제 자식 변수의 인스턴스를 만들 수 있습니다 나는 그것에 대한 myMethod를 호출 할 수있다 지금 비록 myMethod가 부모 안에 존재하더라도, 아이가 전화를 받게됩니다

이걸 너에게 달아 줘 그래서 자식 메서드가 호출되었습니다 우리가 어떻게 한거지? 이것은 또 다른 제한적인 예입니다 클래스 사각형이 있고 클래스 사각형이 있습니다 사각형에서 상속됩니다

이제 구역을 불러 오면, 우리가 그것을 인쇄하기를 원하기 때문에 사각형 내부에 존재한다 어떤 방식으로 A는 정사각형 영역이므로 자연스럽게는 안됩니다 직사각형의 get 영역을 호출하십시오 부정확하지 않은 직사각형을 인쇄합니다

왜냐하면 모든 사각형도 사각형이기 때문입니다 그렇지만 우리는 그렇게하고 싶지 않습니다 우리는 사각형의 get area를 호출하기를 원합니다 약간의 오버로딩이나 오버 라이딩은 우리를 도울 것입니다 자식 클래스는 부모 클래스 메서드를 재정의 (override)합니다

다형성은 동일한 인터페이스를 활용할 수있는 능력입니다 데이터 유형 또는 클래스와 같은 다른 기본 양식의 경우 이제 백만장 자와 학생이 둘 다 계산서를 지불해야하지만 지불 방법은 아마도 이 법안은 다르고 법안을 지불 할 것입니다 무슨 일이 일어나고 있는지에 따라 달라집니다 그래서 다형성은 기본적으로 같은 것을 말합니다

또는 동일한 객체가 다르게 동작 할 수 있음 다른 시나리오에서 학생 인 경우, 수표로 청구 할 수 있습니다 부모님,하지만 만약 당신이 백만장 자요 청구서, 신용 카드로 지불 할 수도 있습니다 또는 직불 카드로 지불 할 수도 있습니다

두 가지 다른 방식으로 그 지불 계산서가 공통적 인 무언가이기 때문에 사람에게, 맞아하지만 그것이 끝난 방법은 누가 계산서를 지불하는지에 따라 변경하십시오 이것 좀 봐 클래스 cat이 파생되고 클래스 dog 또한 동물 계급에서 유래하고 있습니다 당신이 그 둘 모두가 최고 방법이라는 것을 관찰한다면

Ctalk와 dtalk는 다르게 동작합니다 그래서 다형성은 물론 당신이 한 일을 의미합니다 콘서트 메서드 오버라이드를 사용했다는 것입니다 더 일찍, 그러나 모든 동물에 animal

talk이 있습니다 그러나 cat은 본질적으로 인스턴스입니다 동물 개체의 이것은 본질적으로 고양이와 개 모두 다형성 때문입니다 동물이지만, 전화가 걸려 오면, 둘 다 다르게 행동합니다

그래서 같은 종류의 속성이 호출되고 있습니다 그러나 행동은 다르고 다형성입니다 동일한 객체의 여러 형태가있는 곳입니다 따라서 getter 및 setter 메소드라고도합니다 이것들은 프로그래밍 관례 상 다소 차이가 있습니다

그래서 당신은 속성에 직접 접근 할 수 있습니다 (mumbling) 하지만 클래스의 getter와 setter를 사용할 수도 있습니다 값을 설정하면 값을 얻을 수 있습니다 이것은 기본적으로 전통적인 방식입니다 이것들이 사용된다면,이 방법들이 보급되거나 사용된다 많은 경우에 데이터를 수정해야 할 수 있습니다 당신이 그것을 사용하기 전에

당신은 당신이 알고 있어야 할 수도 있습니다, 그것에 기호를 추가, 설정하기 전에 수정을하십시오 아무도 그 일을 할 수 없길 바랄뿐입니다 당신은 그것이 안전하고 안전한 방법으로 수행되기를 원합니다 어쩌면이 객체가 데이터베이스에 의해 설정 될 수 있습니다 아무나 데이터베이스에 액세스하기를 원하지는 않습니다

저렇게 적절한 정의를 통해 액세스가 이루어지기를 원합니다 그렇지 않으면 복잡하기 때문에 채널 그것이 세터와 게터를 사용할 곳입니다 이제 예제를 살펴 보겠습니다

에드레카 교실, 우리는 코스 이름을 정하고 있습니다 우리는 edureka의 대상을 만들고 있습니다 우리는 인쇄하고, 코스 명을 얻고, 우리는 코스 명을 정할 것입니다 그래서 우리는 또한 이것을 할 수있었습니다 대안은이 권리 일 수 있었고, 하지만 대문자를 사용해야한다고 가정 해 봅시다

당신은 그것을 대문자로해야했습니다 매번 대문자 만 인쇄해야했습니다 이것은 데이터에 대해 수행해야하는 변환입니다 업데이트 할 때마다 수행해야하는 경우 한 번만 쓰면 upper를 작성하는 것이 번거로울 수 있습니다

매일 한 번씩 (말하기가 왜곡되어) 만들어야합니다 또는 똑같은 것이 이것에 적용될 것입니다, 코스 이름을 반환하면 항상 대문자로 설정하십시오 그래서 getters와 setter를 사용할 것입니다 우리가 어떻게했는지보십시오 (쾌적한 기악) 이제 우리는 루프로 끝난다

우리는 루프에 대한 기본적인 소개를했습니다 표준 라이브러리로 넘어 갑시다 파이썬에서 사용할 수 있습니다 표준 라이브러리는 도구 모음입니다 파이썬과 함께 제공됩니다

그것은 다음을 포함하며 내장 된 것을 포함합니다 기능, 모듈, 패키지 그래서 그들 중 일부는 이미 사용하고 있습니다 다른 것들을 살펴 봅시다 파이썬에서 사용되는 모듈

모듈은 기본적으로 논리적으로 허용합니다 코드를 구성하십시오 클래스, 함수를 포함 할 수 있습니다 하나의 간단한 것은 제가 유틸리티 모듈을 가지고 있다는 것입니다 또는 모든 DV를 수행하는 DV 모듈을 사용할 수 있습니다

당신이나 다른 사람을위한 상호 작용 따라서 코드의 논리적 배치, 논리는 1과 0이 아니지만 논리적입니다 좋아,이 코드 덩어리가이 파일에 있어야합니다 이 파일은 데이터베이스를 처리하며이 파일은 다음을 처리합니다 PDF 파일을 가정 해 보겠습니다

이 파일은 파일 처리를 다루겠습니다 이 파일은 이것을 처리합니다 논리적으로 나누어 코드를 나눕시다 그런 다음 그것을 모듈이라고 부릅니다 마지막으로 파이썬 파일 일뿐입니다

확장자는 py입니다 그래서 다른 사람들과 다른 것은 아닙니다 파이썬, 모듈이라고 불리는 것입니다 왜냐하면 그들은 특정한 방식으로 조직되어 있기 때문입니다

그리고 내가 말했듯이, 모듈은 파이썬을 담고있는 파일이다 정의 및 진술 따라서 가져 오기를 사용할 때마다 가져 오기를 사용할 때마다 Python에게 모듈을로드하도록 지시한다 파이썬 인터프리터가 import 문을 발견하면 모듈이있는 경우 모듈을 가져옵니다 첫 번째 부분

그래서 그것은 같은 곳에있는 모듈을 찾을 수 있습니다 데이터 트리 및 경로가 주어진되었습니다 같은 데이터 트리, 현재 파일과 같은 폴더 결국 해당 모듈을 가져옵니다 자, 두 가지가 있습니다

하나는 당신이 가지고있는 것입니다 자신의 파일 또는 작성한 자신의 모듈 가져 오는 중입니다 또는 파이썬에서 무언가를 가져오고 있습니다 항상 사용할 수있는 표준 라이브러리 검색 경로에 세 번째는 목록을 반환하는 내장 함수입니다

모듈에 의해 정의 된 이름을 포함하는 문자열 변수 함수 목록을 제공합니다 해당 모듈에 정의되어 있습니다 따라서이 방법으로 모든 파일은 모듈이며 어떤 방향으로 모든 변수를 제공하는지, 해당 모듈에서 사용할 수있는 모든 것 그래서 밑줄과 같은 특정 숨겨진 것들은 의사에게 밑줄을 긋고, 언더 스코어가로드되었습니다

기본적으로 사용 가능합니다 이것 좀 보죠 이 모든 것을 닫을 수 있습니다 그래서 제가 수학을 가져 오기로 가정 해 봅시다 1, b는리스트와 같습니다

C가 같으면 dir을 호출합니다 결과가 어떻게되는지 보자 보세요, a, b, c, 수학이 있습니다 무엇을 모두 사용할 수 있는지 특히 확인하고 싶다면 수학 안에서, 당신은 이것을 할 수 있습니다 이 종류는 많은 기능을 제공합니다

수학 모듈에서 많은 함수, 많은 변수가있을 수 있습니다 이것들은 조금 혼란 스러울 수 있습니다 이 밑줄에는 어떤 종류의 변수가 있습니까? 하지만 파이썬 내부에 ​​있다는 것을 알아야합니다 파이썬은 이들을 사용하여 코드를 구성하고 실행합니다

파이썬이 사용하는 코드에 관한 메타 데이터입니다 import 문을 사용하면 가져올 수 있습니다 특정 모듈의 특정 속성 현재 이름 공간에 저장합니다 가져 오기와 같이 작동하지만 가져올 수 있습니다 특정 물건

이 권리를 볼 때 우리는 많은 수입을했습니다 이러한 기능 중 모든 기능이 필요하지 않은 경우에는 어떻게해야합니까? 코사인 또는 10 또는 제곱근 만 있으면 어떻게 될까요? 왜 그럴 수 없습니까? 여러분이 할 수있는 일은 수학에서 가져올 수 있다는 것입니다 가져 오기, 제곱근을 가져옴 또는 코사인을 가져 오자 이제 해보 죠

이 특별한 수준의 Dir 결과가 무엇인지 보자 그래서 지금 보시면 수입하지 않습니다 전체 수학 모듈 그냥 제곱근을 가져 왔습니다

사용할 수있는 다른 기능을 사용하려는 경우 수학 모듈에서, 당신은 할 수 없을 것입니다 수학 모듈의 모든 기능을 사용하려면 우리는 전체를 가져올 수입 수학을 사용해야합니다 모듈이지만 여기서는 구체적으로 설명하고 있습니다 우리는 이봐, 도서관에 가서이 책을 가져갈 것이라고 말하고있다 또는 우리는이 책에서, 이 특정 페이지를 얻으십시오

가져 오기 수학은 전체 수학 서적을 가져 오는 것과 같습니다 그것은 매우 크고, 뚱뚱하다고 가정 해 봅시다 따라서 모든 것을 가져오고 싶지는 않습니다 하지만이 방법이 더 효율적입니다 특정 물건

따라서 권장되는 방법입니다 실제로 더 나은 방법입니다 당신이 특정 물건을 가져오고, 네가 필요로하는 것만 무슨 일이 일어나기 때문에 그들은 컴퓨터의 메모리와 불필요한 부분이 많은 경우 저기에있는 기능들, 문제를 일으킬 수 있습니다 그들을 다루는 데 어려움이 있습니다 가져 오기 *도 있습니다

그래서 당신도 이것을 할 수 있습니다 수학에서 가져 오기 *는 가져 오기 수학과 거의 같습니다 그러나 이것은 권장되지 않습니다 이것은 권장하지 않기 때문에, 내 말은, 그것은 거의 비슷하지만 모든 것을 가져오고 있습니다 시나리오를 생각해 봅시다

변수를 가정 해 봅시다 수학 모듈에 정의되었습니다 이는 사용중인 변수와 동일한 이름입니다 이제는 기회가 적다는 것을 알지만 더 많은 숫자가 있습니다 파일의 개수가 많을수록 읽고있는 라이브러리의 수가 많아지고, 충돌 가능성 수학 모듈, 다른 파일이고, 같은 이름의 변수를 가지고있다

당신이 사용하는 것처럼 그래서 당신은 정말로 당신이 수입하는 것에 대해 조심하고 싶습니다 예기치 않은 오류가 발생할 수 있습니다 자, 이것들은 여러분이 즉시 보게 될 오류가 아닙니다 이 오류는 런타임에 찾을 수 있습니다

출력이 정확하지 않기 때문입니다 따라서 import 문을 사용하는 방법에 조심하십시오 그것을 사용하는 가장 책임있는 방법은 이 특별한 방법 리로드 기능은 기본적으로 매우 멋진 도구입니다 그것은 특정 모듈을 다시로드한다는 것입니다

이제 두 파일을 작업한다고 가정 해 봅시다 특정 파일을 수정했습니다 다른 파일은 이미 실행 중입니다 실행중인 모듈을 다시로드하기를 원합니다 신선한 코드

특정 모듈을 다시 가져옵니다 다시로드하라는 메시지가 표시됩니다 이제는 매우 중요한 모듈 중 일부입니다 파이썬에서 사용 가능합니다 sys 모듈, Os 모듈, math 모듈, datetime, random 또는 dual enter, JSON 모듈

이제 파이썬에서 중요한 모듈을 배우자 Sys 모듈, 그래서 Sys 모듈은 기본적으로 무엇을 하는가? 일부 변수에 대한 액세스를 피하는 것입니다 통역사와 기능을 유지하는 데 사용됩니다 통역사와 강력하게 상호 작용합니다 그들이 밀접하게 관련되어 있다는 것은 강력합니다

파이썬 인터프리터에게 자, 그것이 작동하는 방식은 당신이 Sys를 가져 오는 것입니다 당신이 그걸로 할 수있는 아주 일반적인 것들 sysargv입니다 전달 된 모든 명령 줄 인수를 저장합니다

파이썬을 시작할 때 그래서 예제를 보여 드리겠습니다 이제 내가 터미널에 가보자 이 파일을 실행합니다 나는 논쟁을 패스한다

주의 할 점은이 sysargv는 파일 이름 실행 된 하나, 둘, 셋은 문자열입니다 따라서 전달 된 모든 매개 변수에는 문자열이 있습니다 그래서 그것은 또한 이것을 할 수 있습니다 파이썬 파일을 실행할 때마다 이렇게됩니다

커맨드 라인을 통해 당신은 인수 sysexit은 기본적으로 시스템 종료를 의미합니다 터미널 실행을 종료합니다

그래서 전혀 다른 것은 아닙니다, 나는 그것이 어디에서나 일어난다는 것을 의미합니다, 그러나 systexit는 당신이 사용하는 어떤 것일 수 있습니다 실행을 종료하려고 할 때 파이썬 파일을 실행하고 있다고 가정 해 봅시다 명령 줄에서 실행을 종료하고 싶습니다

일부 오류 조건에 따라 특정 시점 이후 그런 일이 일어났습니다 그것이 통역관에게 종료 할 곳입니다 내가 이렇게하면 내가 보여줄 수있는 또 다른 것, 내가 importsys와 systexit라고 할 때

터미널을 닫았습니다 그것은 파이썬 인터프리터를 닫았습니다 Sys의 다른 중요한 것들이 있습니다 이것은 winver입니다

MacBook에 있기 때문에 내 컴퓨터에서 작동하지 않습니다 하지만 MacBook에 없었 더라면 Windows에 있다면 시스템에서는 Windows 버전을 제공합니다 달리고 어떤 결과물을 볼 지 봅시다 그래, 나 때문에 오류를 던질거야 Windows 시스템

그래서 이것은 효과가 없지만 다른 하나를 시도해 볼 수 있습니다 sysflags가 무엇인지 살펴 보겠습니다 그것은 우리에게 몇 가지 깃발을줍니다 이 플래그들은 무엇입니까? 이와 같은 플래그들이 설정됩니다

0 또는 1로 설정하십시오 명령 행 플래그 상태를 표시합니다 사용할 수 있습니다 이제이 플래그들은 본질적으로 커맨드 라인 작업의 종류와 기본적으로 그 가치를 제공합니다 명령 줄의

sysprefix를 보자 좋습니다, systprefix는 기본적으로 당신에게 어디에 있는지 알려줍니다 작업 환경이나 파이썬 경로가 있다는 것을 의미합니다

어떤 환경을 설정했는지 또는 가지고 있다면 파이썬이 설치되어 있으면 기본적으로 알려줄 것입니다 Python이 시스템에 설치되어있는 곳 현재이 프로그램을 실행하는 데 사용됩니다 이제는 sys 모듈이 더 유용하다는 것입니다 다시, 당신이 운영 체제와 상호 작용할 때 또는 명령 줄과 상호 작용하고 있습니다 당신이 그것을 사용한다면 그것을 많이 사용하지 않을 것입니다

데이터 과학 목적으로 사용하거나 웹 개발 목적 이 기능은 사용자가 당신이 작업하고있는 운영체제 os 모듈로가 봅시다 os도 관련이 있습니다 운영 체제로 그것은 당신이 디렉토리와 같은 특정 일을하게합니다

파일 조작 따라서 디렉토리를 만들 수 있습니다 그것은 당신이 디렉토리를 만들 수 있습니다 디렉토리를 제거 할 수 있습니다 그럼 이러한 것들을 시도해 봅시다

좋아, 그럼 네가 할 일은 우리에게 유용한 것들을 가지고 있습니다 첫 번째는 osname입니다 나는 posix 시스템에있다 기본적으로 맥북에 관한 것이다

운영체제의 이름은 MacBook이 아니며, 마케팅 이름이지만 posix입니다 그렇다면 환경은 그것이 존재한다는 것입니다 저장된 특정 환경 변수 모든 컴퓨터에서 이것은 Windows 환경에서도 마찬가지입니다 특정 환경 변수, 전체 운영 체제가되는 환경, 특정 변수가 설정되어 있습니다

전체 키맵 또는 사전 제공 환경 변수 중 그렇다면 로그인을 얻는 방법이 있습니다 프로세스 ID를 제공하는 get ppid 함수 현재 함수의 이걸 보시면 운영 이름이 나옵니다 시스템, 종속 모듈 가져 오기, 문자열을 나타내는 객체의 매핑을 반환합니다 환경에 로그인 한 사용자의 이름을 반환합니다

프로세스의 제어 터미널에 이 터미널에 로그온 한 사용자는 _mysql입니다 DVS와 아무 관련이 없다 단지 이름 일 뿐이다 내 시스템에서 사용자의 상위 프로세스 ID를 리턴합니다

osgetppid를 사용하여 테스트 스위치의 ID를 리턴합니다 이 특정 파이썬 파일을 실행합니다 이제 이전 슬라이드에서 본 다른 것들, 그래서 우리는 또한 현재 작업 디렉토리를 얻는다 고 말할 수있다 그걸하자

이 특정 디렉토리에 있음을 알 수 있듯이 지금은 Python Edureka, DS mod 3, DS mod 3 나는 이것을 사용하여 디렉토리를 만들 수도있다 정확하게 인쇄 할 필요가 없으므로 이것이 표시되었음을 알 수 있습니다 인쇄물로,하지만 인쇄물을 사용하지 않고 디렉토리를 만들자 여기에 이름 테스트와 함께 디렉토리를 사용할 것입니다

알아 차리면 테스트 디렉토리가 생성됩니다 이제 테스트 할 디렉토리를 변경할 수 있습니다 나는 단지 그것을 주석 처리하여 우리가 생성하지 않도록 할 것이다 디렉터리에 우리는 디렉토리를 변경했습니다

osgetcwd를 인쇄 할 수 있습니다 Cwd는 현재 작업 디렉토리입니다 파이썬은 그것이 어느 디렉토리에 있는지를 안다 어떤 주어진 시점에서

이제 현재 작업 디렉토리를 볼 수 있습니다 이거 야 지금 내가하려고하면, 가정 해 봅시다이 파일들 중 하나를 가져 오십시오 여기있어, 내가 일하기 때문에 효과가 없을거야

다른 디렉토리 마지막으로 디렉토리도 제거 할 수 있습니다 내가 할 일은 그걸 줄테니까 시험의 이름 주목한다면이 특정 디렉토리가 사라졌습니다

그렇기 때문에 os 경로 모듈은 매우 유용합니다 그것은 우리가 현재의 경로로 몇 가지 일을 할 수있게 해줍니다 우리가있는 곳 왜 이것이 파이썬에서 필요합니까? 파이썬이 os 모듈이나 경로 모듈을 사용하는 한가지 내부적으로 파일을 찾는 것입니다 어떤 종류의 모듈 가져 오기를 수행 할 때마다 그리고 당신도 알다시피, 당신은 함수를 가져 오려고합니다

내장 함수 또는 그 종류의 것 파이썬은 이러한 방법을 내부적으로 사용합니다 그것은 확실히 좋은 생각입니다 어떻게 파이썬이 내부적으로 이런 것들을 다루는 지, 그것은 단지 마법이 아니라는 것입니다 다른 개발자가 작성한 코드 내부적으로 발견하고있다

그 모든 것을 하나씩하는 것 그래서 ospathjoin을 보자 하나 이상의 경로가 필요하다는 것은 무엇을 의미합니까? 현재 운영 체제를 사용하여 이들을 조인합니다

경로 분리 기호, 경로 구분 기호가 무엇이든간에 은 기본적으로 당신에게 그것을 돌려줍니다 그래서 이것을 시도해 봅시다 Apple 및 Apple 사용자가 공유하는 사용자로 변경합니다 다시 한번 실행 해 봅시다 맞아, 그것은 두 경로를 하나로 합쳤다

완전히 다른 것으로 가정 해 봅시다 결과물을 보도록하겠습니다 좋아, 나는 이것이 모두에게 분명하기를 희망한다 절대 경로가 무엇인지 살펴 보겠습니다 상대 경로 이름을 사용하여 해당 경로 이름을 반환합니다

절대 경로 DS_mod를 제공 할 수있는 방법 그래서 우리는 DS_mod3입니다 달리기를 통해 우리가 얻는 것을 보자 DS mod 3이 필요하다는 것을 알았다면 그것의 영역 안에서, 그리고 그것은 어이, 이것은 그것의 후방 부분입니다

이것은 그것의 절대 경로입니다 파일 이름으로 시도해 볼 수도 있습니다 우리가이 파일에서 시도해 보겠습니다 condrpy

우리는 그것을 실행합니다 자동으로이 파일의 위치를 ​​찾았습니다 이 파일의 전체 부분 안에 있지 않은 것을 써 보자 여기 뭔가를 시도해 보겠습니다

여기서 우리는 infopy를 사용합니다 절대 경로가하는 일은 전류가 필요하다는 것입니다 작업 디렉토리 그래서 우리가 현재 작업 디렉토리를 가져 가면 여기에 전달할 문자열을 추가하십시오

그게 전부입니다 우리가했던 것처럼 현재 작업 디렉토리를 얻을 것이다 여기에,이 길로 가려고, 그리고 그것은 그것을 무엇과도 연결시킬 것입니다 너는 그걸로 지나가고있어 이제 normpath는 비표준 경로 이름을 변환합니다

형식을 표준 형식으로 변환합니다 그렇다면 표준 형식은 무엇입니까? 한번 보죠 다시 os 모듈 py를 참조하겠습니다 좋아, 이것은 정규화 된 경로입니다 이제 이걸 가져 가자

이것은 이것을위한 정규화 된 경로입니다 이제 우리가 이걸 가정 해 봅시다 출력을 봅시다 좋아, 이것은 결과이다 이것은 이것을위한 것입니다

Ospathsplit, 경로 이름이 필요한 작업은 무엇입니까? 그것을 두 부분으로 돌려 보낸다 디렉토리 부분 및 파일 이름 경로 이것은 매우 유용합니다

이것을 시도해 봅시다 전체 경로를 ospathsplit에 제공하십시오 이 첫 부분이 디렉토리라는 것을 알 수 있습니다

두 번째 부분은 실제 파일 이름입니다 첫 번째 부분은 전체 디렉토리입니다 두 번째 파일 이름입니다 따라서 ospath

exists를 사용하면 매우 간단하게 경로 존재하는지의 여부, 특정 폴더 또는 경로가 존재하는지 여부 우리는 이것을 시도 할 수 있고 값은 거짓 일 것입니다 나는이 종류의 폴더가 없기 때문에 하지만이 특별한 일을 바로 시도해 보면, 그것은 존재합니다 그래서이 클래스 데모로 시도해 보도록하겠습니다

이것은 존재해야하고 가치는 사실입니다 예, 실제로이 시스템에 존재합니다 다음은 특정 것이 있는지 확인하는 것입니다 존재하지 않았던 것들 그래서 파일 이름을 전달하면, 디렉토리가 아니라고 말해야합니다

Python 파일이므로 디렉토리가 아닙니다 이제 내가이 말을하고 도망 갔다 그럼 이쪽의 디렉토리입니다 지금은 운영 체제가 작동하지 않습니다 또는 그것에주는 경로를 횡단합니다

그것은 당신에게 당신을 준다, 그것이 무엇을 보답으로 주는지 보자 그래서 생성기를 주거나 iterator를줍니다 그럼 실제로 더 나은 방법으로 사용합시다 실제로 그것이 우리에게주는 것을 보아라 맞아요

그래서 우리에게 많은 것들을줍니다 실제로 우리에게 많은 파일을 제공합니다 현재 존재하는 전체 디렉토리 세트를 나열합니다 demos / python / edureka 클래스에 있습니다 아마 조금 너무 많아서 조금 돌아 가자

여기에서 시험해보고 우리가 이걸 가지고 무엇을 얻을 수 있는지보십시오 DSmod3에서만이 디렉터리에서 사용할 수 있습니다 어떤 일이 발생하기 때문에 파일이어야합니다 왜 너는 여기서 너무 많은 결과물을 얻고 있니? 파이썬 edureka 밑에는 많은 것들이 있기 때문입니다 이 폴더는 거대합니다

그래서 대신 이것을 시도해 봅시다 자, 이건 좀 나아 졌어 시스템 파일 인 idea가 있습니다 무시하십시오

피케 (pycache) 라 불리는 것이 있습니다 파이썬 캐싱과 관련이 있습니다 하지만 네가 이것을 보았다면, 이것은 모두의 목록이다 여기에 표시된 파일들 os

walk에서 할 수있는 일은 다음과 같이 할 수 있습니다 폴더에 들어가 탐색하거나 탐색 할 수 있습니다 귀하의 다른 폴더에 시스템 파이썬 파일 수학 함수에 대해 이야기 해 봅시다 수학 함수에 대한 액세스를 제공합니다

몇 가지 중요한 수학 함수를 살펴 보겠습니다 좋아, 수학 상한점을 달아, 이걸 실행 해 보자 맞아, 천장이야 가능한 가장 높은 숫자로,이 경우 11입니다 그것은 천장이하는 일입니다

Copysign이하는 일은 그것이 사인 등을 복사한다는 것입니다 변수의 왼쪽 안의 오른쪽에 있습니다 이것은 여전히보다 나은 방법입니다 음의 값으로 곱하면됩니다 물론 복잡한 경우가 필요합니다

복소수 또는 다른 종류의 시스템과 같은 사인을 복사하는 것은 사소한 일입니다 이것은 음수의 양수 값으로 끝납니다 주어진 것입니다 숫자가 양수이면 출력이 무엇인지 봅시다 출력은 변하지 않으며, 이것이 정수라면, 그러면 이것은 절대 절대 값입니다

절대 값은 절대 값입니다 이것은 19 ~ 190조차도 변환하지 않습니다 보시다시피 그렇다면 수학이 있습니다

exp는 근본적으로 힘입니다 너에게 전자의 결과를 준다 당신은 그것을 전달합니다 그런 다음 우리는 e를 x에서 1을 뺀 값으로 반환하는 expml을가집니다 여기서 x는이 예에서 2입니다

이것은 로그이므로, 10의 mathlog 10은 로그를 반환합니다 10 ~ 10의 기수 이제 당신이 전자 또는 로그를 알지 못하는 경우에 대비하여, 그것은 당신이 나누어야 할 수학의 종류와 같습니다 그러나 이것들은 전혀 복잡하지 않습니다 당신은 입력을주고 힘을 얻을 수 있습니다

및 원하는 대수 값 마찬가지로, 우리는 사인과 코사인을가집니다 각도에 따라 acos를 얻을 수 있습니다 그럼 아틴, 아탄, 코사인 여기서 모든 값을 얻을 수 있습니다

파이썬은 다양한 유즈 케이스를 가지고 있다고 말했던 것처럼 과학적 유스 케이스를 포함한다 이것이 파이썬에서 내장 된 이유입니다 당신이 알고있는 곳에, C ++을 가정하자 어디서 가져오고 가져와야하는지 또는 다른 언어들, 특별한 모듈이 필요할 수도 있습니다 이 모든 것은 Python에서 기본 제공됩니다

이 모든 것을위한 내장 된 지원이 있습니다 왜냐하면 Python 특히 과학과 같은 영역에서 사용됩니다 많은 과학자들이 그것을 사용하여 왜 이런 것들이 Python에서 즉시 사용할 수 있습니다 마찬가지로, 파이썬 수학도 있고, 각도도 있고, 쌍곡선 함수를 사용하면 수학을 학위로 변환 할 수 있습니다 수학 선생님, 파이의 가치를 얻을 수 있어요, pi의 상수 값, 당신은 e의 가치를 얻을 수 있습니다

자, 랜덤 모듈에 대해 이야기 해 봅시다 무작위 모듈, 때로는 무작위 값이 필요할 수도 있습니다 특정 범위 또는 임의의 숫자가 필요할 수 있습니다 이유가 무엇이든지 이것은 랜덤 모듈이 들어오는 곳입니다

그래서 예제를 보여 드리겠습니다 모듈을 가져오고 랜더링합니다 랜들 렌드가 당신에게 번호를주는 것은 무엇입니까? 0에서 100 사이의 값 그럼 이걸 실행 해 봅시다 좋아요, 당신에게 52의 가치를주었습니다

당신이 그것을 실행할 때마다 우리는 다른 번호를 얻을 것입니다 randrange가하는 일은 당신에게 숫자를주는 것입니다 0에서 100 사이에 있지만 20 이상의 단계가 있습니다 시작, 멈추고 단계 0부터 시작하여 오른쪽 단계로 시작합니다

그래서 내가 더 나은 결과를 얻을 필요가 있다면 나는 늘려야 만한다 이 상한 이제 이것들 모두는 20의 배수가 될 것입니다 그것은 우리에게 20의 배수를 줄 것이 아니라, 매번 20 단계 씩 움직입니다 그러면 randint가 0에서 30 사이에 있습니다

그래서 이것을 시도해 봅시다 사용하는 것은 실제로 사용 사례에 달려 있습니다 둘 중 하나만 사용하면됩니다 randomgetstate는 무엇을합니까? 그것은 우리에게 유용한 또 다른 방법입니다

현재 내부를 캡처하는 객체를 반환합니다 발전기의 상태 파이썬은 어떻게 든 유지합니다 무작위가 무엇인지를 유지하는 발전기 개념 값이 생성되어 실제로 다음 값을 무작위로 추출하십시오 현재 발전기의 상태를 가져옵니다

현재의 형태 그것은 단지 대상이다 다음은 randomuniform이며 부동 소수점 숫자를 반환합니다 N은 A와 B 사이에있다

A와 B는 전달할 값입니다 따라서이 숫자는 3에서 6 사이입니다 다시 말하면, 10 진수 값 3에서 6 사이에 그것을 생성하고 우리에게 돌려줘 실제 응용 프로그램이란 무엇입니까? 난수 생성? 랜덤 패스 구문을 생성 할 수 있습니다 인터넷 뱅킹 시스템 용

파이썬으로 개발하는 비디오 게임이 될 수 있습니다 즉, 몬스터가 무작위로 등장해야합니다 또는 우주선이 사람에게 나타나야한다 그들을 격추시킬거야 또는 임의의 이벤트를 시뮬레이션 할 수 있습니다

또는 강우와 같이 겉보기에 임의의 이벤트 이것은 그것이 될 것입니다 비슷하게 몇 가지 유사한 실생활이 있습니다 무작위가 필요한 응용 프로그램 하지만 카지노 웹 사이트를 구축하는 중이라면 가정 해 봅시다 던져 질 임의의 숫자가 있습니다

던져 질 주사위가 있습니다 당신은 룰렛을 만들고 있습니다 룰렛은 기본적으로 볼 수있는 것들 중 하나입니다 네가 공을 던질 수있는 카지노에서 특정 번호로 착륙합니다 어떤 종류의 게임을 만들면 파이썬에서는 무작위 변수가 필요합니다

또는 다른 확률 론적 정리를 작성하는 경우에도 마찬가지입니다 그럼 당신이 기계 학습을 구축한다고 가정 해 봅시다 당신은 알고리즘을 구현하고 있습니다 종종 기계 학습은 난수에 의존합니다 특정 언어의 관점에서 말하면 (말도 안되는) 그것이 무작위 모듈이 필요한 곳입니다

다음은 날짜 시간 모듈입니다 날짜 시간 모듈에는 작업 도구가 포함되어 있습니다 날짜, 시간 및 조합 이제 사용 가능한 몇 가지 방법을 살펴 보겠습니다 Datetime

maxyear, 그것은 무엇을합니까? 그것을 실행하고 보자 그것은 우리에게 가능한 최대 연도를 제공합니다 시스템에서 사용할 수있는 최소 한 해 Datetimetime은 기본적으로 시간 객체를 제공합니다

최대 연도는 더블 9 더블 9 그리고 분 년은 하나입니다 r 분으로 time 객체를 반환하고, 초 및 마이크로 초입니다 이것은 타임 존 객체를 반환합니다 그러나 이것은 모든 시스템에서 작동하지 않을 수 있습니다 지금 보셨 듯이, 작동하지 않는다

내 특정 시스템에 이 모듈에는 속성 시간대가 없습니다 이걸 사용하는 곳을 조심하십시오 그것은 특정 시스템에서 작동합니다 다른 특정 시스템에서는 작동하지 않습니다

다음은 Json 모듈입니다 Jason 모듈은 인코딩 및 디코딩이 쉬운 방법을 제공합니다 Json 형식의 데이터 이것 좀 보죠 그래서 Json은 기본적으로 파이썬에서 사전처럼 보입니다 근본적으로 Java 스크립트 객체 표기법의 약자입니다

그것은 인터넷에서 많이 사용되는 무언가입니다 요즘 데이터 전송을 통해 데이터를 저장합니다 요즘은 매우 번식 적입니다 자바 스크립트를 사용하기 전에 알아야 할 것은 아닙니다 그것은 단지 데이터 형식 일뿐입니다

MP3와 마찬가지로 음악을 저장하는 형식입니다 마찬가지로 Json은 데이터를 저장하는 형식입니다 네, 파일을 찾도록하겠습니다 좋아, 여기에 적어 라 먼저 Json 용 모듈을 가져와야합니다

그런 다음 데이터를 생성한다고 가정 해 봅시다 이것은 사전이고, 그리고 나서 Json 문자열을 만들 수 있습니다 jsondumps는 사용 가능한 메소드입니다 데이터를 전달해야합니다

그런 다음 Json 문자열을 인쇄 할 수 있습니다 이걸 실행 해 봅시다 이봐,이게 다름 아닌 것 같아 내가 여기서 인쇄 한 것보다 그러나 나를 믿어 라, 이것은 실제로 다르다

이것은 파이썬이 보이는 방식대로하면 그것은 매우 다를 것입니다 죄송합니다 맞아, 이걸 보면 유형이 문자열입니다 이것은 사전이 아닙니다 사전처럼 보이지만 사전이 아닙니다

내가 이걸하려고하면 네가 뛰지 않을거야 문자열 개체가 항목 할당을 지원하지 않기 때문입니다 좋아, 그럼 강건한 대상이야 다음에 정규식에 대해 이야기 해 봅시다 특정 데이터를 찾고 싶다고 가정 해 봅시다

데이터의 큰 텍스트에서 따라서 모든 이메일 ID를 찾고자합니다 이 전체 텍스트 텍스트에 존재합니다 특정 색상의 이름을 찾고 싶습니다 당신은 특정 단어를 찾고 싶습니다

단어 플래그가 몇 번이나 나타나는지 찾고 싶습니다 여기에 단어 깃발로 대체하십시오 그래서이 모든 것들, 맞습니다 당신이 일치해야 할 곳이 있습니다 특정 패턴이나 단어에 대해 처리 할 수있는 발생 횟수를 찾습니다

정규 표현식으로 매우 쉽게 이메일 주소를 확인하려고한다고 가정 해 보겠습니다 그래서 이것은 당신이 매우 보편적으로 보는 것입니다, 맞습니다 웹 사이트에 등록 할 때 귀하가 제공 한 이메일 ID 이메일 ID처럼 보입니다 그래서 그 패턴은 매우 다양합니다

이메일 ID가 존재하는 많은 방법 in으로 끝나는 웹 사이트가 있기 때문에, coin, 등등

그러면 이메일 ID가 실제로 보이는지 어떻게 확인합니까? 이메일을 좋아하니? 어떻게 회사가이를 파악 했습니까? 그것이 정규 표현식이 우리를 돕는 곳입니다 정규 표현식이란 무엇입니까? 정규식은 특별한 텍스트 문자열입니다 검색 패턴을 설명하기위한 그래서 그것은 검색 패턴, 주어진 문자열에서 일치 항목을 찾습니다 당신은 인간으로서 그것을 아주 잘 할 수 있습니다 그러나 우리는 어떻게 컴퓨터에 그것을하도록 지시합니까? 우리가 컴퓨터에 지시하는 방법은 다음과 같습니다 특정 표현을 말하고 그것을 묻는다

주어진 문자열과 일치시킵니다 문자열에서 단어를 찾고, 반복자를 생성하고, 하나 또는 여러 개의 문자와 일치해야합니다 이것은 내부적으로 행해지므로 iterator가 생성되고, 그런 다음 하나 또는 여러 문자 중 하나와 일치합니다 입력 한 내용을 기반으로합니다 또는 일련의 문자 또는 일련의 문자와 일치합니다

그런 다음 문자열을 대체하거나 일치시킬 수 있습니다 한 문자 따라서 파이썬에는이 모듈을 사용할 수 있습니다 여기에는 여러 가지 방법이 있습니다 그 중 하나가 하위입니다

이것 좀 보죠 좋아, 그럼 여기서 일어나는 일은 읽기 또는 하위 이제 이쪽으로는 보통의, 이것은 정규식이라고 불리는 것입니다 이것이 검색 패턴을 설명 할 때 의미하는 바입니다 이것은 검색 패턴이며 그것이 말하는 것은 A 또는 D와 일치한다 그래서 그것이 쓰여지는 방법을 쓸 때마다 a, 대괄호 사이에 뭔가있을 때마다, 그리고 당신이 그것을 일치시키는 캐릭터라고 가정 해 봅시다

대괄호 안에는 선택 사항이 있습니다 그래서 만약 당신이 A 나 D에 매치한다면 이 주어진 문자열 내에서 그래서 그것은 A 나 D를 찾을 것입니다 별에 의해 그들을 대체 할 것입니다 그래서 우리가 올바른 결과물을 얻었는지 여부를 확인하고 실행 해 봅시다

네가 이걸 제대로 본다면, 모든 A가 별과 모든 D로 대체되었습니다 또한 별에 의해 대체되었습니다 다른 것을 해보 죠 이제 abc 패턴과 일치 시키려합니다 이것은 a 또는 b 또는 c가 아닙니다

이것은 그 시퀀스에서 abc이어야하고 모든 abc를 대체해야합니다 그래서 그것은 abc를 여기와 여기에있는 별로 대체했습니다 첫 번째 것과 비교해 보겠습니다 그 차이가 보여요? 그렇게했다면 A와 D를 가정 해 보자 광고가 순서에 없으므로 아무 것도 바뀌지 않습니다

하지만 대괄호를 사용하면 여기에 거의 똑같은 출력, 맞아 이제 이것이 또 하나입니다 이것은 A 또는 B 또는 C를 말한 다음 1 또는 2 또는 3을 말합니다 그래서 이것을 시도하고 우리가 얻는 결과물을 봅시다 하나는 일치하고, B는 일치합니다

B 4는 D가 없기 때문에 일치가 없다 네 가지가 있습니다 D가 있다고 가정합시다 그렇다고해도 네 가지가 없기 때문에 일치하지 않을 것입니다

하지만 여기에 네 개를 더하면 네가 일치하는거야 먼저, 첫 번째 문자는 A 또는 B 또는 C 또는 D 문자열의 두 번째 문자는 다음 중 하나 여야합니다 하나, 둘 또는 셋 또는 넷 다른 것을 해보 죠 것은 다시 이것은, 더 간단한 것의 하나 같이 그러나 그 때 거기있다 복잡한 것들도

이 점, 정규 표현식, o 표기법이 있습니다 패턴을 설명하는 방법에 대한 표기법이 있습니다 우리가 AB로 얻는 것을 보자 AB는 무엇을하고 있습니까? 기본적으로 어떤 시퀀스와도 일치합니다 A로 시작하는 A, 대문자 A 다음에 임의의 문자를 추가하십시오

따라서 점은 키보드의 모든 문자를 나타냅니다 그 다음 B 그래서 A와 B는 일치합니다 AXB가 일치하고 별표로 바뀝니다 AXXB는 일치하지 않습니다

달러 B가 일치합니다 다른 점을 추가하려면 어떻게 될까요? 그렇다면 첫 3 경기 중 어느 것도 일치하지 않습니다 이것은 문자 그대로 문자 일 수 있습니다 AB 자체도 마찬가지입니다 그러나 그것은 이것에서 달러가 될 수 있고 여전히 일치 할 것입니다

대괄호, 점, 이것들은 모두 표기법입니다 AB +는 무엇입니까? 그래서 그것은 A와 B를 여러 번 말합니다 이걸 실행 해 봅시다 그것은 A와 B를 한 번 일치시킵니다 그래서 그것은 별에 의해 대체됩니다

그런 다음 A와이 모든 Bs가 단일 별로 대체됩니다 그렇다면 A는 보았다 그것이 일치하지 않기 때문에 그것을 얻으 려니,이게 이봐, 끈을 찾아라 이 부분 문자열 내에서

Sub는 모든 일치하는 패턴을 찾습니다 첫 번째 문자는 A이고 두 번째 문자는 B +입니다 이것은 무엇을 하는가? 이것은 AB이지만 B는 3-6 번이라고 말합니다 그래서 중괄호 일 때, B 3 ~ 6 번해야합니다 3 회 미만이면 교체되지 않습니다

따라서 ABB는 대체되지 않습니다 6 배 이상인 경우 교체되지 않습니다 이 시점에서 처음 6 시까 지 문자를 입력하면 마지막 세 B 문자가 사라집니다 이것을 맞추면 자연스럽게 일치합니다 이것은 매우 중요한 것입니다

이것은 ABC의 시작과 무엇이든 일치시키는 것입니다 시작하는 문자열의 시작 부분 ABC와 일치합니다 일치하지 않음에주의하십시오 이 상부 캡이있을 때마다,이 캡 조작원 여기에서 문자열의 시작을 찾습니다 거기에서 그것을 대체하기 시작합니다

문자열의 끝 부분을 보지 않습니다 문자열의 끝에서 일치시키려는 경우 당신은 ABC 달러로해야합니다 당연히, 당신이 어느쪽으로 든 매치하고 싶다면, 그런 다음 ABC로 유지하면 대체됩니다 시작과 끝 모두 그러나 결국 당신은 1 달러를 넣어야합니다

어디에서 문자열의 뒷 부분부터 살펴보아야합니다 상단 뚜껑, 그것은 문자열의 앞에서 일을 시작합니다 마찬가지로, 이런 종류의 많은 것들이 있습니다 마치이 부분에서 복잡한 점이 있습니다 이것은 어떻게, 모든 것이 존재하는지에 관해서는 약간 크다

기본적으로 더 잘하는 가장 좋은 방법은 점점 더 많은 정규 표현식 점점 더 연습하고 있습니다 그런 다음 대체품을 만들었지 만 검색 및 일치 여부를 알려주는 검색 및 일치 어떤 것 또는 아닙니다 그것은 단지 당신에게 match 객체를줍니다 이 경우 abc를 가정 해 보겠습니다 abc를 찾을 수 없으므로 아무 것도주지 못할 것입니다

문자열 내에서 따라서 검색 개체를 확인하여 일치하는 항목을 찾으면됩니다 그러나 아무 것도하지 마십시오 너 괜찮아, 이 문자열은이 문자열 내에 있습니다 그런 다음 일치 개체가 있습니다

좋습니다, 그럼 일치 개체는 무엇입니까? 경기가 시작되는 경기를 찾습니다 문자열의 시작 부분에 검색은 어디서나 보이지만 일치는 처음을 찾습니다 그래서 이것은 사실과 비슷합니다 나는 그것이 그것을 말하는 것과 비슷하다는 것을 증명할 것이다

그것은 당신이 어떻게 그것을 쓰고 싶은지에 달려 있습니다 research 또는 rematch를 사용하여 쓰기를 원하는지 여부 Re

search는 일반적으로 여러 번 사용할 때 사용됩니다 한 단어가 여러 번 나타납니다 Rematch는 문자열의 시작 부분에 더 있습니다 따라서 이메일 ID와 일치하는 경우 re

match를 사용합니다 하지만 특정 단어를 파란색으로 찾고 있다면 텍스트 문서이면 research를 사용합니다 따라서 이메일 ID 또는 휴대 전화 번호와 일치시키는 데 사용할 수 있습니다 이것은 매우 전형적인 응용 프로그램과 같습니다

정규 표현식의 파이썬에서 패키지에 대해 이야기 해보자 따라서 패키지는 파이썬 모듈 모음입니다 파이썬 파일이었던 모듈에 대해 배웠습니다 그러나 꾸러미는 기본적으로 모듈의 묶음이다 논리적으로 결합 됨

파이썬 패키지를 사용하면 대형 시스템을 분해 할 수 있습니다 모듈을 일관된 방식으로 구성하여 다른 사람들이 효율적으로 사용하고 재사용 할 수 있습니다 다시 말하지만 프로그래밍을 살펴보면 스트레스가 많이 발생합니다 사물의 재사용 가능성 함수인지 클래스인지 또는 모듈인지 여부 또는 꾸러미, 건물 블록에 관한 많은 것들 그들을 결합하여 함께 작동하게하는 것입니다

그래서 우리는 이것을했습니다 우리는 배낭, 가져 오기, 펜, 서류, 계산기에서 왔습니다 우리는이 특정 비트를 다루었습니다 우리는 가져 오기 기능에 대해 배웠습니다 발견 된 예외 처리에 대해 이야기 해 봅시다

예외는 오류 또는 비정상적인 경우 신호가 발생합니다 조건이 발생했습니다 예외의 아주 전형적인 예는 당신은 0으로 나눕니다 자, 수학적으로, 시나리오는 프로그래밍 방식으로 너는 틀린 어떤 것도 쓰지 않았다 수학적으로는 할 수 없습니다

그래서 파이썬이나 다른 프로그래밍 언어가하는 일은 그것은 제로 분할이라고 말하는 오류를 던졌습니다 오류입니다 허용되지 않습니다 이것은 예외적 인 시나리오입니다 그것은 틀린 것이 아닙니다

그러나 그것은 발생한 예외이다 정말 근본적인 수준에서 실패한 것이기 때문입니다 근본적인 차원은 단지 불가능한 것입니다 또는 예기치 않은 시나리오 지진이 예상치 못한 시나리오 예외적 인 시나리오입니다

맞습니다 생각할 때 예외적 인 시나리오에 대해 생각해보십시오 예외 처리 이제, 너는 좀 돌봐야 해 이러한 예외적 시나리오 중 프로그래머로서 기대하고 확실하게해야합니다

코드 기반 내에서 처리하고 있다는 것을 의미합니다 이것은 우아한 퇴화를 위해 매우 중요합니다 소프트웨어의 이것은 현재의 종류를 보여주기 위해 매우 중요합니다 사용자에게 오류가 있으며 전반적인 오류입니다 매우 필수적인 코드 프로그래밍 연습입니다

그래서 구문과 파이썬이 시도됩니다 try 블록은 try 블럭이 어떻게되는지를 말해 준다 당신은 당신이하려고하는 것을 쓰십시오 당신이 나누려고한다고 가정 해 봅시다 그래서 여기에 정의 된 try 블록 아래에 올 것이다

물론 들여 쓰기로 그런 다음 특정 예외를 처리합니다 두 숫자를 나눌 때, 세 종류의 예외가 예상됩니다 한 가지 예외는 사용자가 나눕니다 0으로 설정하거나 사용자가 나누려고한다고 가정 해 봅시다

매우 큰 수이거나 분모가 너무 작을 수 있습니다 그 숫자가 너무 커서 맞지 않아요 컴퓨터의 메모리에 저장하십시오 그것은 가능합니다 마찬가지로 컴퓨터에도 한계가 있습니다

아마도 우리 컴퓨터는 수백 개까지 쓸 수 있습니다 수조 이상이지만 한계에 도달 할 것입니다 주어진 숫자보다 큰 숫자를 저장할 수없는 곳 자,이 모든 것들은 다른 예외입니다 다른 예외를 처리하는 것보다 낫습니다

다른 방식으로 예를 들어, 매우 큰 숫자를 다루는 것은 사용자와 다른 점 약 0 입력 아마도 숫자가 너무 많으면 여전히 그렇습니다 당신은 그것을 알고 그것을 표현하는 방법을 안다 다른 방법으로 사용자에게 솔루션을 제공하십시오 하지만 0으로 나누면 사용자에게 알릴 수 있습니다

이봐, 네가 나쁜 의견을 내 줬어 그래서 이것을 다른 것과 혼동하지 마십시오 왜냐하면 사람들이 이걸 사용한다는 의미에서 일들이 할 수 있었을 때 다른 경우가 아니라 if else 문을 통해, 그러나 이것들은 더 많은 경우에 사용될 것입니다 예상치 못한 것을 기대하고 있습니다 그래, 머리 회전판 인 줄 알았지 만 너는 기대하고있어, 너는 예기하고있다

따라서 예상보다 오히려 내가 사용해야한다고 생각합니다 기대하는 단어 우리는이 일이 잘못 될 것으로 예상하고 있습니다 나쁜 정보를 얻을 수있어서 프로그램을 만들뿐입니다 그 시나리오를 다루기에 충분할만큼 유연합니다

따라서 try 절에는 여러 개의 except 절이있을 수 있습니다 다르게 처리하지만 하나만 실행됩니다 예외가 발생할 경우 그래서 우리는 가치 오류를 제기하고 오직 하나만 발견 된 첫 번째 것 이런 종류의 일을 할 수도 있습니다

처리 된 여러 오류를 찾아야합니다 동시에 typeError 및 zerodivisionerror가 처리 중입니다 같은 방법으로 사용자가 문자열을 입력했다고 가정 해 봅시다

두 경우 모두, 사용자는 헤이, 값 오류와 비교하여 잘못된 입력을주었습니다 뭔가 다른 것이 잘못되어있는 곳입니다 우리가 논의한 것처럼, 이것이 큰 숫자의 오류이며 이것은 유형 오류입니다 제로 분할 에러의 그런 다음 예외가 있습니다 이는 예기치 않은 것을 처리하기위한 것입니다

또는 예기치 않은 예외가 발생할 수 있습니다 이것은 심지어 당신이 할 수 없을 때있을 것입니다 예상하지만, 당신은 여전히 ​​이것이 깨질지도 모른다는 것을 안다 컨텍스트는 당신이이 일을하고 있기 때문입니다 미션 크리티컬 애플리케이션 용

그럼 예제를 빨리 봅시다 그래서 우리는 숫자로부터 입력을 얻으려고합니다 이제 파이썬은 raise 키워드를 제공한다 예외를 발생시키는 데 사용할 수 있습니다 우리는 인위적으로 예외를 제기하고 있습니다

이것은 일반적으로 이루어지는 방법이 아니지만 인위적으로 이 블록에 들어갈 수 있도록 예외를 발생시킵니다 나는이 예제를 대신보아야한다고 생각한다 입력과 임의성을 가정 해 봅시다 우리는 나누려고 노력하고 있습니다 내가 말했듯이, 당신은 예상되는 정보를 얻을 수 있습니다

그럼 우리가 이걸 실행할 때 어떻게되는지 봅시다 맞아요 이걸 보면 처음 실행됩니다 하나를 A로 나눈 값 항목의 A와 예외가 발생합니다

죄송합니다 다음 정보를 제공합니다 다음 항목으로 이동합니다 그것은 0을 행하고 아무 것도 할 수 없습니다 그것이 사실 일 때, 당신은 그것으로부터 어떤 결과를 얻습니다

그럼 너는 그것에서 어떤 결과를 얻는다 하지만 지금 무슨 일이 일어 났는지 알면 그렇지 않으면 프로그램이 중단되었을 것입니다 아주 첫 걸음이지만 끝까지 실행 예외 처리 중이니까 그들이 발생했을 때, 어떤 방식 으로든 다른 방식 으로든 당신이 무작위 입력을 받고 있다고 상상해보십시오 당신은 그것을 반복하고 있으며 이것은 당신이 그것을 처리하려고 정렬

try 문에는 finally 블록도 있습니다 finally 절이있을 수 있습니다 이 절은 무엇을 사용하든 일반적으로 사용 되더라도 실행됩니다 외부 자원을 공개합니다 이 경우에, 파일을 읽고 있다고 가정 해 봅시다

일부 예외가 발생하여 처리 할 수 ​​없습니다 예외는 아니지만 여전히, 당신은 그것을 원한다 파일이 처리 된 후에는 그것은 매우 verylarge 파일이기 때문에 닫아야합니다 너는 그걸두고 갈 기회를 놓치고 싶지 않아 메모리 때문에 많은 문제가 발생할 것입니다

그래서 이것이 어떤 종류의 정리를 할 것입니다 마지막으로 대부분 정리에 사용됩니다 DV 연결이 절단되어야하는지 여부 or the file needs to be closed That's why you will use the finally block So this is an example

We are trying to write to a file Let's suppose an error happens that you can't write to a file Ultimately, you need to close the file You do not have permission to write to the file and an exception occurred Finally you need to handle it gracefully, where you need to actually close it

There are also something called user defined exceptions So you can define your own exceptions as well It will be logging t error and name error and value error and zero division error These are in-built exceptions But as a programmer, it's a fit to your application

You can define your own nature of exception The reason why you would do this is because it would basically throw errors which are relevant to your application This is something which large companies or large things do usually, where it's a very, verylarge system and because what does an error do? So think about it in this way, that when you see an error on the screen, it tells essentially a piece of information to you, which gives you a clue that hey, something has gone wrong and this is how you can probably fix it Errors, if you look at errors, they're supposed to be informative The laptop or the Python in the printer doesn't say that hey, something is wrong figure it out

It tells you, tries to tell you as specifically as possible It can understand and what kind of error has occurred Otherwise, it would be very very difficult to find problems in your code So similarly, if you're working a very complicated system right, and you know an exception has occurred and you know as a developer when you're creating that piece of code that why the exception will occur Why the exception will occur, which is very dependent on your own use case

That is where you will define your own user exceptions Now how do you do this? The way to do this is that there is something called an exception class you create a class, error class, that derives from the exception class Either directly from it or you can have this sort of multi-level instance as well Really up to you And then you just use it

So you, over here, the class is declared over here itself, but if you wanted to import it, you could import it and you could accept, you could raise it as an error Now of course, you can add multiple things within the class in itself and that will help you do certain things The stacked way is the way it gets printed All of that, but what I would say is that that should be left for later when you're actually working on bigger systems But for now, you can just keep it in mind that hey, there is something as creating my own exceptions as well that I can do

You can implement methods, override methods that are relevant in the exception class so that certain thing gets printed every time or some explanation gets printed All of those things as possible You can make it as customized as possible for yourself That's what programming languages tend to be a lot about So good programming languages allow you to customize them in the way that you want to use them

(pleasant instrumental music) Let's suppose we get data of unemployed youth across the globe from 1947 to 2014 This has various information about regions, which have high unemployment rate For example, Afghanistan and the region of in that time period whatever, unemployment rate But again, it's data from all over the world This data size is going to be huge

There are seven billion people in the world right now Even if you collect only 10% of that data, it's a huge number That's 700 million people then Even if 1%, that's a huge number Then that is 70 million

So this data size is huge How do you deal with it? How do you draw insights from it, from such a large dataset? Excel will not work out at all Let's look at use case number three We want to look at geographical distribution of posts Let's suppose there is a protest going on at Wall Street, Occupy Wall Street or there's something going on in Syria or something going on in Libya, where either a revolt is happening, a revolution is happening or let's suppose any event is happening

Let's suppose multiple sporting events are happening across the globe and you want to kind of figure out the geographical distribution of a post with a particular hashtag Around the world a marathon run is happening and everywhere that leads or the supporters are using the same hashtag and you want to see which geography is the post coming from because that sort of, let's suppose, dictates that where is the moment in terms of if you know where the geography of the post is This is the location where it is and the momentum is changing from location to location to location Let's suppose it's all in pictures happening and within a country it is happening in multiple stadiums at multiple times So then you know where the action is based on the geography of the post

Now, large amount of data, lots of insights to be drawn How do you do it without using programming? What is data analysis? All of us have heard this term over and over again There are so many jobs out there which say business analyst, data analyst, and all the titles in between But what really is data analysis? Data analysis is a process of inspecting, cleaning, transforming and modeling data with the goal of discovering useful information, suggesting conclusions, and supporting decision making Let's break it down piece by piece

You have your raw data here This raw data can be even something as simplistic as the name, age and salary of a person Even that is your raw data But what happens is that when you collect this raw data from the world, a number of times it might have discrepancies in it Discrepancies such as the supposed last name is the same in certain cases

Let's suppose the age is missing in certain cases The salary is missing or something else is going wrong There are various things that can be wrong with the data or not exactly in the format that you want So let's suppose the salary is given only in floats The decimal values have been included but you don't care about the decimal values

Or you need to transform age into integers perfectly Whether age is missing you don't want a null value you want a zero value because null would throw off your calculations, it would give you errors So all of this comes into data pre-processing, where you transform data into desired format and you clean the transformed data Transform data in the desired format would also be the row and column arranged, where maybe you don't want certain columns Maybe you want to label certain columns a certain way

So any of these things where you arrange the data in a clean cut way that before you can even start with any sort of analysis on it That way you know the predictably, okay there are no null values, there are no empty values, there are no extreme values of data Extreme being, let's suppose, salaries are given and you're supposed to figure out the CEO of the company has a very large salary He will drive the average salary to a particular point Let's suppose every employee in the company had a salary of $50,000

00 but the CEO has a salary of $500,00000 What will happen ultimately is that you might get an average salary of $125,00000 or $150,00000

But that is not correct That is, what that does for you, is that it gives you a false impression that this is the average salary because that is not the average salary The average salary might very well be 50, 55, 60 thousand So you know, those kind of things are required to kind of decide how to manipulate the data to get into proper shape before you can even start anything with it Then, the final step, which is modeling the data

Now, the way you model the data, so modeling is basically drawing insights from it, which could be just simply taking an average, which could be take a variance, something else where you say that oh, the variance is so much it gives you a trend The average age is this much For an average age of 24 the average salary if 60 thousand, which can enable decision making Now decision making is not done by a computer, it is done by you as a human being where you know the context, where you know whether this is correct or incorrect Not correct or incorrect, but basically what to draw from it whether to take any action or not and what action to take in what direction

So that comes from analysis of strains Strains are brought forward by the model that you prepare on the data Honestly, these are the things that you do in your daily life So in the sense that let's suppose you see a discount on a website right You see a discount on Amazon, you just see a discount on Flicker

You would compare it right That's data Sometimes what we do is that when we are comparing items, on one website it is published as 799 On another website it is published as 800 So what we do is that we say, you know let's consider it to be 800 on both

One rupee doesn't make a difference That's transforming and cleaning the data That's pre-processing the data in your head Then you prepare a model You prepare a model that will give one website gives 10% off and another website gives 20% off if I buy another item with it

Then the model is prepared where you do the math and you figure out what is the total discount you will get on both the things and whether you want the second thing or not How much money do you have, how much do you want to spend, and you analyze and you then make a decision Again, so there you do not involve a computer because the dataset was very small in size and you just were comparing two items But just make that into 2,000 items or 3,000 items So if it is 3,000 items, then the dataset becomes difficult to do that analysis mentally

But the device, when it comes to data analysis, it is something that we do on a daily basis Next which is why Python for data analysis? Python provides various methods for data analysis manipulation and visualization For data analysis and manipulation we have NumPy and Pandas and for data visualization we have matplotib We will cover all of these in the subsequent classes, in this module and the next module But as I've already told you that this is, Python is very, veryuseful in this respect and widely accepted, widely used

Now let's do a short introduction to NumPy NumPy is a package for scientific and I would say, even data science computing It has certain features, like multi dimensional arrays So till now we've just run a single dimension array in Python, a is equal to one, two, three within square brackets But what if you need a multi dimensional array? Multi dimensional array, imagine a matrix

A row and a column set up like an Excel sheet That's a multi dimensional array Then once you have the multi dimensional array, naturally you want to do certain things to it You want to read from it, you want to write to it, you want to update it, you want to delete it, you know the typical crud operation You want to calculate the sum of the column, sum of the rows, the average of the rows

That's the method for processing arrays You might want to do an element by element operation, which is something make a sum You might want to do mathematical operations like in linear algebra That depends on, so now of course, which things you do or things you don't do depends on what you're trying to do, but is has multiple features which enable you to do multiple things In NumPy you can basically divide the operations into three categories

One is mathematical and logical Average, sum, median, variance, all of that Second is more scientific So if you're familiar with something called the Fourier transform, if you're not from an engineering background and taking this course, it's okay It's not that you need to know that to be able to deal with NumPy but it's just one of those things that is available in generating that it's a mathematical function

It's used in signal analysis and so on and so forth Something of that sort and linear algebra A lot of use cases, even for things like social media posts and everything If you end up doing machine learning after this course, you will see that linear algebra, the one that you studied in 7th or 8th grade, has a lot of real world applications It's just not theory

So installing NumPy, very simple You just need to go to the terminal and I hope you already have it installed You need to pip and install NumPy I can't show this to you because I already have it installed, but this is the command, pip install NumPy As simple as that, nothing more

It's all small, by the way, no caps and that's it You will end up installing NumPy Let's look at the NumPy array Now, NumPy has something called ndarray It's a multi dimensional array object consisting of two parts, the actual data, some metadata, which describes the stored data

This is two key differences here First and foremost from a normal Python add in that it is typically multi dimensional The treatment always on an ndarray it is set up like a multi dimension But the clincher, the big big difference is the metadata, which describes the stored data Now, if I have to go to Python and let's suppose I have to describe a multi dimensional array

If I had to describe multi dimensional array without using NumPy, I could do it like this How is it a multi dimensional array? Because I can do this This is me saying row zero, this is the first row and the second column Two is in the second column so you can imagine it being arranged like this If you look at this, this is multi dimensional right

So if I can do this in Python why do I need NumPy? Because apart from a lot of there things, a lot of other functionality that you'll see, one key difference here is the metadata So what is metadata? Metadata is information or data about data So let me give you an example When you store a file on your computer, any file You can right click and you can go to properties or details or something of that sort, which gives you extra information about the file, such as when was it created, when was it last modified, what is the length of the file in terms of minutes

Let's suppose it's a song file It tells you about the format of the file, it tells you about certain other things It tells you what the author, if there is a description You have ever used iTunes or any other media player, it automatically shows the name of the album and everything Where does that come from? Where does the name of the album or the artist come from? It comes f rom the metadata that is stored within that file

So the file in itself is data It is song data, right It contains ones and zeroes, which make up a song for us to listen to But then this data has information about itself Even its name is a metadata

So one is the song in itself and then the song and format of a file, but then more information like when was it created, who created it, what user on the system created it, who the original author, what is the copyright on this Several, several metadata points about it That is one of the key differences here with the way NumPy arrays are created They're not like regular arrays They can look like regular arrays as you see, but keep this in mind that there is a lot of additional methods available on it, additional functionality available on them

Plus they have metadata about themselves, which can be very, veryuseful and which is very needed Once you're, when you're dealing with large amounts of data Because it tells you about the data and unless and until you know about the data you can't do anything to it Next is that each element in an ndarray is an object of data type object called dtype So every dtype is something that you will see even in Pandas and all across NumPy documentation and even in these slides

Dtype basically tells the type of the data Now ndarray contains a header This is an entire ndarray over here It contains a header, which is what information eventually The first piece of meta information that it contains about the data that is stored inside these cells, so think of these individual cells as the array items

It contains the data type Now when you extract an item out of an ndarray, okay, where you select a particular item to read it or to manipulate it or whatever, the data type gets attached and it becomes an array scaler So this is ndarray, which is an actual computer skill, there's nothing but just one item from that entire array Now even this one item in this extracted, it is not just the data The data type comes in and attaches itself to it internally

This is not something that you have to do explicitly This is just for your understanding sake Where there is a header again, which contains information about this array scaler So okay, why, what is scaler? Basically just the raw data This might be four, but the head might contain that it's a float, or it's an integer, or it's a complex number

You might have values as one, two, three, four, five, six, seven, but is it a float? Is it an integer? Is it a scaler? Sorry, is it a complex number? That can be determined by the data type and whenever you detach one of the elements that data type gets attached to it as well Why is this important? Because even if it's one, two, three, four, five, six, seven, when if you're applying some sort of mathematics to it, which involves complex numbers or you are using it for division, you need to treat it like a float Because a division by a float can give you a different result than a division by an integer in Python If you divide by a float, I recommend that you go back and try doing that If you divide by a float, you will get a float in the result, but if you divide by an integer you might get a zero result

Definitely not get the float value unless and until you convert it So that is why all of these things are very very important to know the data type, especially when dealing with this large amount of data So let's create a first NumPy array The first thing is that you import NumPy and this over here is an alias This over here is an alias

Import NumPy as np and then you have a method available The reason is that NumPy in itself is a large name so typically it is, when you see code online, is where you will see a lot of people use np as a short form I suggest that you become familiar with it because this is something that you're going to see in a lot of places Now, you can do nparray and you pass it a normal Python array

그게 전부 야 This is the simplest way to do this Nparray(1, 2, 3) and print(a) So let's run this

Now the output doesn't look much different but it looks like just like an array but if you notice there is one thing Let me show it to you Let's suppose maybe some of you have already noticed it Maybe some of you haven't so I'm gonna pass it as original array and I'm gonna pass it and I'm gonna print both Okay wait

Right, notice the difference? This is not with commas This one is with commas For this general array, like you have known it 이 모든 시간 Not that it makes too much of a difference for you when it comes to accessing it, like once you will go down that road, but just notice that there are subtle differences and a is the type is going to be like, if we do this 만나다? And this a has metadata about it

Okay, so this is the simplest way in which you can create a NumPy array Let's look at creating a multi dimensional NumPy array This is quite simple We do nothing but one comma two comma three comma four Now one thing is that this needs to come within square brackets as well

Don't make this mistake of missing the square brackets In the beginning people tend to miss it There are items, number of these items within this array will decide the number of rows Let's print it Again, see the commas are missing and this is written in a certain way and even the output is coming 어떤 방식으로

Whereas if we had a multi dimensional array with list inside it it would come with commas and it would come in a flag structure Let's see what happens if we add an other value to this or if we add another column Then it is not able to represent it like earlier But this converts it into an array The columns are the same, it will just treat it like a single dimensional array

This is a single dimension If they are same, then it will make a multi dimensional array out of it It will not assume that right, it doesn't know what the value of five is going to be so it's just going to create it like a single dimensional case It will not create a multi dimensional This something about reissuing it, right

I pass it a list, it just created an ndarray artifact Another way to create an array over here is I can use the arrange function The arrange function I say zero to 1,000 And I run this

See again, no commas This is slack, this is not indexed like this This is not a multi dimensional array This is a single dimensional array It would exclude the last value, 1,000 is not included

Starts from zero first is included The second one is not included Another important method over here is creating an array of zeroes Now, some of you may wonder what is the usefulness of creating an array of zeroes Well, the use case is a lot in scientific computing and machine learning, again

Sometimes you need things like this What it takes is it takes a tuple of the size that you want and it gives you that So it's five plus five If you look at it a multi dimensional array I can do, let's try with five comma three

So three columns and five rows Three columns, five rows Let's try it with something random as five comma 15 15 columns, five rows We can to 15 here as well

So all of this Under the method available is linspace Linspace creates a linearly spaced vector Now this is relevant if you are familiar with the concept of a linearly spaces vector, which is sort of a fancy way of say that okay, these numbers which are separated in a linear space, in a sense that in this particular dimension, there are equal steps between them What it takes is three parameters to start, stop, till what point it needs to go and then steps

So it's kind of like, think of the x-axis that you draw on a graph, axis that you draw on a graph This is one of those things which will help you (mumbles) This linearly spaced vectors can come of help over there So I'm gonna cover nplinspace, zero comma 20 comma five

내가 이걸 실행하게 해 줘 I get this output I can do it like this as well It'll have to be a shorter one, yeah So this is the number of steps

So don't confuse it with the differences It will not be two, four, six, eight This is going to be the number of steps that you want to reach 20 here So if it is two steps, then it is going to reach it in two steps If it is going to be 10, that is where you will get 난수

It's going to create 10 values, which are ultimately going to reach to 20 In steps of 10, reach 20 in steps of 10 And steps of 10 being in 10 steps to divide 20, so take the second number and subtract it from the first number That, in this case, is 20 It says reach 20 in 10 steps, not exactly 10 steps

That is what this is saying to it Or we do it as a, so it says reach 20 in exactly eight steps or reach 20 in exactly six steps, where zero is always going to be the first step and 20 is always going to be the last step So you need to figure out the rest of the four steps Okay, so we did this even earlier, right, where we took an array, a list and converted it for our use case This is pretty much the same, where you can use the as array method as well to convert an existing sequence into an nd array

Let's talk about restructuring a NumPy array Restructuring, what do we mean by that? It converts a linear array of eight elements into any sort of reshape or resizing that you want to do to it 그래서 이것을 시도해 봅시다 Let's take this and let's create an array of size, two comma Let's create an array of eight zeroes, okay simple

Then let's resize this into two comma two comma two We will print A first here and then we're going to print A here First, it falls like this and then we reshape into this size Let's see if it can convert it into four comma four or not Or four comma two

Now why can't I do four comma four? Cannot reshape the size into four comma four So four comma four is basically going to multiply Four cross four is 16 So if you have eight elements, you cannot make 16 elements out of it, naturally right You need to do it in a way where you can make finally eight elements out of it

It can be transformed to two comma four There is two rows and four columns Or you can transform into four comma two or one comma eight, which is the same right Or eight comma one, where eight rows in one column Now the use cases again, whenever you're doing any sort of, so let me just give you a little bit of background about where you might end up using this

When you're dealing in machine learning right, machine learning is ultimately it's nothing but the mixture of maths, statistics, and programming That's the overlap There are these three Venn, so think of a Venn diagram where maths or statistical maths, linear algebra and probability and programming, all of them meet together That is where machine learning happens Now when you're talking about linear algebra, linear algebra they use a lot with matrices

Matrices are multi dimensional arrays So a matrix is nothing but what you see in Excel sheets, shows in columns and that is what we're doing here with the NumPy array, where we had a normal array but we wanted something more In that domain, there are a lot of mathematical computations that need to happen Transforms need to happen Arrays need to be reshaped to perform certain mathematical things on it, functions or operations on it

That is where all of these are used by Python developers into like, for either making those libraries that are doing machine learning or for adding their own machine learning code, where these transformations are really, really helpful Just good to know for now If you're wondering where am I going to use it, eventually when we get into the application part, there you will see that we're going to reuse these things 계속해서 또 다시 It's very, veryimportant that you know about these There is another one called ravel, where so ravel what it does is that it levels up the array

It flattens it out So if I've gotten a reshape right, let's reshape this into two comma two comma two Then let's print the ravel out of it 그것은 무엇을 할 것인가? It will basically just give you the same one We can do a reshape and then a ravel

It will take this flatten, this 2D array and flatten it out That's all that ravel does You can take a flat one and reshape it or you can take a shaped one and flatten it out It's just a two way transformation It is a converse of what we did earlier

Let's talk about the indexing of NumPy arrays NumPy array indexing is very very identical to Python index If you want to collect an element, so let me remove all of this and arr = nparrange(2,20) Now, I want to get, so earlier as you saw right, where we were selecting a particular element out of it

Let's run this Okay, now what we have done is simply just access the sixth element out of it Let's look at the type and see what it is, because over here it looked like an integer Is it like an integer? No, it's not, it's a NumPy n64 type This is one of the gotchas, where you know initially you might get stuck where you are looking at it like an element but like a simple number eight, but it is not simply a number eight

Let's try another thing on it This is what we've got and we picked out the sixth element Let's see if we can print element plus seven We can, okay But still, understand that this is enabled by Python that it is allowing you to add an integer to a NumPy array element

This data type and this data type is not same Element has a different data type, seven has a different data type This is an object of the belonging to the NumPy libraries, where seven is the normal seven integer value that we have Yes, you typically cannot add, so this is like adding a cat to a dog The real world doesn't give you cat dog, right

What is happening is that Python is handling it internally Part of the same that we need to be conscious about what we are doing Let's try to see if this is a type conversion or not What is a type of element plus seven? Is it giving us a NumPy object or is it giving us an integer object? See, so what Python is internally doing is that it is taking the seven, first converting into this NumPy n64 and then adding it Because if this was simply eight, okay, if this was not the NumPy one you'd get typed as int

You see, eight this, eight plus seven it's giving us NumPy n64 and this type is different of eight plus seven Okay, what is slicing? We covered it a little bit when we were covering Python of the first few classes Python's concept of list slicing is extended to NumPy The slice object, now over here we have a more sophisticated way of doing slicing, where we can create something called the slice object That is constructed by providing start, stop and step parameters to the slice class

So this is a slice class, this is a constructor We covered this in the last class I hope you guys remember We're creating a slice object and we're just passing it to the array, the NumPy array Let's try this out

So we have an array of nparrange, let's make it of 20 Then, we are going to cover it as nparrange Okay wait, sorry

Here we slice, slice off one comma 10 comma two, start stop and that Then we are going to print arr Let's print arr first as well So it started from the first one, went up to the 10 in steps of two One, three, five, seven, nine

One, five and nine Now there are various ways of slicing So you could have also done it in this way by the way, where we could have used the similar notation, so where we wanted to start from two and let's suppose go to nine You could have done this as well This is something that we covered in array

Even that works, but this is a more sophisticated way of doing it using the slice object and you can not use a slice object and do it directly like this as well You can always use this one where it starts from two, it starts from 10, the 10th element, and goes up to the end Or you can take it to the last element that you wanted 가기 위해 If I wanted to go to 12, start from the top, so it goes to 12 minus one So it says 12 first twelve elements

Now, here is again, now this is something very very cool, very very nice that we can do with this, where we can extract specific rows and columns using slicing We can slice the first two rows and the first columns like this 그것을 시도하자 Zero comma two and zero comma two You do not have a multi dimensional array

But let's create a multi dimensional array Okay, let's try to cover this, which basically brings in everything but first is for rows, the rows that we want We can want zero to three rows Let's do zero to four and see if it gives us an error No it won't

It doesn't give us an error, it just ignores it The rows doesn't exist The first is rows and then the columns that you want with it Let's see if we give it a new column Yeah, it will still work, but not really

It would be confusing for other developers in terms of why you have used a higher index, so don't do that Just keep in mind the number of rows and columns that you actually have You could also tell it that hey, just select the rows in this range So we could also do it like every row after the first one or we could tell it hey, ignore the first column or could tell it that hey, include everything till the second column but not after that It gives us the same result but we can go over it like this

This one says everything after the first row, which is the first row will contain one, so it ignores one Everything from the first row onwards This could have a zero as well, right, which is the traditional one, which would include one, four, seven So we do it as one then becomes four and seven This one says hey, all columns up till the first column, which is not going to include anything which is like two, five and eight

This column gets dropped after this two, this column, two, three, column five, six, column and eight, nine column, that gets dropped Let's look at few NumPy array attributes These are very very helpful We can get the shape of the array by printing arrshape

Just three comma three, makes sense Next we can get the dimensions of the array, which returns the number of array dimensions Because of the 2D array, so it will return two, right Next is item size, the number of items in the array This is the length of each element of array in bytes

It will take each element and based on the array type it will give you the number of bytes, number of bytes for that particular element So one is usually showed in eight bits Integers are stored in eight bits and that's where it will give you the size Not very useful, but sort of something good to know Right, there is something called NumPy

empty It creates an uninitialized array of specified shape and dtype So uninitialized where it doesn't have a value, it just has been created If you do the following constructor where it take the shape So you need to give it an array, which defines the shape of it and the data type

It will just basically give you something with zeroes but essentially it's uninitialized, it's just empty Let's try this out So we give it a shape, let's suppose, three comma five and we give it a dtype of int Let's run this Okay, so what it is doing right now, it is picking up random values and it is just populating those in the rows and the columns

But it will look at the size, the size is being maintained Let's try with float and see what we get So again, the random values, it empty is basically useful that way Now it can also give zeroes, but then that just depends on whatever values it picks up Next is reading and writing from files using NumPy

NumPy provides the option of importing files directly into the ndarray using loadtxt function The savetxt function can be used to write data from an array into a text file 그래서 이것을 시도해 봅시다 Let's savetxt and testtxt and let's pass it an array

Sorry I got the spelling wrong Let's try this out Let's see if a file got created So yeah, testtxt got created and this was returned to it

Of course it writes it in the Python format, so let's try to create an array using some other ways Let's create an array using this particular connotation Let's see what the output is then Right, so of course if you need to write in a different way, you will need to specify that in those with higher options, but for now this is sufficient Similarly, you can load it up using np

loadtxt and you can give it the name of the test file So you can load it up from the, now notice that what is there on the file and what is being loaded is slightly different It's just that when it is storing it, it is storing it in a certain way When it is accessing it it is accessing it in a certain different way and there is minor differences are ultimately the object here is not to have the file in a human readable format as such

It's more about storing the data on the hard drive and using it in the NumPy array not any other way Now, another thing that we could do is that you could save it so CSV file, using something called the delimiter Now delimiter, what is does is that it separates out the rules of subsequent values that are present in the column using a comma So delimiter is something that you specify I'll just show it to you quickly

First let me save the file in a certain way First, let's save the file and we will use the same save text feature Okay, we are not going to try out We can use the same method and we can specify a delimiter So the first delimiter that we specify is going to be a comma

We are going to separate our data using commas Let's try this out Let's see what is there in CSV Now you see the data comma separated We could have also separated it using any other character

Let's suppose you want to separate it using the semicolon Let's check the CSV file now Now, these have been replaced by the semicolon You can also use anything We can use something like a dollar, we can use any sort delimiter that we want

It is purely up to us if you want a delimiter of this sort Of course this is best to use comma because that way it becomes clear A reason that you would not use comma is when your data in itself contains commas So if you have any string, if you have any sentences, let's suppose a Facebook post or a Twitter post, which has commas inside it, then probably using commas is not a good option because the library or your Python programming, it will get confused between what is the comma coming from you delimiter or the comma separating the return or what is the comma that is coming from the data itself So likely it will read, it will break it up into comma that it will also consider the comma that is coming from the data in itself when you're storing it in a

CSV file So please be careful about what delimiters you're using, but typically if it's a numbers kind of data, if it's just numbers, you can use a comma and it will work fine for you Other thing we can do is we can use the genfromtxt function Over here we need to specify the delimiter It's just pretty much the same thing as I did earlier when we're using the low text file

This low text when we were doing, genfromtext does something similar and it allows you to again, deal with data in different formats Maybe you need to pass the file to somebody else and that is why you would use these file operations Or you're receiving the file from somebody else, you're receiving the file from the sales manager The sales manager asks you to go through it or something else and you need to create a report on it That is where you would end up dealing with files because a lot of times, data in companies maintained in Excel sheets and files and you will export it to a CSV or something else of that sort, which is compatible with NumPy and use it

Now let's go on to Pandas Pandas is an open source library providing efficient, easy to use data structures and data analysis Now Pandas is basically built on top of NumPy Pandas is built on top of NumPy and the name Pandas is derived, not from the animal, but from Pandas data, which is sort of a very technical term, an Econometrics term from matplot, multi dimensional data Pandas is well suited for tabular data which heterogeneously typed columns, which basically means that any sort of rows and column based data which contains different types of columns, which contain different types of data types, heterogenous

It is not homogenous, where one could be name, age, sex, gender, city, different strings, Booleans All of that heterogeneous data, it is very very well suited for that It is also suited for ordered and unordered time series data Time series being that anything which is time stamped So let's suppose there is a sequence of events, like you were looking at the geographical use case, where it's a sequence of events which is marked by a time stamp

So any sort of ordered and unordered time series data, that is also what Pandas is very very helpful for Now, the third thing is any sort of arbitrary matrix data with rows and columns labels Which is pretty much similar to the first one Matrix data, rows and column labels and I mean, it's like an Excel sheet It's kind of describing an Excel sheet in technical terms

Any other form of observational statistical dataset The data doesn't need to be labeled at first Pandas is very powerful It gives you labeling tools as well, where you can label your data When I say label your data, I mean give a column name to certain columns which are not present originally

It will accept them and allow you to add your own column names as and when you want Now let's look at installing Pandas Same command, you need to pip install Pandas I'll just have a look at the virtual environment I'm in So I'm at

So this doesn't have Pandas and I'll have to install it Okay, so now Pandas is installed We should be expecting that it will be available to us

After the Pandas installation, let's look at the data structures within Pandas Kind of like how ndarray or NumPy array was available to us, similarly Pandas has some data structures that are available from itself as well The first one is series This is labeled homogenous array of immutable size Immutable size being that you cannot change the size of this array after you have created it for the first time

It is a labeled homogenous array, where the data is not heterogeneous Now of course we looked at Pandas initial thing was that it could handle heterogeneous data For that you need dataframes Dataframe is a two dimensional data type available It can have heterogeneous types and it is size mutable, where you can change the size

So as compared to series, for this one you can change the size of the tabular data structure So it like saying that you can add rows and columns even after you've created an Excel sheet Series are most directly you cannot modify the number of values inside it after you have created it Third one is panels It is a labeled, size mutable array but the dimensions are three in number

So it's a three dimensional array where even individual element can be a series or a dataframe in itself So that is where the three dimensions come in from Panels is the most complicated one out of the three, because it's three dimensional so it can be a little difficult to deal with it But it's one of the important ones for sure One thing to note, notice that all the above data structures are value mutable

그럼 그게 무슨 뜻 이죠? Value mutable means that we can change the individual values but in case of series, you cannot change the size So you can have four elements in that homogeneous array and you can change all the four elements, the value of the four elements, but you cannot change the size of the array in itself Please, please notice the slight minor differences when it comes to mutation Mutation being change So what kind of changes are allowed on these data structures? You need to be sort of familiar with when you're using them always there's a chance that you might get stuck when you're programming

Let's look at series Series is a single dimensional array that contains homogeneous data, that is data for single type All the elements of a series are value mutable and size mutable So the elements are size mutable, value mutable and size immutable So you cannot change something which is like a float to an integer because the size of the element in itself is fixed

Size of the element and size of the entire series array is fixed You cannot change it So data can be a multiple time, such as ndarray So you can create a series which contains ndarrays Or which contains lists, constants, series or dictionaries, et cetera

The indexes need to be unique, hashable, and have the same length as data It defaults to a certain value We'll look at this in a short while Data type of each column, if none is mentioned, it will be inferred automatically So the data type needs to be present for each column

It will determine it by itself if you do not give it explicitly When it comes to copying the data, it deep copies the data So what is deep copy? Deep copy is that it will copy as much as it can about that thing that it is trying to copy It is said to default, false is default, but it can do deep copy as well So deep copy means that any of the references, so even the memory references, it's not a copy, it's not a Xerox copy, it is like the actual document in itself

So it is kind of creating a duplicate which is very very valid as the original one as well It is not simply a Xerox It's like getting a duplicate drivers license, which is as good as the other one, the original one It's is not a Xerox, it's not a simple Xerox okay This is very important to know when you are you know, trying to copy it and pass it around and you make changes to your series data type, series variable in one place but it does not reflect in the other place

So you need to know where your deep copying and where you're shallow copying The opposite of deep copying is shallow copying Let's create a series What we need to do is that we need to import Pandas We need to create a series

Let's run this If you see that it has given a series, it is an empty one, as there is nothing present over here The dtype is float 64 Now let's suppose you want to create a series with some data inside it One of the typical ways to do it is by creating and using an ndarray

Let's also import NumPy over here Let's create an atarray Let's pass it to series Now let's see what is the output Okay, sorry, needs to be one dimensional

Right, okay this can be a little confusing, so let me instead give it in the reverse order and let me give a little bit of random values so that it doesn't seem like the exact same thing Right, so nine has an index of zero Eight has an index of one Two has an index of eight The second eight has an index of two

This indexing the left, this column zero, one, two, three, four, five, that is automatically by Pandas This is not present in the original array Now you can define the indexing by your side as well I mean, you need to pass an additional parameter, but if you do not it will automatically index it Indexing being that it will automatically set up an index next to it to which you can access it as I will show you later down the slide

But just note that this column over here, this one, had been auto generated This is something that Pandas series will always do for you Now you can also create it using a dict So let's suppose you want to create a data dict and you want to set A and one, B as two, C as three We pass the data dict and then we run it

See now, the index is that it has picked up has been given by you in a way When you give it a dict it will automatically create indexing using the keys and the second calumn will be the values So when you give it an array, the indexing is done You can sort of think it like this that when the array is given, the NumPy array, the elements are indexed anyway So this is zero, one, two, and that is what indexes

In this case, when it comes to dictionaries, the index is A, B, and C So index being, so think of an index of a book You need an index, go to a certain page The page here is one, two, and three in this one The index is A, B, and C

If you want to go to one, you have to refer to the index of index where it is and the index here is A That is what the series used to create an index for A, B and C Next is accessing data from a series Slicing works, as usual In the sense that let's suppose it had more values

Let me just do that It will access two to four minus one Of course the last one is not included any slicing in Python So four minus one is three over here, which is the value of B That is how it will work

We can always do this as well till the end or you can do it like this What happens if we give it a value that doesn't exist? Just to see, what if we give it seven? So yeah, it will just stop at F and not proceed further So yes definitely, there is a similarity between this and arrays, but then again, as you proceed with using Pandas in the future classes and the future modules in this one, you will figure out that hey, this is the normal functionalities present, less extra things are present on all of these libraries and all of these new data types that we're learning about Next is dataframes Dataframe is a 2D data structure in which data is aligned in a tabular fashion, consisting of rows and columns

Now the constructor for the dataframe object, Pandasdataframe, the first value is data, the second is the index that you want to define Third is the data type and the fourth is a copy, the value of the copy Now which can be true or false Again, the deep copy concept

Data can be multiple types, as I said, the array is this constant, as you have seen in the series one Index can be rows and column labels of the dataframe It defaults to nparrange(n) Similarly, like here we have a default value

It will, in this case as well, have a default value depending on the data that you have passed to it Dtype of the data type of each column This can be essentially a list here, or any sort of iteratable or an enumerate which contains the data type of each and every column, since this dataframe contains head rows in its data It doesn't contain more data So data type here will be within it and that is what this will contain

Let's create a dataframe We'll create a list 10, 20, 30, 40 and we'll create a data PandasDateFrame and to this we'll pass the list

Then we'll print the table You see the index was created automatically Now the column was given a name by itself Notice that the column was given a name by itself You did not provide

So zero, if you're wondering what the zero is, this is the name of this column This is the name of this column where the values are Now why did it pick zero? Because so we had not given anything to it by default When we don't give it anything by default it will automatically assume something and it has its own rules in which it will give a name to the column Also call it the label

So label and column name are two things that I will be using interchangeable As you go down the next few slides you will see how we can change the label If you're using a dictionary, if you change the data to this it's a list of dictionaries where we have A as one, B as two, we have A as 23, we have B as 41 Then we have A again as 45 and B again as 47 Now if you look at this, A and B, where did this come from? It came from these keys

The way again, don't be confused about when will the label be worked Whenever, so whenever it is considering a dictionary, even when earlier we saw the dictionary right, what it does is that the right side of the dictionary is always going to be the value That is going to be the value in your cells If you consider this to be sort of an Excel sheet, these are the values, one, two, 23, 41, 45, 47 These are the row numbers on the left, zero, one, two

These are the column names Neither column name is not explicitly provided It will automatically try to figure out hey, what can be the column name Now A is a column name for these three cases B is the column name for the other ones

Please notice that this is how it will basically infer if you're not providing it explicitly What happens if, let's suppose, one of the dictionaries has column that has not been defined for the other one? We have something called as nan Nan is sort of a null equivalent Equivalent would be equal, but it is similar to how we have a sort of not applicable or not present as a value for these other rows It goes from zero, which is the first element right, and says okay, A, B have a value but C doesn't have a value so it will put nan

Then it will go to the first one Hey, okay A and B have a value but C doesn't have a value so it will put nan Similarly for the third one A and B has a value, C has a value, so it will put at us 48 So please notice how it works when nan is a, sort of a null, it's not a number, it's stored in areas where no data is provided

Now let's suppose you wanted to give it an index Till now what it was doing was that it was giving a zero, one, two, based on the position in the array So it was looking at the array This is the zero, this is the first row, this is the second row Let's suppose we don't want it like that

We want to label it in a different way We will give it an index The index will definitely be a list of items We want to be very explicit and say this is row one, this is row two, and we want to give it a row three as well So we have row one, row two, and row three

Why would you do this? Because it makes your code very readable I mean, it just makes your dataset very readable That is why you might want to do it Okay, let's suppose for a second these are test results for three people One's name is Jim, another one is Dwight, third one is Pam

These are the test results for somebody Now you're seeing how readable this is as compared to how it would have been otherwise You can sort it like this, you can store it in a dictionary key value pair as well, but then this is just way more readable If you look at the console right, when you're going through this and you're looking at this, it is arranged like an Excel sheet That is where it comes in a lot because when it comes to data analysis, a lot of times it's just looking at the data

Now we have Python and it does store the data really well in dictionaries and lists but then viewing it is a pain unless and until you arrange it in a very particular fashion But this does that for you where it loads the data in a certain format and it makes your life way more easier Okay, so there is another way to create the dataframe using Pandasseries You can convert a dictionary or series into a dataframe and there's a trick to it

This is another, so let's suppose I'm creating a series of 40, 45, and 60 Index is maths, chemistry, physics I create a series two, Pandasseries and this is 70, 72, and 74 Imagine a student's maths data

Again, maths, chemistry, physics Now what we can do here is that we can do the dataframe object We can say Jim has series one and Dwight has series two We can print the table Right, so now we have a dataframe for marks of Dwight and Jim

Dwight and Jim are making the columns here The indexes are being created by maths, chemistry and physics The values are being populated from over there, where series two belongs to Dwight for maths, chemistry and physics and series one belongs to Jim So let's look at dataframe addition and deletion of columns in the dataframe A new column can be added to dataframe when the data is passed as a series

This is something that we've already seen, right, where the new column can be added In the sense that let's suppose I add C++ over here and this has a value of 90 Naturally for Jim, the value will be Nan, where it is not a number Does not give it, it doesn't exist Like you saw earlier

Now, let's suppose you saw this but you want to add a new column now, third student So how can you do that? Now adding it, creating a series every time is cumbersome So let's add it directly Let's suppose we have to add the data for Pam and this contains marks like 90, 91, 92, three and the index is maths, chemistry, physics, C++ Let's add even one more column for her for English

Let's run this and let's see the result Okay, so what happened? Now, English was not present for the earlier ones when the dataset was created It will be ignored here The other ones are considered because they were present at that particular time Had we had this like and we were creating it earlier, then we would have had a fifth column of English, but if you are adding it like this, let's see again what we get

Then you're not getting the English column Column like this will be added only when you're adding it for all three So we will come to that as well in terms of how to add a column, but this is at least you have learned how to add a row A column, so your column is added but the row over here of English has not been added because of this one Now you can also delete a particular column from a table

So let's suppose I want to add Pam, but I want to delete Jim 그게 전부 야 So that's how you delete it by using the del keyword Now delete keyword doesn't return anything But if you do something to get the data as well as remove it you have to use something called as pop

Instead of printing table, let me print Jim series This prints the series that basically is for Jim This is 40, 45, 60 coming for Jim Delete and of course, even in the table, now Jim doesn't have a record because that has been popped So again, to item Pam

Slight difference between delete and pop Delete doesn't return the original element that is being deleted but pop will return the element So pop is like popping, you pop something out, you take it out Delete is that you just delete it So if you have a, let's suppose if you have a box of candies and you pop one out, you're taking it and you're removing it from the set

But if you are just deleting it, you're just destroying it, which means that you're not taking it away or you're not consuming it Let's look at addition and deletion of rows So where we saw recently, that you know we could not add the English row when we added the column later So let's see how we can add a new row all together Now, first and foremost, you can select the data rows by passing the

loc function Let's use that Print table, let's look at the mark maths for everybody Sorry, I did not use the loc function So you need to use the loc function and you get the results for Dwight, Jim and Pam

Now notice that how it has automatically given in to you in a readable form It has not just returned 17, 19, 40 and 92 It has just given you with the labels as well It will give you the result of the labels intact so that you can make sense out of it with all the column names Now, in case you want to use a mathematical row reference, where you want to use that I want row number two instead of the label of the row

Then you need to use iloc, which is integer location, which will like this So we can try it out for multiple Name is given, straight even look So it gives you this as well So again, these are not simple, these are not just simple things

You can actually access the name, there are ways to access it You can check what row name is being accessed iloc Now, let's talk about appending to a row So to append to a row, what we need to do is, let's suppose we have and you want to append to it So we need to define a new dataframe

Now the new dataframe needs to have the values So let's suppose we need to have the value of 30, 60 and 95 The columns are Jim, Dwight Let's run this We have run into an error

It says shape of paths values one comma three This is implied three comma three So now you need to sort of visualize the data that you have Visualize the data in the sense that there are three columns and you want to add a new row for the columns So how would you do this? Let's look at what is happening over here in the example that is given in the slide

Now, 11 and 13 are being added to two and three Okay, now the columns are two and three and they are being mapped to this one That's all we had to do We had to kind of pass it as an array and give it the values within the array instead of giving it without the array So in the sense that otherwise, if you look at this right, it's an array of arrays over here

It's an array of arrays, where for the first row, you can add multiple rows in this time because the dataframe will always contain multiple rows Can always contain multiple rows So you wanted to add one single row Then I was doing it like this, right It was implying that I want to add three rows, but create a dataframe of zero, but I wanted to create a dataframe of only one row

I wanted to create a dataframe of only one row which would contain the marks of the English column For doing that, I will use this, where I will append this dataframe to the row Do this, right, and then I can change the table zero index I can later do a label change Now drop function is used to drop rows where labels are provided

So you need to provide the labels So let's suppose I want to drop the table now, drop the row now I'll say drop zero Then I'll print table Okay maybe I need to use the numeric one

Okay, now let's suppose instead I want to drop the C++ row The C++ is dropped Similarly I can drop chemistry or I can drop maths Let's look at importing and exporting data using Pandas Now, similar to how we were using it with NumPy, you can have a dataset and you can read the CSV by just giving it the path to the site

그래서 이것을 시도해 봅시다 Let's just create a new CSV file for us I'll just comment all of this out Okay, it will read this 10, 20, 40, 50, just present over here just like we loaded it using NumPy But now it's a Pandas dataframe

The data type is of a Pandas dataframe Any table that you have at your end, it can be returned to a CSV file as well In the sense let's do this and So if you notice that dataset has been exported to the file The table that we had over here has been exported Again, makes it easy to you know, kind of have a prepared dataset So it happens often that you know, let's suppose you have a large dataset and you might process it at once over one at machine and you might give it to somebody else It is very handy that way, where you can just import it and export it in a very compatible way to different people and it can just give your data to different people, let them handle the same

Now similarly, you can read Excel sheets as well You just need to provide it the path and you can write to Excel sheets as well in case needed So it's just like super simple, just like how CSV works In case you ever face issues with this, of course my first recommendation would be convert it into CSV All institutes can be converted into a CSV so you can do that as well

Here is a use case or a problem sheet So let's suppose Bob wants to track the demographics of his country by age for every year So what he wants to see is that how does a country's population, the demographic, vary according to age for every year So how many young people are there in every year 3% of the people are below 30

40% are above 30 So he wants to create that sort of a distinction Now, he collects all of his data about the country's population from the census, from the internet, from numerous websites and how he's trying to look at it But if he was to look at it just on an Excel sheet or even a Pandas dataframe, how easy would it be for him to digest that information in a single quote More than that, if he had to share that with somebody, would it be easy for that person to look at the same thing and infer the same thing? In the sense that he could have it arranged and everything but it's not immediate

The solution that we have for ourselves is a Matplot library provided by Python which helps us in plotting the data Now there's a saying that a picture paints a thousand words Even when you have very complicated data, once you plot it on a graph it becomes dramatically easier for you to understand what might be happening compared to looking at the raw data in it So a short introduction to data visualization in matplotlib Matplotlib is a Python library that is specifically designed for the development of graphs, charts, et cetera, in order to provide data visualization

Matplotlib is inspired from the MATLAB software or the MATLAB programming language and reproduces many of its features This doesn't mean that you need to know about MATLAB or anything, we will still be writing Python But yeah, it is good to know that it is based on something very strong One of those languages that are used by CAD machines and scholars and universities A lot, provides a lot of mathematical operations straight out of the box and that way a lot of Python, so a lot of things that you can do in Python with respect to data science and machine learning can also be done in matplotlib

It's just that Python tends to be more favored because ease of writing as compared to something like matplotlib So installing matplotlib, it's pretty similar to the previous commands that you have been using for a solution This is how the screen should look like The command is pip install matplotlib All small, no difference from the way it is written over here

Pip install matplotlib Pip space install space matplotlib Let's look at plotting in matplotlib So the first plot that we're trying to plot is this one Let's head over to the ID

The first you will import matplotlibpyplot as plt This is very very important that you import it as an alias because otherwise, this entire name can be quite big This is again, a user that you will see as multiple places This is similar to when we imported NumPy as an np and when we imported Pandas as p

Very simple plot, we're going to plot one, two, three, four on the plot and you're going to show the plot So this first command, this just sort of passes the value It is not that the plot has not been created, but it's just that you haven't asked to show it or save it Unless and until you tell Python explicitly that hey, I want to look at the plot it won't do anything This is also important because sometimes you might want to generate plots and save them or sometimes you may be actively looking at plot right there and then

So let's take this for a spin You will notice that something else will appear, it will not appear over here, whatever machine you're on it will appear in the tab Like in Windows it will appear at the bottom right next to the start menu So this is something that matplotlib generated for us It has several features like zoom and everything

That's really nice, but here is our plot It starts at one and goes up to the four So we were plotting the y-axis over here If you look at this, we plotted the y-axis The one, two, three, four

If I add a value of 10 let's see if axis goes to 10 So you see that this value has gone to 10 This is not that value at all Now, we haven't given the x-axis, but matplotlib has sort of figured it out by itself It has taken certain default value

You don't need to worry about it because normally we wouldn't be plotting it like this Normally we would be providing our own x-axis, but otherwise it's like zero item of one The first item is at two So it's index spaced The way the x-axis has been marked that has been the index of these items

So 10 to the 50 because it's (mumbles) List of vertical coordinates are the plotted You're importing matplotlib as plt in the and displays the plot The x-axis values are implicit from zero to n minus one where and is the length of the list

This is five minus one, four, zero to four Now, we can also specify the x values by ourselves The way we can do this is let's suppose we collect this into an array So if I am movable to it For the sake of demonstration I'm going to create some mock data for the x-axis

The second array that I will get with, and this is list comprehension So this I'll print it for you here as well first so that just in case you forgot what this does This will plot the y values and this is going to square all the y values One square, two square, three square, four square, 10 square and will collect all of them as x-axis 이제 우리가 얻는 것을 보도록하겠습니다

X-axis is two, four, six, eight, 10 Now you have the y-axis over here First set of values was the x-axis and then the y-axis Now you can also use NumPy to generate the list of items and you can use that as well over here What we'll do is that we'll use NumPy dot arrange and will plot that plot

You want to plot x and we want to square the other value Let's see what we get Let's compare it to what you wanted to print X is going to be one, two, three, four, five This is going to be squared up from zero to 25, which is a maximum square

Let's print arrange, let's print this just so that we can confirm that So arrange will take you from zero to five in steps of 01 So that's continuous value It is plotting all of these values that are being provided over here

다음에 가자 Now, often we would require multiline plots That is multiple lines on the same plot This is again, very commonly used, and couldn't be an easier way to do this There couldn't be an easier way to do this

All you need to do is you need to call the pot again and again Think of calling this method plot over here as a way of putting a line on the graph 그게 전부 야 So every time you're calling plot because putting a line on the given graph So what we'll do is that we'll do is equal to range of five

It's a simple Python range of five and we'll just one it would be power of 10, but you can see the difference These are done power 10 is that you can spot a difference between them (voice cuts out) So naturally this line over here, this is called 10 This is for 10 and this is for the star two X-axis that they have is the same one

X-axis is a shared from zero to five You would call that as range minus one Now in case you wanted to plot multiple lines using the same plot function If you think this is a little cumbersome, you can simply copy paste the same thing over here, as a single one, and it will run We got a similar graph

Let's try another thing Let's try it with three lines This time we're gonna do i**100, so that you can really really see the difference It seems like we have gone out of range here We can plot multiple figures using a single plot function as well

Let's try with this One thing that you might have just seen that earlier when I was showing you the plots, even though we are used three of them, the lines are not clear enough So the reason for that was also because they had sort of merged together The values had increased so much now, but you have like comparative values so we can see the difference Let's see if we can remove the x to make it work or not or do we need to give the row every single time

Seems like that doesn't work It's giving a different sort of a plot We need to give it the same x-axis That needs to be followed everywhere That's when you will get the three lines

So in case you want to show a grid in the background, this is just a visual thing, so you can just set this parameter to two, prpgrid So we have a grid in the background Another thing that we can do is that we can limit the axis Rather than limiting the axis, let's suppose it's a very large graph and you just want to see a certain portion of it

Do a demonstration The first is for the x-axis Suppose only 5, 10 I want to see the portion of the graph which is between five and 10 and for the y-axis I want to see something between which is 15 to 20 This is a coordinate space

X can be between five to 10 and y can be between 15 to 20 Let's run it So we got nothing because probably the graph is not even in this space Like there's no point that any of the graphs have in this space so let's change this and see if we get something 아직 아무것도

Let's change it to zero comma four, zero comma three, and zero comma three We should definitely get something over here We get the three lines Let's suppose we start watching it from this point So think that we are going to cut a slice of this graph along this axis and this axis, where we just want to see the lines

We don't want to see a single line We can set x as one two three and same goes for the other one If you just set it to one two three, one two three It's just launching You can do another one, we can do one two, one

Anything beyond 15 and we are lost Let's do 125 and two, 125 three and over here let's to 2

0 You see how we sliced that portion? This is the limiting the axes part is really for seeing a particular section of the graph That's how you need to think about using it Now you can also use alternate xlim and ylim in case you think that remembering this is a problem So we can do the same thing by using xlim, which would be 1 point same thing, 1

25, three and this one it would be two to three We'll pretty much get the same results, same kind of graph Of course it's up to you which one you want to go for I would personally prefer this one because at least it's explicit You know what you're trying to look for in term of what you're setting

Let's talk about adding labels to a plot Very simply, we can just, okay so let's remove this first 그게 전부 야 X-axis and y-axis, as exactly as I wrote it in Python In case you want to add a title

Learning matplotlib Let's talk about adding a legend to our particular graph So (voice cuts out) the plot statement in case you have multiple plot So don't forget to give the call to the legend function as well You need to set the label over here like this and then you need to call the legend function as well

Let's run this See, now it's looking much more professional, much neater as typically we see things to be Let's look at saving plots Very simply, nothing much to do We can just give the name of the file

It will create the file by itself So this is created now and this is saved on file Savefig, FIG, save function Next, let's talk about plot type Matplotlib provides alto of types of plot formats for visualizing information

This includes scatter plot, histograms, bar graphs, and pie charts and many more apart from these as well, but these are the primary ones that are typically used or asked from developers Let's have a look at these one by one Histogram, so histogram displays the information of a variable over a range of frequencies or values It shows the distribution of a variable or a range of frequencies or values Please notice what it is for and sort of try to understand that it's not a bar graph

It displays the distribution of a variable Now, what we're going to do here is that we are going to use this function called randomrandn from NumPy and we haven't covered it earlier, so let me show you the documentation of this function So NumPyrandom

randn, so what is does is that it generates an array of shape d0, d1 So whatever shapes you give here, that is the shape that will generate, filled with random float sample from a univariate normal Gaussian distribution of mean zero and variance one Please know that the input variables over here are not the range or anything of that sort that we are looking for This is a dimensionality of the matrix Let me show you by example

Two lows in c columns Show us in columns that values that are according to Gaussian distribution, which is a mathematical expression So it's calling some mathematical equation, that's what you need to understand in case you're not familiar with Gaussian distribution or you haven't studied it or like you don't remember it right now But it's just over here that we define the rows and the columns We are not doing anything else

Now you want to print 400 rows and 10 columns This is where basically Python is obfuscated that but we can do it with 40 and 10 as well I think

Or let's try with two Yeah, this is much cleaner for two rows and two columns So let's plot a histogram with one of these values We are going to take y is equal to this and then we will do hist, histogram short for histogram

We're going to give it the data value Then we say plotshow Let's run this So we get a histogram

Now don't confuse it with a bar graph because it looks like that but it isn't around that idea In case my sample set was larger, which I will just make it, it will look a lot more like the graph that you just saw on the slide It's showing the distribution This is a little heavy, it's stuttering Now the histogram groups values into non overlapping categories called bins

This is just sort of a categorization that the histogram can do for you and to get it done we need to call a second parameter called the bin parameter It's just the bin value So let's take it for a run So the reason why I changed the parameters is because it sort of becomes heavy with 100 100 In the sense that with that, the size, the plot size is pretty huge and so it would take a lot of time to kind of, that is why the rocket figure was jumping up and down

Just keep in mind it's not that it's stuck, it's just that it is taking a lot more time and the time would be lesser if you were on a more powerful laptop or a computer, which has less power or enough RAM So then it would be still, but it's just that the computer is doing all the calculations to plot this It's not exactly trivial in terms of time So the output takes a little bit of a time and there's a little wait time Next is the bar chart

To plot the bar chart we need to provide it two arrays The first array is the midpoint of the load face of every bar This basically means this So this is one, two, and three, where the midpoint of the bar graph should be This is the height of the successive bar graphs

그래서 이것을 시도해 봅시다 We'll do set a bar graph as the arbitrary values and we're going to give them values of 45, 85, 89 Let's take this for a run So the gap came because I gave it a very random hard value This is not how we are usually conditioned in school to kind of make these sort of bar graphs

It's just that over here I wanted to prove a point that you can pass any sort of random values and it will take the midpoint over here If you look at the midpoint of this and you look at the values that are coming over here on the right So around 15 is when you will see that's exactly in the middle Yeah, this the exact middle where my cursor is right now

Then 26 for this particular bar graph and the 48 for this bar graph So you can also plot a dictionary using a bar chart I have the code ready for this

Now what we are doing here is that we are iterating over a dictionary using the enumerate object Let's first have a look at what enumerate does Basically it gives an iterator object It will just give me the i and the keys This is saying that the zero is the first and this is the second one

So what enumerate kind of does is that it will put it into tuples of this sort It's returning that and we are taking the for the zero value but on the zero point with the key value of this We are going to plot the bar graph The zero here, coming from this i that is being set, and the one coming from this i and then the two Now you can also do it like this

i+1, doesn't matter, it basically the involvement of dictionary over here is just doing an enumeration 여기 As the demonstration that even if you have a dictionary you can sort of manipulate Python So all of this, it's not that it's a matplotlib concept really, it's more of programming that you can cover it like this as well in case you have a dictionary and you want to plot it on a bar graph Yet another way to do it is to show xticks Xticks, what they do is that they will take the dictionary, they will take the range that you set over here, which is zero, one and two, and they will replace them with the labels that you want

Pltxticks, if you look at this, zero, one, two I could have gone for the dictionary keys as well, but I wanted to show you a different demonstration A-tick, b-tick, not tick Let's just do it as b-bar

Now if I want to do a similar thing using just the dictionary, I can do it in this way It's because what is dkeys, it's acb So earlier I had done it but passing it manually, passing it and rewriting it by hand But you can of course, use the values provided by d

keys as well This is for placing the labels on the x-axis Let's look at the pie chart Pie chart is relatively very simple to make All we need to do is now we need to give the size initially over here, the size of the pie chart

We need to give the dimension So size of the plot in inches, which is let's set it as three, three then what we can do is that we can set the pie plot values so it will calculate the percentages by itself Please note it that you don't have to pass it the percentages, it will do a sum and calculate the percentages by itself and you pass the labels Should have been labels Let's run this

We got a nice little plot here You can similarly increase as many number of labels as you want and just keep dividing So let's suppose I take a very disproportionately sized value and I say this machine learning We get these values on a pie plot Next let's look at a scatter plot

Scatter plots display values of two data sets visualized as a collection of points Now we need to do here is that take this up This x is the number of points Randn, let's print x and y and see what exactly this is going to be These are two points

This is one point and this is another point These are two values of x and these are two values of y When you do a scatter, you're saying that oh, I want to plot two points So there are two points which have been plotted Now the values that are generated over here, these are again Gaussian distribution values

So think of them as randomly generated values which are following certain rules They're random but they haven't picked randomly based on certain rules Two here is really the number of points that you want 'Cause this weird of array of sort, like an nd array of sort of a thousand columns and this one will be again, one cross thousand This is square two do a scatter plot of these

Let's do the big one These are thousand points on this plot over here We can do lesser always, we can do 20 and we can 20 again So these are 20 numbers Let's see if we reduce the number do we get an error? The numbers (mumbles) what happened? So x and y must be the same size

You will get a value error Because what happened was that there were x, there were 10 x coordinates for which it could not find a match in the y coordinate, in the y section So it wouldn't work Finally, let's look at styling a plot So let's suppose we had a line plot

Arrange one comma three and then you are doing a plot of y What the second parameter is doing is that it is this finding a color Now you may ask which color is y Now this is based on a color code provided by matplotlib in itself So C and then we assign plot dot show

So these are the color code B is for blue, c is cyan, g is for green, k is for black, m is for magenta, r is for red, w is white, y is for yellow So please, please keep this in mind This is not just as simply translated always because black is for k, surprisingly You need to refer to the color list

Name npfind You got color lines according to the coloring that we wanted to give it Now sometimes you style your line in a particular fashion For that we also have option

Now you can either do it in a single plot, as you have seen over here, or you could potentially do it even in here as well So let's try this out on one of the lines first and see the output We made it a dashed line Let's see if we can give it a color at the same time or not So let's give it m and c is taken

Let's give it a red color This can't happen right You can't give it the color and styling at the same time but you will have to use something else But for now, okay if you want to make dotted and a dashed line and then you want to make a line which is made out of colon statements So this is how you do it

This is a colon line, this is a dot and dash This is just a dash Solid line, dashed line, dash and dot and dotted line Now, you can also have customized markers and if it's where the line styling as you've just seen Let's try this out for one of them

Let's see what o does and let's completely remove the other two for the timing Let's try it out on this because the other one had very equal number of points Let's see what happens with d D is for diamond, o is for a circle This is talking about the points that are being plotted

What is the line styling for the point? But that will happen The particular point So the other one was the entire line was being styled in a certain way This is referring to the control markers, which is the specific data that you have given This is not for any of the

Let's suppose I was doing this, this is specific by square values Let's try it with the hat on it and you have it with this So again, it's just styling

(pleasant instrumental music) So introduction to data manipulation Using NumPy, Pandas and matplotlib we will analyze, visualize, manipulate large datasets in order to extract valuable information and insights from it Let's look at the basic functionality of series ndim Now, ndim is an attribute available on the dataframe object from Pandas and it returns a number of dimensions of the data structure 그래서 이것을 시도해 봅시다

Here I have a dataframe, which is Pandas series dataset Naturally the dimension is one because if we print dfo here, right, it is a singular one This is the index column and this is the actual data column Now of course we can do it in this way as well where we pass it additionally Then if you look at the dimension, the dimension has changed right, because now there are two columns

So this is basically the number of columns Ndim basically tells you the number of columns at a present near data stream What axes does is that it returns a list of the axes of the row labels Let's have a look at this, what do we get here? Okay, we got zero, step, 50 and one The index is an A and B and the dtype is object

Let's suppose we change this to one to one zero one or let's suppose a random number as one zero three and let's leave it at 51 Let's see what we get Right, so if you look at the range index it to zero It starts from zero then it goes to tops one zero two and is in step one So just to kind of reiterate over this, it is referring to this particular column

Zero, it starts from zero, goes up till the maximum values Don't look at this one, zero This is the maximum value This is the stop So it is a total cumulative value

These are 102 items, right The range index and a step of one So in case you want to create a range, you will say zero to 102, where the last number is not included So 102 will not be included, but from zero, if you go in steps of one, we will reach 101 So we have to stop at the number which is lesser than 102, which is this one, correct

So this is basically again, sort of giving an idea about the data, part of data analysis to kind of know your data in depth really well, even before you start doing anything with it Next are values As the name implies, pretty simple actually So let me remove the df string and run this 우리는 무엇을 얻습니까? So we get sort of an array of two values, the two columns, one and 51, two and 52, three

Each individual row is a collection of arrays Not exactly arrays You've noticed that these are more like a series If you had just one and not two, let's see what we get Then we get each individual one

Let's look at the head command Very very important, you will be using this quite a bit in real world scenarios The head, what is does, is that it gives you, so the first five rows by default Just that much, because typically your data will have lots and lots or like millions and millions of rows, hundred thousands of rows, and you maybe don't want to print all of it because it takes too much time It doesn't make sense printing all of it

You just want to look at the first five rows Or if you want to look at the first 50 rows Or let's suppose you want to look at the first 10 rows So you could pass it a value like 10 over here Without value, it will take a default value of five

If you pass it something it will take a default value of 10 Now, similarly you have something called a tail So head and tail Tail will give you a value from the back, the last five values You can of course, specify and I want to see the last 20 values

Please notice that these are more for viewing the data yourself Yes, you can of course put it another variable 그리고 모든 것 So not for use essentially for slicing or dicing So I don't prefer doing that Well, so slicing and dicing being that if you want to take out the last six rows, I might write in a different way, the way that discussed earlier of slicing a dataframe

But these are more for quickly accessing parts of the data which are at the start or at the bottom and going on from there Okay, now let's look at some very, very useful functionality Now we have something called the sum, a variable on a dataframe For that let's set up the dataframe properly Let's suppose we have a dataframe with r values and we will change this to np

arrange and we want to go from one to a hundred in steps of two so that we have all values, because it will start with one and then one, three, five, seven Then we have even values Similarly we have nparrange in steps of zero to a hundred to two Let's just first print the dataframe that we will get

We have got even values to 98 to less than 100 We've got r values less than 99 Let's see what do we have Something very simple that we have is we can just call sum on it and let's see what it does

Brilliant, right So otherwise you would have to write an if else condition to do this, to check yourself, which can get tricky as you have complicated data But sum sums up the data for individual attributes and gives it back to you, but even in forward It automatically just looks at it and you know, it just creates that for you, right

Now, the std function is for standard deviation So if you want to observe the standard deviation in your data you just call std on it, dataframestd and you will get the standard deviation Of course it's going to be similar for these, because these are similar kinds of numbers, similar ranges and it depends on the ranges of the sample set rather than the value of the number in itself Because standard deviation is basically counts the deviation from the mean of the numbers

Because these numbers are very homogeneously spread from each other, you would expect the standard deviation to be similar Okay, next we are going to cover iterating through a dataframe So let's suppose you want to go row by row or column by column and that is what we will cover over here So let's first create a dataframe as given on the slide Let me remove this

So we're going to create a dataframe which is going to have random from five comma four and then columns are going to be, we have four columns over here We're going to add col-1, col-2, col-3, col-4 Now, kind of like how we learned about iterating over dictionaries, we can do the same over here We can just print the key Let's see what

iteritems does So you might remember iteritems This is even used in case of dictionaries, okay This is a variable, this is the same method available for dictionaries as well, even the dataframe object has this method available on it So let's see what it returns for dataframe and if it firsts ask for our expectations or not

Just try to think about what it did for dictionaries For dictionaries it returned the keys and values over here The key and the value part of the dictionary Let's see what it does for the dataframe Okay, so for dataframe, what it does is that it picks it up column by column

That is the key Then it gives you the value So in fact, let me separate this out because it might not be exactly clear which is which So this is the key and the this is the value, right Let's run this

The key's column one and this is the value that is being printed for you Let's just look at the type of value that we have a deeper understanding of what it is returning So it's a Pandas series datatype It is a Pandas series datatype that it is returning once you're iterating over it So as the slide says, the key value pair iterated over consists of the column label as the key in the series object of column values as the value

Let's look at iterrows, so over here we have another one called iterrows This one is not available on dictionaries because it doesn't fit with it This is a dataframe that's a specific method that is available to you What it does is that it iterates over the row label as the key and the series object of the row values as the value Till now what you were doing is that we were getting all the values for column one when we were doing iteritems

For iterrows we are able to iterate row by row like you would do in a database Like if you were to look at an Excel sheet right, you would go, what is there under the first row, what is there under second row For column one the value is this, column two the value is this, column three the value is this and so on and so forth That is the same progression Let's see if we can use value

ndim over here Right, so let me mute this out Let me remove this So if you look at the value dimension, it is one for the series because it returns a series dataset but label with the column length, right So itertuples return an iterator yielding a named tuple for each row

So in case you want to named tuple for each row, that, so this is again something you would use when the use case presents itself, but maybe you want it in a different format So this is basically a different format than getting it in the Pandas data series dataset But it is still iterating over the rows What it does is that it doesn't return two values, it returns an individual row But if we look at the type of the row, let's do both

Okay, so it's first and foremost, it's a Pandas class that is being returned It looks like a tuple, but it is a Pandas data class The second thing over here is that you get it in a named sort of way You know which is which So you know which is which

For index four, you have all these values Index three you have all these values Index two you have all these values It is a named tuple that is given to us Now let's look at some more operations in the Pandas dataset

Now this is very, very important, please make sure you are paying attention This is the groupby operation There is a lot of ways that you can group values by Let's try this out I think I have the data set up somewhere over here

Okay, let me quickly set it up So if you have a data frame, we have a dictionary first actually, you don't even have a dataframe, you have a dictionary, which contains some data related to the World Cup It contains a name of the team So we have West Indies, West Indies again, India, Australia, then there is Pakistan, then we have Sri Lanka again, then Australia again and we have Australia again Then we have India and then we have Australia again

Then we have the rand column, which is values 7, 7, 7, 1, 6, 4 and then finally, we have the year Maybe some of you have been able to figure it out Some of you are already familiar with this dataset, the real dataset, but some of you are maybe trying to figure out what it is It's actually the winners of the Cricket World Cup in different years That is what this dataset is about

Who won in which year We will simply create a dataframe out of this Let's see what we get Okay, I missed a comma Let's run this

Okay, so from 1975 to 2015, we have a list of teams We have the rank that they initially had and the fact that they won So this is the initial sort of rank before they started The year and the team which won the World Cup in that particular year This team won the World Cup, West Indies won in 1975

Sri Lanka won in 1996 and these are the ranks Now, of course this data would usually be, like if you were to kind of deal with it, you may think about hey, let's save this in a database That's fair enough, or you might be getting it from an external source, it might be streamed to you in the sense that it's at the end of API, like a Json API Or you're reading it from a file But let's assume that you have this data in your code now

Now, of course there are things for those of you who are familiar with sequel There are things such as grouping everything in sequel but then it tends to be limited in what it can do Plus, with the flexibility of Python and the ability to easily you know, write conditions and everything, dataframe having a groupby function, which allows you have columns It's immensely powerful It makes life much, much easier

You just get your dataset into Python You don't have to worry about the syntax or sequel We can write all sorts of conditions You can view your data in different ways, which sequel might or might now allow for or which it might allow for but it will make it very cumbersome Naturally, you don't want to be messing around with the database and variables and everything and writing your first conditions

So you can write the conditions, even in sequel, but then strongly not recommended So let's look at what this will do If we go ahead and do a dfgroupby and you pass it the value of team and then you as for the group Okay, so it has grouped the different teams for us

The value that is available over here, so it's a dictionary, by the way The value that is available over here are the indexes where you would find it So West Indies is at zero and one India is at the occurrence of two and nine Australia is at the occurrence of three, six, seven, eight and 10

Sri Lanka is at the occurrence of five, which is correct if you look at this Sri Lanka is at zero on two, three, four, five That's how it appears even in the dataframe So nothing but just the group data present Now you can iterate by groups, you can pick up each group value, look at the number of occurrences that it has had and you know, make decisions accordingly 거기서부터 진행하십시오

Now let's suppose you want to group by a multiple columns This is that you wanted to group the team by team and the rank, where you're creating pairs of the team name and the rank that the team had When India was ranked two, there are two occurrences When Australia is ranked one, there are five occurrences But let's look at something that is occurring again

So Australia, as you see rank one, Pakistan ranks six has a fourth occurrence West Indies in rank seven is on zero and one and Sri Lanka on rank four is on five So let's actually create some data that you can sort of see a duplicate I'm just gonna manipulate the rank here I'm going to change the rank of Australia to two

This last one, Australia, I'm going to change the rank to two to see if we can get a new group for Australia in two Immediately if you look at this, so Australia rank two Then Australia rank one, group as well So this is one group, with Australia being rank one This is another group with Australia being rank two

Unique combinations of a given country or a given team and its rank that is provided here Now to iterate over groups, what you will do is that you will simply use something called grouped So for name and group, then dfgroupby and suppose we want to iterate by team Let's see what we will get row by row

Okay, we have got the name of the group then we have the group in itself Let me in fact, draw up a separator so that we can see it clearly Okay, group is Australia So you have the group name as Australia and this is the dataset related to that group name Group name is India and this is the dataset related to that

So you can iterate over each of these now Let's look at what is the type of the group that we know what data, what object we will be dealing with We will be dealing with a Pandas dataframe In fact, have to do something in groupsum, let's suppose just for the sake of it I can do that

Doesn't give me insight or I can do group rank Then only the rank column is printed Or I can group, so I'm basically on row nine and I'm dealing with a Pandas dataframe I'm not dealing with anything else So years get displayed

Now let's suppose you want to get a single group I mean, you don't want to iterate over it, but you just want to get a single group now So let's suppose we create a new one called dfgroup and we go by dfgroupby theme and then we want to get values for India The method is get_group and we say hey, we want the India group

Naturally, if we have the wrong key, it will throw an error It will say that hey, the group doesn't exist You can try it with Australia as well Next is aggregations So aggregated function is a single aggregated value for each group

You might want to do a sum of certain things or you might want to do some sort of aggregation, an average or a standard deviation All of these are aggregating functions which give you a single reduced value of a particular column or a set of values So let's suppose we need to obtain the group of all numbers labeled all in the dataframe This is one we are aggregating it We have aggregated all the groups in the single value for each group

This is the group of all odd numbers Next is concatenation Okay, let's suppose we have a list of of World Cup winners and we then we have a list of World Cup chokers Chokers are basically the teams here that were supposed to win that were doing really well in the tournament, but they kind of fluttered at the last moment and they couldn't complete it They couldn't like really win, but they were the favorite to starts with but they fluttered at the last when they could have really made a difference and they could have really won

So points would be 95, 764 and 656 Let's add the points here as well We did not have them earlier 874 and 753, 855 So let's create two dataframes

We can simply concatenate, we can call pdconcat D of one comma d of two Let's look at concatenation now So concatenation is a process of combining two or more data structures

One thing you need to keep in mind while concatenating two dataframes is that the number of columns in each of the dataframe should be similar 그래서 이것을 시도해 봅시다 Let's suppose we have a dataframe with three columns, E, A, and B E has values K0 to K3 A has values A0 to A3

B has values B0 to B3 Similarly year old have a dataframe with D column, column C and column D What you're going to do is you're going to try and merge the two together 무슨 일이 일어나는지 봅시다 If you see, we have concatenated this dataframe to this dataframe

Now why are the values nan for A0 to A3? Because they key C doesn't exist The key D doesn't exist Similarly for values where C and D columns are present, A and B don't exist so they're appearing as nan I hope this is clear to all of you We can also use something called append function, which would append the data instead of concatenating the data

I'm call this function, please not that you have to call it in the dataframe object, not through Pandasconcat This is for Pandasconcat, right, when you're concatenating If you want to append a dataframe to another one, so you're going to say left

append right Let's see the result This basically determines, let's suppose we try to append a right to left Let's see if there is any difference in output Yes, there is a slight difference in output

So when you are appending left to right, it takes the left dataframe first and appends the right one to it This portion is right being appended to left This one, right having left appended to it This is right and this is left Let's see what the axis column would do

So we type in print then given the axis column, axis values Okay, this doesn't tell us much Let's give it a different value and see what the output is There's no access name two So let's try to look at the axis for this

Right, so if you concatenate on the axis for zero you get this sort of an output The left array is coming first and the right arrays and then the other one If you have axis of one however, so axis list terms for the dimensionality Axis of zero, so this is basically a 2D array, right When it comes to the dimensions, this is a 2D matrix, left and right

When you're giving axis as zero what is happening is that it is concatenating along this vertical When you are concatenating across, this is the default value as well by the way When you're giving an axis of one, it is concatenating across the columns So try to imagine an array or a matrix or a two dimensional space, axis zero is saying that hey, go along the x-axis and axis one is saying go along the y-axis So in a way that in this one, the first one acts as zero

It is just adding of rows, one by one after the other, but when axis is one, then it is combining the values So A0, B0, K0, so just combining along this particular key Let's talk about merging and joining So merging is a Pandas operation that merges two particular dataframes So yes, we just did merging as well, but they can be a different way that it can merge two datas

So merging along a particular column Let's suppose we had to merge on wold championship year and World Cups played year Or better than that, let's merge on the team, which is common So when you call merge you basically remove the duplicate column and instead give the final result So let me show how we can do that

Let's suppose I'm trying to merge left to right and I'm going to suggest that hey, you merge on the value of key Let's see what I get Okay, my bad this doesn't need to be an array This should be sequential values Interesting, so we got a result like we did here in fact, with the axis is equal to one

Nearly same because when just concatenating it was keeping both the key columns, but when it merged, it merged and gave you a single column that it has merged on because this is a simple concatenation operation It will just put them together This is joining on a certain column, where you're saying that hey, for every value of Key0 there is a value of C0, D0, A0 and B0 You're merging these two together and the common path gets is not duplicated Now, there are multiple kinds of way which you can merge or join two dataframes

One of them is a left join Now, think about it again This is what makes it very very useful, where as you say through Pandas, you can just load a dataset into memory Now it is providing almost DB level querying in the application itself Very powerful, very easy to write, reduces like, in case you are working as an analyst specially and you are dealing with a database, reduces the amount of time you have to spend writing database queries because they can tend to be very long and confusing as compared to simple Python code

You know again, because of features like these that you see it being used a lot in data science, machine learning and so and so forth So let's see what the left kind of join will do to it Let's suppose I say merge left Okay, we get a sort of output Let's do a comparison

It says merges is on the left object The left object is the first object over here The left most object, so I should actually say The left most object So it's right and left

So don't be confused with the names over here Okay, let me just actually rename them I'll call them A and I can call this one B So first I was doing A comma B, let me now do B comma A and see if the result changes Okay, the result did change

So left basically says A it means as it is, merge B to it So merge B to is, which is this one When you just interchange, it gives you the opposite When you merge from B to it, so B comes first and then A comes This can be important if you are, you know you have unequal values or columns or something of that sort

So yeah, this can be a particular way in which you arrange your data This can matter, especially when you're trying 데이터를 분석합니다 Let's look at the right join then What does the right join do? Let's take this and merge Pretty sure that some of you might have already guessed what it might do

Right, so if you look at the right join immediately after this one, okay Let's do the right join on this one Let's see what we get This one is pretty clear, right, what is the difference between left join and right join Let's look at the outer join

In this particular case, a full union of the two columns as mirrored on both objects and let's see how we can get an outer join This is, as it says, it merges two objects based on a full union of the two columns of both objects So what it does is that it does a full union, make sure that both of them are present Right, similar output, but this time it's an outer join So the reason for similar outputs is because how the data is

If the data was a little different then you would have of course, naturally have a different kind of output So let's say the data was kind of like this, that there was a fourth value, a fifth value Let's see what we get on an outer join So on an outer join we get both of them If we were to do a right join in this case, what would we get? So right and outer are similar

Let's see if right and left are similar Okay, so left is not similar What left does it says, I'll keep all the values of the first dataframe For B, if there is any extra row, which is in this case, K4, C4 and D4, I will ignore it I get this output, K4, C4, and D4

Can't ignore there is no fourth row because it was doing a left joint It was giving preference to the A dataframe When it is a right join, it will give a preference to the B dataframe When it is an outer join it is not that it is giving preference to either It is basically going to join both of them respective of different values

So let's suppose it has a K6 okay, this was an A6 and this was a B6 Now you might think that okay, now both of them are five rows, but the real question is the key matching Basically trying to match on the key Now when it is an outer join, it is ignoring the fact that okay, this key, K6 is not present in the right one K4 is not present in the left

So it is giving you this and this row However, when it comes to merging on right, it is only considering the key, all the keys from the right dataframe, which is B dataframe When you're doing the merge on left, it is considering all the keys from the left dataframe and making sure there's a row for each one of them So if you look at this one right, this is K0, K1, K2, K3, K6 The entire A dataframe will definitely come

If B doesn't have values for a certain key, they will come as nan That's left The first one gets preference Right is the second one get preference Outer is nobody gets preference, both of them are included

I hope this is clear enough to all of you Let's look at the final join, which is the inner join What does an inner join do? Inner join basically is like the simpler thing that you were doing earlier It will just merge on the keys that are common to both So an inner join or a normal join, so the default value, when you do this, in here is the default value

So line 24 and 25 are same essentially 24 25 are the same line Let's look at a particular use case of Pandas Let's suppose you're provided a large dataset of country wise statistics to extract knowledge from Country, landscape, population, GDP, rural population, a lot of other things

Let's look at this dataset here You have country, you have land area, population, GDP, rural Rural is, I think, a kind of score that the person is of rural population, whether it has internet or not or what percentage has internet, what is the birth rate, death rate, elderly population, life expectancy, female labor and unemployment We have it for about 216 countries, which pretty much represents the world as of today Let's explore the dataset

First and foremost I'll import Pandas and then I'll import the dataset I need to give it a path of the CSV 모든 First thing I need to look at is the number of rows and columns, which is the shape of the dataset So it has 215 rows and 12 columns, okay

First is the header itself, so it has 215 countries to line 216 and it has 12 columns, one, two, three, four, five, six, seven, eight, nine, ten and twelve, which is correct Let's check the kind of data types available in this dataset Okay, so the country is an object in terms of the Pandas dataframe and everything else is a float64 datatype, which is also correct, because all of these are numbers Let's look at the first five rows One thing that it does that whenever the number of columns are huge, or like they're of a sort of more than let's suppose these six values, are seven over here, seven columns it can accommodate

Otherwise, it will go the next line But you can basically see that it is referencing it as row zero So this is just a representation It's not that it is broken down or anything, it is just displaying it by sort of breaking it to the next row It doesn't have the space, even though if you look at my computer it has the space

But then, there's just like a limit in terms of to what line it will print to It will just break it up and these columns are, so this is essentially five rows So don't think of these as 10 rows, this is zero Afghanistan's land area, population, GDP, rural, internet birth rate and then Afghanistan's death rate, elderly population, life expectancy, female labor and unemployment value So you can check the first (mumbling) Let's pick a random number 16, run it and there we have it

Okay, let us look at a statistical summary You might remember that we did this earlier Very intuitive function if you look at, I'm just calling datasetdescribe This is like one of those things that I definitely like and really admire about Pandas or even Python in general

It's very descriptive You can just sort of read it and understand it there and then So datasetdescribe Now, for land area, count, mean, standard, minimum, 25%, 50%, 75% max values

So we can immediately see that okay, the GDP mean is 14333 Rural or internet all over the world it's 43% Female labor all over the world is at an average 58% Life expectancy has an average of 70 years Elderly population is that of 7

9% all over the world Death rate is 8% Birth rate is 21% and unemployment overall the mean is 9% The count tells us that hey, these are the number of countries you have caught the value for Then you have the standard deviation, you have the minimum values

The minimum value for both is 10%, death rate is 3%, elderly population is 5%, life expectancy is nine, nine years old, that's pretty low Female labor is 17% So you know, it tells you something about your dataset So maybe you know, after you look at this and you're like, nine, which are these countries which are sort of driving this value down to nine in terms of life expectancy The minimum value, I'm sorry 45, yeah, 45

Sorry, my bad, it was not nine Instead of the standard deviation, that's the deviation 평균에서 That's minus 61 plus 61 from 70 Doing this generally gives you clues as to where you might want to look to a data scientist, oh this is interesting Which countries have the best internet? So which country has 96% internet, I'd like to know that

Right, 96% of land mass is covered in internet Is this provided internet, that's great, right So that's where usually a lot of data science starts from You look at your data, you make some sense out of it, and then you decide okay, I'm going to use this algorithm or this analysis, or this analysis process to kind of distill more insights and opportunities out of it Let's look at extracting insights from data

Can we write a program to find the list of all countries within a size greater than 2,000 or thousand square kilometer? Let's first select only the specified columns on the dataset So to do this, what you would do is that you would select a make a variable selected data I hope you guys remember loc We are going to go columnwise We will reference the column

The first is that you want all the rows and but only the columns country and land area Next we're going to write a simple for loop to iterate over this For I in selected_dataitertuple 아주 간단하고 맞습니까? We just wanted to find countries with a size bigger than 2,000 square kilometer

We just write the simple for loop and here we go See, so easy, the name of a country is greater than India, China, Canada, Brazil, Australia, Algeria These are land masses You can also do with greater than thousand

The number will definitely be higher We can do less than 500, let's see if there are any countries of that size Pretty small, so a lot of countries actually, a lot of countries of that size There's two less than hundred I'm pretty sure we might find some

Okay, a lot of countries less than that size Let's see if there's a correlation between the GDP per capita of countries and their birth rates, which is to say that hey, if the GDP of a country is high or low, how does it relate to the birth rate in that country? What we're going to do is that we're going to go ahead and plot it in matplotlib and going to find a, we're going to plot our findings on matplotlib so that we can visualize the data So if you look at this particular problem statement, the reason why you would think about using matplotlib is that it might not be easy to see a correlation through numbers, through just numbers, as compared to it being represented on a graph So we're going to call pltfigure and we're going to create a figure instance in memory

Gonna set the size, that's 50 comma 50 Next, we're going to read the dataset We have already done that Now, we're going to use this one and we're going to just like GDP birthrate Okay, so we're going to plot a scatter plot

What we did here was that we created a NumPy array using the column, just to see these data Then we want to create a scatter plot Of course you want to call x limit so that we can just see between zero to 2,000 portion of it Let's go ahead and do that, go ahead and run it and we have the rocket back with us Yeah, so I mean, it gives you a certain level of insights

These values are, of course, provide coincidentally, here a little bit didn't map this particular axis, but you guys should mark the axis Now 2,000, that would typically be a value of the GDP Birthrate is going to be (mumbles) So birthrate, not such a strong corelation In fact, countries with a higher GDP, if you look at the countries with the high GDP, a lot of them have values less than 25

But if you look at the density over here, countries with lower GDP, they tend to have, so look at these values, for example GDP is the lowest, but it's one of the highest birthrates You look at this one, this is the top right, nearly 50% birthrate, huge, massive birthrate for a country to have and look at the GDP, it's tiny So the corelation sort of exists, but not in the favor of the countries with the high GDP countries The lower GDP probably indicates inefficiencies, indicate developing economy, you know kind of struggling with population crisis, population boom

Definitely India and China and third world countries, those would contain So yeah, kind of gives you an insight into what is happening Really cool and you can do much more You can do similar analysis on so many other things in this dataset and draw insights from it Please go ahead and look at the columns, keep changing them one by one one by one, keep just running particular thing and I'm sure you will get a lot of insights out of the data

So this graph's a little different It maybe just that the data that I'm using and the one that is used for this one are different Doesn't matter though, you can just use the data that you find on the course material or you can use your own Let's compare the GDPs of the 10 richest countries 세상의 This time we will only select the country and the GDP

We already have the plot Let's sort the data So it's sorted the data by GDP I'm just going to remove this and we're going to print sorted_datailoc and we're going to print the first 10 ones

We are also going to plot a pie graph We have the graph, this looks prettier Let's select the sorted data from different countries The top 10 GDP countries in the world (pleasant instrumental music) Let's look at developing web maps using Folium and Pandas modules

What do we mean by developing web map? Let's look at the problem statement Let's suppose there is a person called John and he works for a disaster management organization He's a researcher, current searching on volcanoes in USA and population in different countries So he wants to basically map the population and the volcanoes in a given region What is the benefit? He would be able to know how many people can be shifted to other countries or would need to be shifted to other countries if there's a volcano eruption happening in a given region

So he wants to look at the fact that hey, there's a volcano which goes off in a certain region and there's a large population or there's a small population Where all could it immediately go to in case there are there's a national disaster of that sort? For this he wants to design a map which will give him an idea about volcanoes and the population of different countries in a single map The single map bit is very important here and we will look into it in terms of how to get that Let's look at the logic to implement this The first thing that we need to do is we need to use Folium

Folium is a Python library that can help us in dealing with and generating maps This is not Google maps that we are talking about or Apple maps We're talking about generating our own map using the library called Folium Next is that we would want to create markers to show specific locations in a map Markers meaning these icons, these pins

Next we are going to import the Pandas library for data manipulation We have already used this in the previous classes Through it you're going to read a data file containing the list of volcanoes and then use Folium to mark volcanic location on the map Finally, we are going to import something called worldjson and this file is going to allow us to mark the country of a population and together using the first part and the second part, where we have created the markers over here and using this, we are going to generate something that's going to look like this, which is showing the population of the entire world

Let's look at the steps to design a web map First and foremost you need to install Folium The command is very simple, pip install folium In case you have any issues or doubts with this, please reach out to support Step one, so Folium makes it easy for you to visualize data that is being manipulated in Python on a very interactive leaflet map

Leaflet map being just a small map, not a navigable map like Google maps It's a leaflet map like a big static sort of map that the physical maps that we're used to, just the digital representation of it Just the digital representation being Google maps is very interactive There's a lot more features, a lot more interaction, a lot more detail But Folium is not going to have that level of detail

So for example, Google map shows you locations nearby, interest areas, hospitals or train stations or metro stations but Folium doesn't do that It's just a leaflet map In the sense that the level of detailing is not as much It's not meant for navigation The next is that Folium results are interactive

So there is some level of interactivity, but not as interactive as Google map But definitely, there are certain features that you will see soon enough which make it interactive Leaflet is the leading open source java script library for making mobile friendly interactive map Now, don't be confused by this, it's just that not that we are going to learn java script It's just that Folium makes use of the leaflet java script library, which can create these maps

Once we look at this, you will realize that it will in turn maybe using some (mumbles) as java script to generate these maps For that, the Python library Folium basically relies on leaflet, which is a java script Let's look at the commands used So over here, first and foremost, you import Folium Then you have Folium

mapclass These are the values that the constructor takes It takes a location of arrays This is the latitude, longitude pair Next, it takes the zoom level when you're starting the map

So when you're launching the map you need to define the zoom level The values can be anywhere between one to 200 or 300 I will show you the different results for the different value Then the title of the map So this is the title of the map that we will be generating

Now, for the sake of demonstration, let us try this out So I've given it a random latitude longitude I've given it a zoom level Let's take this for a run So now we have Folium

html present for this Let's open it in the browser We are not seeing anything here but if you see that I keep zooming out, we do see something It's just that the zoom levels were set very high So let's set it to 200 and see if we get a better result

The process is finished, the file would have been refreshed Now if you look for the first temp still too deep So let's just set it to a very low value now and see if that works 예, 작동합니다 Zoom level 10 works

Let's try a deeper zoom level and run this and reloading 아무것도 So it seems that the value that this can take are limited by those numbers, but zoom start essentially gives you the level of depth Let's try even a lower number and see what it shows us Okay, now a wider map

Let's try 12 and see if 10 is the upper limit or not 10 is the upper limit, even with an 11 I think we should get a problem Okay, 11 apparently works, but 12 just does not So now it's one to 11 sort of values So the minute I go above 11, it just goes blank

There is no read here This is again, one of the things Like it's not like Google maps It doesn't have that level of detailing, but yeah, you can zoom out and you can view the rest of the map Now what about the latitude longitude? That's where you want to place the center of the map at

So it starts where the center of the map is that coordinate over here, that is what the center of the map So if were to change this to, let's suppose, 11 Let's see what would be the new center of the map Let's reload it The center is this much

Let's change it to five This is going to be a drastic shift Okay, now if you see, it's in the ocean So we moved downward, square of it Let's set it to 40 and see what we get

Okay, we are somewhere, we have almost reached Kurdistan We are quite high up We have crossed India and we are now in the Chinese region of sort So this is how you can create a simple map using Folium Now, notice that this doesn't have any markers or anything of that sort on it yet

Now, the next thing is that you can create something called a feature group Now this is another class present through Folium to you What happens is that you create different feature groups for different kinds of things So feature group that you want to create right now is volcanoes What it will do is that it will give you an instance where you can add items to this group of items

So we will be creating objects We have created a feature group object and we can add a list or a bunch of items to it, not just one of them So let's first create this feature group Now what we can do is that we can take a set of coordinates, like this, and call this command call fgadd_child

So I'm not going to do this exactly, but I'm going to show you something similar So I'm going to do fgadd_child and I'm going to add a pop up and I'm going to place it slightly different from where the center of the map is but within range For this, let's set it up as nine Next, what you need to do is that you need to add the child to the map as well

This is the map, this is the feature group Feature group has children and then the map also has children Don't be confused by this, it works like this There's map, it is a feature group and feature group has children So map is the father of feature group, so map

add_child will take the feature group object Let's run this Let's reload the map Let's see where the marker is, here is a marker Now if I click on it, it says hello

Why is the text hello being displayed over here? Because that is what you have asked in the pop up variable So I can say my home and I can set that color as blue If we load the page, we are zoomed in, let's zoom out And here, now it's in blue color and it says what I've told it to This way, yes you can make the map interactive

This is a sort interactive map here So yes, of course, you can add multiple coordinates as well, like it is being done over here So if I was to create a generalized version of it, this is how I would do it Now you should see two markers, right What we did was that we just created an array of coordinates and we iterated over it

So it kept adding multiple children to the feature group Coming to step two, Pandas is something that you're already familiar with, now what we have is that we have the volcanoes USA dataset This will be provided to you in your resources section Now, we have the volcanoes dataset How can we make use of this? We just import Pandas, we need the volcanoes dataset and then we can print certain things from it

So let's just first run this It shows us what's in the file There's a volcano, there's a number, there's a name and there's a location and there is a latitude and there is a longitude The status, elevation type, time frame So there are different data points about the volcano and we can see that for every volcano you have the longitude and the latitude as well

So let's print this instead Just the latitude and the longitude So if you notice over here, what you have done is that in the dataframe you have just accessed the column lon and lat we got to know from looking at the dataset Let's run this again Now the first array is the first series that you see over here on the top

This is the longitude and second series that you see over here is the latitude There's also something called an elevation of a volcano, it's also an important data point, especially when doing considering disaster management, that's the objective of this exercise Because that impacts the overall scale of the disaster as well This is how high the volcano is It can have such a deterministic factors in terms of what would be the strategy that we use by John, anybody who's planning for this

So let's come to using Folium Now the first thing that you will do over here is that we have just repeated the code here We have got the list of, you got the separate individual arrays with longitude, latitude and elevation Next, we are going to define a method called color producer Now what the color producer is going to do is that it is going to return a string which contains color vision the elevations

So we are seeing that for every volcano which is less than a thousand elevation, it will return the color green For thousand to 3,000 it's going to be orange For everything else, which is basically volcanoes above 3,000 meters, we are going to return a color red The reason for this is that we will be marking different volcanoes differently in these colors so that we know which volcano is what is the elevation 방금 만들었습니다 Next, we are going to start the map and we will pass in these coordinates

Now, why these coordinates? It's just that the dataset was of that sort So the dataset that we have given you here is USA volcanoes and this basically latitude longitude pair is set accordingly We give it a zoom level, we set a title and we get a feature group of volcanoes like we did Next, we're going to use a zip function, lat, lon, elevation to create an iteratable that we can go over one by one So this is lat, lon and the elevation, which will merge lat lon elevation and allow you to access them like this in a sequence

Next, nothing much, again, location So we pass it a latitude and longitudinal value over that value Then for the pop up we want to show the elevation So this is in meters, so the actual elevation we're going to convert it into string, add meters to it, and then for icon, Foliumicon, we are going to pass it the color producer

The result of the color producer over here So let me just show you what will happen over here This it the elevation, right This is what is going to come up in the pop up So let's take this for a spin, ran the other one

So you see, how for different elevations we got different results over here and these elevations, this is converted into a string here, meter was added, and then we called color producer on the element red, orange, so and and so forth What we would have produced is map two Let's open this one So we have all of these mapped All of these pointers are volcanoes latitudes and longitudes

If we click inside it we get the elevation As I said, this is a USA based data That's why we set the latitude longitude to that pair As per this, we have green, orange and red That method is being called here

So Foliumicon basically is another class present from Folium which tells you what should the icon be like It can take various parameters Let's look at what all it can take So you can pass it the color, the icon color, the icon type, like it can take different icon types as well

Right now it is taking this pointer, but you can pass it different icons as well The angle that you want it to be at This is for you to explore Really depends on how What is the requirement for representation? How are you supposed to represent it? You can just you know, tackle it accordingly

Now we have got this So as I was saying that this accepts strings only So we are converting it into that value Next is that now what you want to do is that you want to take worldjason and we now need to map a population feature

So for that what we do is that we create a new variable, fgp, which is a feature group named as population Then we call add child on fgp Now this is a different style So here what you did was the we created a loop, but what another thing that you can do is that for adding a child, you can pass multiple values as well So we could have created multiple values out of this as well or pass a current kind of object

Over here, in add child, you're passing FoliumgeoJson This function is used to show geographical data and maps from Jsons So the data that we're going to pass it is going to come through ioopen

You need to import io if you're in Python 2x So you do an ioopen, which opens this file, which is worldjson

This is worldjson It's a very heavy file It's just a Json file containing the world data of population I open it in a write mode, but then in coding UTF8 sig and I read the data

The data is read into the test variable call as data So we are basically geo Json, what it does is that it will mark the population of different countries and then we are passing it as style function, which is written using lambda, where we're going to give different kind of colors based on the geography So green if this is less than this number Orange if it is, and if it is less than this, then red Like it is at the high one then you're give it a red color

Now let's add this to the map as well and run this Let's see what we got as a result So if you see, different countries are marked with different colors and we we have the volcanoes as well So in a single map, what you have been able to do is we have been able to map different countries and we have been able to map the location of the volcano (pleasant instrumental music) Next we have a very interesting case study called the Titanic data analysis

As some of you might know that there was a ship called Titanic, which sailed from Southampton in US to UK and it basically crashed and sank on its way there It hit an iceberg and it sunk to the bottom of the ocean It was a big disaster at the time because it was the first voyage of the ship and it was supposed to be really, really strongly built and one of the best ships of that time So it was a huge disaster and of course, there's a movie about it as well Many of you might have watched it

Now what we have is data of the passengers, those who survived and those who did not, this particular incident, this tragedy It has been compiled over the years and published Now what you're going to go is you want to look at this data and analyze which factors would have contributed most to the chances of a person's survival on the ship or not So whether the person survived or died, does it have to do with anything common that they shared? Did the females or did the children survive better than the males? Did the rich passengers survive more than the poor passengers? Or if the fare amount, the amount of money you paid to get on the Titanic played any role? Maybe people who paid more money got evacuated first and there weren't anything left What about the workers? The workers survive, what are the chances of your survival if you were a worker on the ship, not just a passenger

So all of these are very, very interesting questions and you will basically go into them one by one now Now, here is what our data is going to look like or it looks like You have passenger to the passenger ID It's nothing but just a serial or increment ID There is no inherent meaning to this data, it's just row numbers in a class

Next is survived, whether the person survived or died Zero is for did not survive and one is for survived Next is the name of the passenger, then the gender, age, then we have something called sibsp Number of siblings or spouses aboard the Titanic So for this person, if they have any brothers or sisters traveling with them, what is the number

Or their better halves, that they had their spouses traveling with them Next we have parch, which is the number of parents or children aboard the Titanic So if I'm a person, are my parents aboard or are my children aboard the ship? That counts Next is the ticket number Inherently again, sort of meaningless as the passenger ID

Then there's the fare, amount of money the person paid Then there's a cabin number, which is basically just the particular cabin that they were on in the ship and finally, we have embarked, Cherbourg, Queenstown or Southamptom Embarkation being where did they get on the ship So first and foremost, let's load the dataset and see what we get from it I have this here

First foremost, we import the libraries, import Pandas, NumPy, matplotlib, math We have the Titanic dataset present over here in the same folder We are going to just do a pdread CSV Then, we want to print the number of passengers in original data, which is nothing but the length of the index

Try to recall, just try to jog your memory about how you got the length of a dataframe So you can just, if you have the number of indexes in a dataframe, which are the number of rows, then you have this particular data So this is dfindex is an array You take a length and you convert it into strings so that it can get appended

Let's run this This is basically going to tell us how many passengers do we have information for We have 891 passengers, as we can look at That's a decent size We can draw insights from a data this size

Next is let's look at the head list, look at the type of data we have So as we said, passenger ID survived, Pclass, sex, age, sibsp, parch, ticket, fare, cabin and embarked So this is just a very cursory analysis Let's dive a little deeper A lot of times what happens is that when you get data set from outside world and because it's an imperfect world, a lot of times you will find that the data has certain missing values

So think about it in this way that whoever collected this data of Titanic passengers, they could be missing information about so many of them The person couldn't be found, or some sketchy details came in or something else, something was told, something was not told, something was never known There are lots of scenarios like that So let's just print the sum Let's just have a look at how many of our values are missing

We call isnull and then we can call sum method on it Let's see the output for this Age is missing for a lot of them Cabin number is missing for a lot of them Well, age could have been a very, very important criteria, but apparently we don't have that for a lot of people

So let's see how we'll get by without it But cabin number is not as important, so we are good that way What you are going to do, so all this issue is that we are going to remove passengers which have ages null So we are going to use the not null method available in the Pandas library and we are going to pass it the column for age from the dataframe, where it is not null Now here we are using the word wrangle

Wrangle is any sort of manipulation or any sort of dealing with the data So in this case, wrangle for us basically means that we have removed certain values and we are just dealing with a modified version of the original data Now the number is 714 We removed all the passengers from our consideration which did not have a age provided to us Next, we are going to look at gender

So number of passengers in age embark wrangle data where age and embark both missing This is the embark wrangle data Now, what you want to do is that we want to group data by gender and then let's first do that So for doing that, we are going to define new variable gender data We're going to take this dataframe, embark wrangle, which doesn't have any missing values for age or embarked

Now notice we did not do this for cabin, even though there were a lot of arrays missing, because inherently it is useless to us Now of course, this is where your judgment call comes in This is where your brain is used to decide okay, this is not useful and we can do without thinking about it For this, we simply call the groupby function, which is going to groupby on the gender or sex and then what you're going to do next is very interesting We're going to take out the mean

The mean of the gender data So let's see what we get for this Now, what we have done first is that we have calculated the total survival rate, where for the survived column is 40 So 40%, only 40% people survived the disaster

That is what we calculated because we took the column survived, which was zeroes and ones and we took the median value There were 41 ones of the hundred were zeroes, then it would be 40 over 140 That's what this mean will be to figure out the survival rate, otherwise it wouldn't be the survival rate It's just that because it's ones and zeroes That's why you have got the mean survival rate here

Next what we are going to do is you're going to get the mean data that we have created by gender So we're going to look at the mean values for all the data points For a survival rate or chance of 40%, what was the average gender, what was the age, what was the pclass, what are the different values for an average case? So for an average case, for a gender of female Notice first and foremost, how this created two rows for text based data because it automatically realized that hey, there is no sense of saying that we took a mean of male and female Where male and female are completely different

They've been marked as such If they were not marked as such, if there was no sex column then of course there would be only one row But because we have identified this as a feature, this has something which is a contributing factor We are saying that gender is going to be a contributing factor to the survival rate We can sort of see that how, because for females passengers, the survival rate is 75%

For male it's only 20% Immediately we know that females were preferred over men Women were preferred over men when it came to survival, which is usually the case in cases of disaster Then we have other insights about the average age of female passenger that got saved and the average age of a male passenger We have the pclass, which is sort of consistent, that it's greater than two, but still, a lot of even female passengers from the lower classes were saved

We also had the sibsp, which indicates that a lot of female passengers were traveling with children, as indicated in parch 71%, a lot of them were returning with the children, as compared to the men It's at 27% So again, women and children If this 27% of the men who were traveling with children that adds to the chances of survival

The way this adds to the chance of survival are if I'm a man and I'm traveling with a child and I don't have a sibling or a spouse and I don't have a parent, then I get the second preference because I'm traveling with a child and the child cannot be left alone So for women, the preference order comes with children, then women, then the next one is men with children because the child needs to survive Whenever the child gets thrown into the lifeboat, the men and women were solely responsible for that person The child also get added, like we can build that as a hypothesis All of these are theories

This is basically hypothesizing as a data scientist or as a engineer, but you validate all of these hypotheses through data So I may be wrong about what I just said Maybe data will tell us a different story, but that's really the nature of the game, where you have to be ready to be wrong about things and you're to constantly still sort, sort and sort until and unless you are proven wrong definitively and then you move on to another theory and another theory But being proven wrong doesn't mean that you should stop there and then It means that you should keep exploring

It at least cuts down one of the options in front of you That's through data We are playing by eliminating choices So few other observation, the women tended to be younger, travel with another person, have a greater number of siblings or spouse, say best be feature and children parents feature again stood out So another interesting thing is that women paid more for the fare, $47

00 as compared to the men Now, because the survival rate is so high, then the pclass socioeconomic status, which is indicated by the pclass is also lower because it has a lot of mixed people then At this high a number, the pclass average would be a higher number of a lower number because a lot of people get mixed Let's do further investigation on gender So now this tells us the number of female passengers and the number of male passengers present

Next what we are going to do is that we are going to set the columns of df because what you are going to do is that you're going to set the columns as sex and total instead of sex and passenger ID So let's do that and print total df again Now it has changed, the data point hasn't It's just that we have changed the column name Earlier it was mean data and by gender, but now you change it to sex and total

Now next you're going to get the gender list in another variable and we will delete that column from total dd Let me print total df here and let me print gender list Why we deleted, I'll come to that in a minute So first is that we printed total df with the sex column deleted This is with the sex column deleted in total DF, this variable

Then we have gender data, which is basically grouped by object I mean it's a class object We can't do anything with it till now Next, we do something called as gender survived dataframe Let's print and see what we get over here as a value

So now what we have is that we have gender list Earlier we had a total number of people, total number 259, 453, now we have the survived, 195 and 93 These are not two different numbers that we have Let's delete the sex column from this So here we have the gender survived df

Next we're going to combine the two together What we're going to do is that we're going to take total df, from which we deleted the gender column and we're going to take gender survived df, where again, we delete the sex column We are going to combine them but why? What will this give us? So it will give you the survive and the total by gender We just did not need it over here, that's the reason for skip deleting it from elsewhere Next we can go ahead and plot this

We can plot, on a graph, how the survival rate varies The first thing is that we call the plot method bar graph that is available to us on the dataframe itself We pass the color lime green and dodge blue to give it a title We give it a label, X label, y label

X-axis y-axis Now we are going to plot the gender across the x-axis and the number of people on the y-axis We are going to set the text Next we are going to set the survival gender list This is the survival gender list in zeroes and ones

Zero is female, one is male The total gender list, again, male and female Now we have also defined a small function to create labels on the plot What you will do is we'll pass it the survival gender list over here, which contains the data for the survived, according to gender We will take this plt object present over here and we are going to plot the x plus x adjust

It's just a minor adjustment to plot it Y plus y adjust and we're going to give it the color and the font weight So how we have done it till now You do this for both survival gender list and total gender list and then next, we are going to plot this This is the effect of gender on survival

If you notice, effective gender on survival, the color, x label is gender So basically whatever you pass to it gets printed over here on the plot So as it appears, on average women were more than three times likely to survive than men and due to the binary nature of the survived field data type, where we are not considering injured or anything else, just saying pure survival We assume that there was nothing bad that happened to them afterwards, which would be considered as caused by the incident or the accident We can confidently say that 75

3% of the women from the data set survived and only 205% of the men survived Now we can also draw further insights from whatever we have done till now Here are a few additional questions that may help provide further explanation for why the women survived three times more likely than the men We can look at what is the effect of age and survival rate

We can look at what is the effect of company, whether somebody's traveling with a person or not We can then also look at the effect of the socioeconomic status, which class, how much fare did they pay on the survival rate of the said person Let's first look at effect of age on the survival So what we're going to do is you're going to take the embark wrangled dataframe and we are going to group by survive and then we're going to take a mean of that Then you're going to print it

So the groupby on survive and then we took a mean If you look at age for female, the average age is 3062 For men the average age is 2819

So here we can see that survivors on average are younger, are presumably from a higher socioeconomic class That is a more luxurious class Ticket 19 versus 25 over here

Pclass, luxurious class ticket and a high ticket fare, $5100 versus $2300 Traveled with less sibling and spouses and traveled with more parents and children For survivors, you can say that they're younger, they are traveling with fewer people, at least when it comes to siblings and spouses

They have paid a higher amount but class is not as great as the other one, but there are certain things that we can ascertain from this data So continuing further on this, to figure the effect of age First thing we're going to do is we're going to split the data into children and adults The way we are going to do this is that for children data we are going to set the criteria, age being less than 18 We are going to create a filter on the existing dataset using this as well

This syntax can be confusing to a lot of people If it is confusing in terms of how this is working, this is where Pandas comes into it I'm filtering on this Pandas dataframe We're using a condition on the dataframe on itself This is a very, very common way of using the Pandas dataframe, if you're already not familiar with this

Next we're going to get the adult data Again, the condition is of it being greater than 18 Let's get a count of the children and a count on the adult We take the children data, passenger ID dot count, and take the adult data, passenger ID dot count So the reason why we are taking the passenger ID is because these are going to be unique

Passenger IDs are not going to be repeated We can expect that Now let's check out the survived children count We take children data on the column survived we do a sum Because survive is one and zero, so is number of times you count one it's just going to add up to be the number of survived children

For survived adult counts it can do something similar Next, we are just going to put this simply into lists We are going to create a children list of survived children count and total children counts So think of this second one as the total children count Similarly for adults, we are going to create a list

Then finally, total So let's stop here and print these three lists Children, adult list, and then the total list So, just to kind of sum it up, what we are trying to do is that we are going to get the different counts for survived versus total children and we are also just accumulating data Where is the intuition of, where am I getting the idea from? It's just because I want to compare by age

That is the initial idea we're running with We're saying that hey, let's split it into children and adult and then let's look at the data So let's run this The data is that 70 children survived out of 139 For adults, 218 survived out of 573

The total number of children are 139 and 573 For the total survival, you can just add two items on the list, survive list Let's create a Pandas dataframe out of this We will call it CVSA dataframe What are the values in this dataframe? The children list and the adult list

First row for children and second row for adult, coming from this data The columns are survived and total Let's see what we are going to get here So you can see, for survived children we get 70 and 139 For adults you get 218 and 573

We kept collecting and kept collecting it and this is where we ended up using it This first element is an array, the second element is also an array, which is making an entire row The index is children here and adult here We are setting the index This is corresponding to this row

This is corresponding to this row because index is row-wise And then the columns are given as survived and total Let's create a simple plot out of this We are going to call plotbar and then you are going to simply, as we have been doing till now, set the title, set the variable, set the xticks and we're going to call create value labels as well

Function as well and finally, after all of that is done, we're going to plot it Let's run this, let's see the graph So we can see for adults, this is what is happening and for children, you can see a ratio of 70 to 139 We have just taken the data and drawn it up Next, we can create another plot where we take the survival rate for children and adult

Now this is children against the total children Now we're going to compare children to adult We create a new list and we call plotbar and we change the table, we change the title and the label Let's run this

This is one plot and we get another plot This gender of the survival We get another one, survival rate between children and adult This is right, children have survived 50% of the time and adults have survived 38% of the time How did this graph come? Through this, where we children data dot mean survived and adult data dot mean

So we took the mean and the mean will be these values, 50 and 38 After that we just plotted it, nothing else This is survival rate between children and adults

So what can we conclude from this? We can conclude that 507% of the children from the data set survived, while 381% of the adults survived, resulting in children being 13 times more likely to survive than the adults, which seems logical, given that is how human beings tend to respond in a tragedy where they save the children first as compared to the adult Let's look at the age distribution of all passengers

Let's see if that gives us any idea For this we're going to draw a simple histogram For this, what we are going to do is you're gonna take the embark wrangled data In case you've forgotten what this is, we used it earlier Let's see what the embark wrangled data is

This is the embark wrangled data where we have removed the null values and we're just going to plot the histogram of age distribution of all passengers because we have taken the age column and we have called plothis bins with a range of zero to 100 Because that is the range we expect from zero to 100 that is the human age The human age is not in decimals with us

It can be represented in decimals, but then you just want to see how many people are of what age Just in case you're not able to recall any of the syntax, how is this drawing a histogram, what all these are doing, I strongly recommend please go back, have a look at the module around matplotlib This is a histogram of age As you can see there are a lot of passengers in this range between what seems like 18 in here the age for at least 38 This is 38 or 35 actually, and this is round about 14

So from 14 till this number, I'm watching the x-axis that is appearing over here we can just see in histogram Let's look at the distribution of survivors in particular This was not just for the ones who survived Let's look at the ones who survived We call the same one for survival

We have the survivor data You can put the age label Let's see what we get This is for the survivors Now, as you saw earlier of course, it is going to favor the young way more, where for children it's going to be quite high

The survivor rate is quite poor after 40 Let's now look at the effect of age on survival First let's look at survive status We are trying to do a describe Let's look at what the description tells us

For survive, we have the mean, standard deviation, minimum, 25%, 50%, 75% values The mean is that pretty much as expected, but these other survived Now what we are going to do is that we're going to take the age data, because we want to check the effect of age on survival rate We are going to group by age and then we're going to take the mean We'll create a list out of it

Next we're going to use a scatter plot to plot the effect of age on survival rate This is how the survival rate varies with the age Some of these numbers you can see the survival rate just goes down to zero For some of these numbers, the survival rate is almost 100%, where we can say that if the person is of this age, out of this age, out of this age This is not saying that this is a certainty, but this is more of what the data is telling us, that this is true

That if you were of this age, for example, if you were of 80 years old and on Titanic, you would definitely survive But this is not pattern, these are just probably in a chances because this is not the norm But otherwise, this is a more realistic version of it Now, please notice that we have used a little more complicated scatter plot here to kind of draw it out Because you can see the kind of effect we got

So what I would recommend is that you look at this yourself What is alpha, what is C, what Cmap, edgecolors, the colorbar, which is appearing on the side, if I can show it to you again So this color bar again, how it is coming up Things that is really required in programming that doesn't get talked about as much as the ability to read documentation and teach yourself Because it's a lifelong process

Everyday will be challenging Everyday there will be something new to learn, something new to do Because of that nature, you need to develop that independence of sort What I would recommend is that you look at this piece of code, go back If you can't figure it out, I would suggest that you reach out to the support because I can tell you right now what all of this means, but then (voice garbles)

What I would instead recommend is that you change certain some of the values So one thing is that what if we set ss10 Can we sort of figure out what changed? Maybe, I don't know, the dots have gotten a little tinier Let's change S to a really low value of one Let's see if we can discern what changed

If you notice, now the dots have almost disappeared They're present S basically determines the size of the dot If you said S to, let's suppose, a hundred, a bigger value than before This is purely experimentation

I encourage you to do it more and more with whatever code you are getting from us Now, this will help you out quite a bit Now let's try it with this one as well What is vmax? Now 34 If you notice, the number of passengers, this color bar range has gone up from 13, it was earlier 13, in case you did not notice through 34

If it set it as 35, even the 35 number will appear in the bar So notice how there is no 35 right now 내가 이걸 실행하게 해 줘 Now there is a 35 Let's do a little more data analysis before we leave this data set

The first five ages only have two or less passengers in their age group The first give ages only have two or less passengers in their age group With such a small sample size, the survival rate may not be representative as those with larger sample sizes So in this sense, what we are saying that let's suppose there is an age of 12 years old, but it has only two or less passengers Either one or two passengers which are 12 years old

Now, if you were looking at the survival rate of 12 or one, versus 22 where you had 100 passengers or you had 50 passengers, you don't have enough sample size The denominator in that equation of the total number of people of age 12 and the total number of people of age 50, it is not large enough for you to sort of be certain that yes, this is the pattern Because one of out two or two out two is not a big thing to happen But 50 out of 50 establishes a trend If 50 out of 50 people of age 22 survived or did not survive, it tells you very clearly that hey, there is something happening with that age group

Somebody's by the ones, you know who were 22, they were considered to be too young or too old or something else or they were helping out in a certain way that none of them survived Let's do one thing where to get more insights into our data, let's remove passengers with ages in which there are five or less passengers in the group For doing this, what you will do is that we'll get the total count age This is nothing but the total count of passengers in itself Then we are going to get count age gd5

Gd5 stands for greater than five So where we are going to do, we're going to take the count age, the count age of particular column, your sorry, dataframe, and we are going to count for where it is greater than five Next, we are going to create a list out of it and we are going to keep only data where, so we're going to call the embark wrangled dataframe I'm going to use that and we're going to filter that on this list This list is going to contain certain ages

Let's see what ages it contains These are the ages it contains Now we are simply telling Python or telling others that hey, just keep the passengers which have ages as one, two, three, four, nine, so on and so forth Remove all the other ones Let's see what we get

Now the number of passengers has gone down because we have removed certain age categories where we did not have enough representatives This is only useful when you are looking at things from a age perspective If you're looking at it from a gender perspective, probably you would have removed people of a gender if it was not representative If there were only two females on board, there is no point of looking at it from hey, okay, you know, this is the survival rate in females and males Because there were sizeable people in those sample sizes and this is something you need to be very careful about

Sometimes you might get datasets where there is a classification or there's a labeling for a certain age group but you can get thrown off So let's suppose in the previous scatter plot, if you saw with certainty that okay, anybody of age 80 would have survived, how do we know that this isn't one person? Because this is the survival rate, this is not a survival count, how do you know this is not one person? One out of one doesn't confirm anything What we are saying is that no, these are essentially would be able to consider the ones where there is enough sample size We take the data that we have and we plot a histogram of the ages These are for ages which have enough sample data

That is more than five people You immediately see that there are a lot of gaps These gaps weren't present earlier, but now these gaps are present because we have removed these These groups did not have enough number of passengers Anything less than five number of passengers is removed

All of these are greater than five You can even discount for these ones You might want to consider everything above from 10 Depends really on the max number of passengers in a certain age Now let's look at effect of age on survival rate given that you've cleaned the data, given that you've removed passengers

Total of less than 31 So we are going to draw a scatter plot again Going to group data by age Going to get the mean Going to get the number of passengers in the age greater than five

We're going to do a count and then we're going to do a scatter plot This is the outcome See, immediately that top row gets disappeared The top row is no longer available If you notice now, those, that top line, that survival rate of one is completely disappeared

There is no age group now which has a survival rate that one of all of the passengers are that Because it seems that we had a flawed input So if you went by what we saw here, effect of age on survival rate was effect of age on survival rate cleaned it up These are two different ones and this is a more valid one if you ask any data scientist because sample size wasn't filtered out properly earlier So here are some other plots that you can look at

Effect of socioeconomic status on survival rate Then we can also look at the ticket class and fare It can be indicators of socioeconomic datas You can focus on investigating ticket class as that it's specifically stated as a proxy for SES by the data dictionary We can focus on the ticket class is what we are trying to say

That both can be indicators, but you can look at ticket class because even if fare might have been lower, but then those days they were very strict on who traveled in what class You had to be a certain gentry type to be able to travel in first class Now, that way we can not just say economic status but the socioeconomic status of ticket indicate, where we can say that more prominent, socially prominent people were given the preference For fare rate and ticket class can be expected more That is, a first ticket is likely to cost more than a third class ticket

You can also consider that for a third class ticket, most of then would have been bought Nobody would have given them away Whereas in a first class ticket scenario, the first class passenger scenario people would have bought for other passengers, people would have given them for free, they might have gotten at a discount because hey, there's a prestigious politician and he's traveling on the first voyage of the Titanic You know, he might have just paid nothing but like 10 pounds or 10 dollars for it to get on that boat This is something that we leave for you

We suggest you go ahead and do it and you should sort of see this sort of a plot for survival class of one, two and three and then the number of passengers in each Then you should do non-survivor class ticket distribution like this is survival and you see naturally, they are higher at first, but the disparities aren't much if you take it turn of survival But when you look at the non-survivors, number three, these are the ones who suffered the most Overall, the effect of class on survivor rate, survival rates are better if you're a first class 65%, the second class 47% and the third class would be 3% There's a reason why we haven't shared the code for this because it is suggested that you go back and do it by yourself

There is enough sample code for you to kind of work on any of these graphs we are producing any given graph (pleasant instrumental music) Let's talk about the first application, web scraping Here's a problem statement, Bob is an intern and he wants to have all the hyperlinks from a webpage All the links that are present on a webpage, he wants to collect all of those Let's suppose it's an information website and he needs that information for because his manager has asked him for that or his superior has asked for all the links or all the information about travel website, let's suppose that

Now one way of course, that he can go to the website, copy the link, open them one by one Just dull, like copy pasting back and forth Yes, you can do that for a hundred websites, let's suppose, but you can do it a hundred times But then there are couple of problems with that First, it will be slow

It will be prone to error It's just like apart from other things, it's just a very boring thing to do, right, copy paste and copy pasting all the time So here is where Bob thinks that he should be sort of smart and do efficient work rather than clerical work That's why he wants to write a program that will save all the hyperlinks from a specified webpage and he wants to write in Python Web scraping comes to the rescue

Web scraping is a commonly known technique where you can extract large amount of data from website You can save it to local file in your computer or to a database Now, what kind of data? This could be text data, this could be image data, this could be just collection of links, as Bob says But usually it is a bunch of things So here is the fun fact, Google or any of the search engines that you use today, it works on web scraping

So part of it is that the results are not generated immediately In the sense that Google indexes or crawls and scrapes data from the entire web, website by website, following link after the other It's like think about it like this, it goes to Wikipediaorg it copies the text over there and gives it as Wikipediaorg's text

Then it finds all the 10, 20, 100, 200 links over there, follows each one of those and keeps doing this repeatedly over and over and over again Just by doing that, it has managed to scrape or crawl So think of it like a spider as shown here, going from link to link It's actually called as crawling, crawling and indexing So there a couple of libraries available in Python for this and these libraries are very advanced

Advanced in terms of they're really ready to use You don't have to do a lot of things to kind of get going with using these libraries The first one of these is called Beautiful Soup It's a Python library for pulling data out of html and xml files Now what happens is that if you go to any websites or let's suppose we go to Edureka

co If I do a right click and I can do something called view page source this will give me all the html and css present on Edureka This is html css that makes this page this So let's suppose is we search for something like Python certification training, we can find it in this text Of course there is a lot of other html css, a lot of things present over here, but you can sort of map it to whatever you see over here

The images, the amounts and everything and everything The amount is present over here, right, all of these things Now, what happens in scraping is that you programmatically download this entire page You get all of this data So one thing that I could, you know, right now select all of it, control C and then go to pycharm and paste it over here

So just take, it will take a second, there's a lot of text See, so it's all text at the end of the day, right A website is nothing but text One thing is that I could have done that The other is that I download using Python and then I search for data using Python

So right now if I searched for data and I really read line by line line by line, and that will take a lot of time I mean, it's better to just copy straight from here then So what happens scraping is that where Beautiful Soup comes in handy is that you give it the html text document, which is nothing but very similar to a text file like Python file, and you ask it to search for certain things in it How you ask for it to search for those things we are going to learn that One other thing which is going to help us is Requests library in Python

It is used to making http requests So the downloading part of the webpage, Requests library is going to help us out with that So let's look at the request library What we can do is that we can take a webpage This is a sample webpage, it's from the Thomas Cook website

Let's just open it It shows holiday packages in a place called Escaraline, India and it seems to be loading So we're going to take this url over here and requestget So the get method is available on this

Get method simply downloads the entire html file, the response of this http request, which is a webpage It gives you a variable in return that we are storing in r and rcontent is where you can see the contents of this webpage So let's run this file and see what we get Okay, seems to be some issue

Instead, let's try and see if we can make it work on Edureka Okay, so we got Edureka's website and there is some data or something available over here for sure This is what I just did, right Now we have it in a variable Let's move further

Next, what we need to do is that we need to import Beautiful Soup library Now and please note, that you don't import from Beautiful Soup, you import from the caller BS4 That's just like the conventional for Beautiful Soup version four Now, what you do is that you call something, you create it on call soup, you pass it the content, and you specify that you want to use the htmlparser, where you want to use it as an html

This is a function called as prettify This will print a pretty version of this webpage 그래서 이것을 시도해 봅시다 Okay, so we now have a some pretty version of the webpage What this does for us is that it helps us in sort of analyzing particular thing, how the webpage is structured

So we can do that in the browser as well, but maybe in Python as well sometimes, you know, you might get a response and you want to just have a look at it in the console We can see the structure in a very clean cut way We have already done this where I've shown you how to view the html code of a webpage Now, let's suppose you wanted to get all the links Very simply what you'll say is for web link and soup

findall function So we are going to use the find all function and we're going to find all the tags which are in the a tag Next, we are just going to print web link 우리가 얻는 것을 보아라 As you can see, we have gotten all the a links over here All the a links

What we need to do next is that we need to use the get method on this We just want to get the href attribute We don't want to get anything else We have all the links over here that are present in the href Now let's create an empty array to store all of these links

So what we'll do is that we will just call link start append and we start collecting all of these and then we can just print So it's just we're going to collect all of the neatly in an array and use it for the processing So we got all the links in the array This is how you can basically scrap the webpage Now of course you can get more information from the webpage as well

Let's suppose you wanted to get all the prices for a course So what you do is that you sort of analyze the webpage You see what kind of data present So if you look at this one, right, iconinr So anything which has a class of iconinr seems to, you know it always carries the amount

So let's confirm this Let's search for iconinr in a webpage again and again So wherever there is an inconinr there is some sort of a price being shown This could be a way to find the prices for the various courses and store them So if you have ever seen any of those price comparison websites, this is how they work

What we need to do is that, let's have a look over here Or rather we need to select the after discount class because these are not the discounted prices We want to get the non-discounted price, like a posted price Let's try to see if find all will help us out there We want to find after discount and because this is a css class, so let's see how we can select by class using Beautiful Soup

It suggests that you use find all and you pass it the element type and the class type What we did not pass is the element type So first is span and then you need to give it class parameter like this, class_ You're going to see that it's going to be class after discount Let's see if we get any result out of this

Okay, so we got something Now how to get the text out of this and how to get the course name (pleasant instrumental music) Let's go to application number two, data visualization on the browser Till now we have used matplotlib to visualize data in the Python window Let's look at how we visualize data in the browser

So Nate is a data analyst who wants to analyze data and create a visualization on the browser for presentation purposes Bokeh is a Python interactive visualization library that basically produces presentations and visualizations for the web browser It is used widely as it allows for building complex statistical plots quickly using some very, very simple commands So let's see what it is all about First, you need to install Bokeh, the other command is pip install bokeh

Now, let's plot a very simple plot using Bokeh I have something ready for you here From Bokehplotting import output file show and figure Now these are methods available from Bokeh

You create a dataset like this and basically you create something called is a step using figure, where you set the width and the height of the plot Then you create a circle using the dataset x and y and then a size This would be the size of the circle You set out what file is color chart and then you finally call them show method Let's use this

Okay, so this is scatter charts Show method basically opens it up in the browser, the default browser in your system Let's try to change certain things So we had the dataset X, which is still one, two, three, four, five, and we have the dataset five, which is still one to 25 We have passed the dataset X and Y circle, now let's suppose the size of this was 50

Let' see how it will change the output You can see the size of the ball This is the size of the circle So this is basically telling it hey, draw a circle at this X and this Y of size this So as many points are present to X and Y it will plot all of them

This is the plot width and the height Now that we're crossing the height, let's set it to be higher We can make it something like this Now you see it's a big giant plot All of this is being made in the browser using Python

Let's suppose we wanted to build a scatter plot instead Now for this what you are going to do is that you are going to download a dataset from this particular source, it's an xlsx It's just some sample data You can go back and have a look at it We're going to just read it through Excel

You need to install this library called XLRD before you can do this It's something that you should install in case this is not running, it will probably throw an error that XLRD was not found It's just pip install XLRD in case you run into an issue Next thing is that we take this dataset and we take the temperature column and we divide it by 10, just to sort of normalize it Next again, we create a plot figure

We give it a text, color, area, all of these things These are just markers, okay 꽤 자명하다 Text color, text font Because it's the browser, it allows you for a lot of flexibility that way

Then you create the circle You set the size of the circle So let's run this This is the result that you will get and while it may seem like you can't make too much sense out of it, just notice that all of these are very individual points and these are being marked to the size of point one Now I could regenerate the graph but I think it would 많은 시간을 할애해라

But notice that it's a lot of points It's not just like you know, 10, 100 points These are probably 20, 30,000 points at least in the very least being plotted, all across this graph At least keep that in mind (pleasant instrumental music) let's move on to the next topic

So for the third application that you're going to learn today, we need to first start understanding how a computer reads an image You and I see this image, right here okay But we perceive it in a certain way, we look at it like building and sky and that's how a human being would react But this is skyline for a certain city There are lights, there are windows, it's evening time

All of those things But here is sort of how a computer sees it The computer sees each and every pixel, each and every point in the image as a combination of RGB values The RGB values contribute to what that pixel's color is like So each individual pixel is basically nothing but a number for the computer

It's a set of numbers, all the images a set of numbers, it's a two dimensional matrix that you have been given by the computer Now the size of the image would be B cross A, which is the height and the width of the image So whenever you hear the word resolution, like one, zero, to four, cross 768 So it's one zero to four pixel columns and 768 rows In two three, why in two three? Because R, G, and B

That is how the size of the image comes out because all these three data points are present for every pixel The R, G, and B value because that's how a computer shows an image So if you have ever noticed how image looks different on different monitors So the same image can look different on different devices and screens It's because pixel in itself, how does the screen or the device that you're looking at the image on, how does it treat the R, G and B values? What is it able to do with those three numbers? These are numbers, simple numbers, like 255, 237, and 108, right, for R and for G and for B

These are numbers How does it really manifest them? How does it paint that color? That is where all the sharp and contrast and quality and all of those things come in Because even for the same resolution, what a laptop might show might be very different from a full size desktop, right, with a big screen or a better screen So this is how the computer basically look at an image But coming to OpenCV it's a library

But it's not just a Python library Now you will find OpenCV is something that occurs in C and C++ and then all the popular programming languages, Python and Matlab and Java and Dsharp and Dotnet They wrote libraries on top of it, which are using the original CC++ code 왜? Because the OpenDV library is super super powerful It has a huge community behind it

There's a lot of things that are developed under OpenCV, a lot of image processing that you see, a lot of things you see on your cameras these days which recognize face detection and everything, that is essentially, a lot of that is built on top of OpenCV So it's open computer vision essentially It's not just Python, other Java, also for example, has a wrapper or a library built on top of OpenCV So let's look at a few basic operations using OpenCV First one is to read an image

The first thing you need to do is first of all, you will need to install OpenCV on your machine The command is pip install opencv-Python So let me just show it to you over here Rather, let me open a terminal So if you had to openCV-Python

Now I'm not going to show it to you here because I've already had it installed Just one word of caution, this is a heavy library, so please make sure that you are in a stable and good internet connection, otherwise it might fail while you're trying to install it It's one of the heavier libraries Just make sure that you're on a stable internet connection before you try to install it Okay, going back to this

Now, what you do is that you import cv2 So inside Python is called, not called OpenCV, it's called CV2 and simply, if you want to read an image, you pass the name of the image, imread, followed by the the format that you want to read it in You can read it either as gray scale, which is basically reading it in black and white, ignoring the colors, or you can read it in a color format So let's read the image Right, so one is for colored and zero is for gray scale

Gray scale is something that you will hear often Gray scale is nothing but converting an image into black and white that we often see Now that you've read the image, let's print the image as seen by the computer Let me anchor all of these Okay, let's run this file

Okay, so nothing but the sequence of numbers As we said, RGB, R, G, and B Let's look at the axis It has three dimensions Let's look at the head

So we basically get a NumPy array and dimensional array In this case it's a two dimensional array because height and width then each of the arrays has a particular value So let's see what do we have in zero What is at the zero value? Let's look at the first one, zero comma zero

It's a two dimensional array, right Okay, these are the values right here This is one pixel being described Similarly we can have multiple pixel values Different values of R, G, and B

Now we have something called imageshape, which tells us of the dimension of the image This is available through NumPy, not OpenCV We have just read the image into a NumPy array over here and imageshape is something that is available to us in NumPy

Now we know that it's 10681024 and three Three being number of points that each particular position has Now we have something called imshow What imshow does is that it will just open up a window and show the image You can give it the title that you want, Penguins image

Now why is this important? It's important because often you would need to manipulate the image and then see what was the outcome of the manipulation Before we do any manipulations there is just, understand how we can show and hide images If I don't do this, if you notice this, it will run but before I can click on it it will disappear That's because we did not something called a cv2wait key

What this does is that it wait key basically holds the upper for us, where we are saying that hey, so don't consider it zero We can basically pass it any key that is available on the keyboard, any letter or key, and we can say that hey, when this is pressed then sort of close the window So it waits on our key input If we don't give that, if we give the value of zero, then it will wait indefinitely for any key Zero is for any key, not for the zero

So let's run this and see what we get So we got the penguin image, but this has now been opened through Python This is not opened by your regular image viewer, this is something that has been opened through Python Next, what we can do is that we can resize this image What option we have available to us is that, okay, let me remove this first

We can take that original image over here and you can call the resize method on it The second thing needs to be the shape of the image So what we're going to do is that we have the image shape as 768 right We just want to half it Let's call those two height and the width and divide it by two here

Then let's show the image Should not show the resized image So as you can see, the image is now resized Okay, this is very neat feature I was telling you that the computer views it as a pixel values

If you notice, the more I zoom in to it, because I opened it in the Python window and not the regular window You would not see this in the regular window You can actually see what the pixel values are as you zoom in to a region So for white you can see that almost all of them are equivalent for white regions As we go to something really really white over here, you can even see that it is showing up here

So this is really, really white, almost clearly white Snow white, right or water This may be water, but if you look at this, it's not, so if you look at black, it's almost like all values are almost going to zero You can zoom in there, yeah There is also the write operation available to us where we can write the image permanently to file

Where I don't need to show this or this or even this I can just resize the image and call this and let's run this We have the output here This is the resize image now It's half the width

It's not 1024 anymore 768 has also been halved to 384 Next, let's look at face detection using OpenCV in Python So here are the steps required to do face detection using OpenCV The first thing that you're going to do is we're going to use something called the cascade classifier

Now, the cascade classifier is basically your dataset, which previous researchers, and you know, programmers have developed before us, which kind of helps the computer, helps OpenCV in identifying a face as a face Now of course there are multiple kinds of classifiers depending on the logic but cascade classified is one of the most common and popular one This is going to be the step one This is going to train the computer essentially, to identify face as a face You could also think about this as something related to machine learning because essentially the computer is going to learn through the cascade classifier what a human face looks like

But we are not going to go into the machine learning part of it For now we are just going to understand that this is an application of machine learning and that is where the cascade classifier is coming from Step number two is that if you're going to use OpenCV to read the image, you do a NumPy array Using the classifier we are going to determine the range of values, the pixel values, which are forming the face So if you look at this step three, we are drawing the rectangle that use depicting camera allowed on Facebook, where it will detect the faces and it would encircle that

So the way this is going to happen is that the cascade classifier and the NumPy array You're going to use them to detect which pixels in a given image are sort of approximately can be the outline of a human face Let's look at the code The first thing that I'm going to do I'm going to use the cascade classifier This comes straight out of cascade CV2 in itself

This is present as a class It take an argument, which is the path to an xml file, which is present over here So let me just open it for you in a second This is a heavy file so it might not make a lot of sense to you right now, which is okay You can think of this more like training data by which you're teaching the machine that hey, based on these kind of numbers, you can sort of classify a particular set of pixels as a face or not a face

The internals of how they work have been utilized inside the library, OpenCV Of course you can look into it, you can dive deeper into how this exactly works, but then you really need to think about if you want to This is how it works in the industry where if something is working out of the box for us, where you know, we don't have to know the internals of it because the way it is working out of the box is working really well, then we don't dive deeper into it unless and until it stops working well So tomorrow if you want to identify not human faces, but let's suppose faces of monkeys or birds or something else, then you might start diving deeper into hey, how is this exactly working But if today we talk about it, hey we want to quickly build something which will identify human faces, what these libraries do is that I mean, we could spend to write a classifier by yourself for example, would take anywhere between six to 12 months

Now imagine if you had to do that for writing us something which is so common these days, right That is where we don't read in deep It has already been done, we just start using it This is now saving the instance returned by this class in the face cascade object Next I'm going to read the file, which is this particular file, photo

jpg To it is the same file as is shown on the slide of this actress Let me see if I can zoom out As you can see, this is the image Next, I'm going to convert this image into a gray scale image because that is when a classifier works somewhat better than with a non gray scale image

Next, we can find the coordinates of the faces by calling them detect multi-scale method on face cascade The first parameter is going to be of the gray scale image Another parameter is the scale factor and then minimum neighbors Then we can just print the faces Let's see what value we get by printing the faces

So if you see, I've gotten certain coordinates These are essentially pixels These are the four corners that have been given to us by the detect multi-scale method Now, the scale factor is basically decreases the shape value by 5% until the face is found The smaller this value the greater is the accuracy

So what we are doing is that if you look at this image over here, we are reducing the value of the shape The value of the shape being the rectangular coordinates You're decreasing the value of the shape by 5% The reason to do this is that it gives us a greater accuracy Otherwise, let's suppose if we were not to do this, let me just note these values down

We got these coordinates Let's try it out without a scale factor Okay, I think we need to go scale factor of greater than zero Let's give it a scale factor of zero one Now if you look at this, the accuracy's not that great

It has given us a range of possible values because it was only 1% reduction So the output is different this time The numbers are different Now it is not so sure about where the face is The scale factor greatly, greatly matters because it will decrease the value of the shape that it is trying to detect by the percentage to the percentage 5% of pause is coming from 1

05 until the face is found The smaller this value, the greater is the accuracy But it will also take a larger amount of time Next, now that we have gotten the faces, the array, let's try to add the rectangular block For this, very simple

We just iterate over what faces returns to us and we use CV2rectangle method to draw a rectangle The way this works is that you pass in the image, you tell it that x,y is where you want to start off with and then x + w and x + x Basically, these are the other coordinates of the rectangle and then you pass it the color that you want and other things So RGB value of the rectangular outline and the width of the rectangle

These form the x and the y coordinate, the four points that you want to draw on Finally, we will resize the image a little bit and we will show the image So let's take it for a run If you notice, we have drawn a, and if you notice the coordinates, they would be somewhere matching the ones that you got Let's try again with a increased value of the scale factor

Let's see what we get Right, so this time, if you notice that because it was so high, there's no horizontal bound We just got like okay, this is the vertical bound where the face might be in So the accuracy isn't that great with a larger percentage of reduction If we increase this to 1

20, let's see what the output will be like Okay, we got slightly better results, but now there is no lower bound So of course, these are more like picking parameters You can try out different values to get the kind of results that you want, depending on the image Of course, not everybody's going to have the same kind of image set

The dataset that you're going to get is going to vary in terms of the problem statement You might just be getting very simple data sets which might be just you know, the typical passport size photographs, which are not too difficult to deal with or you might be getting something a little more complicated like CCTV footage or something which is posted on social media So there are various things to play around with So it's not just that you write these five, six lines of code and you have written something which is that easy I know it looks easy right now, but when you start dealing with the real world scenario of applying it in actual application, that is where you will be faced with certain practical challenges, where the image might not be that great or it might have certain other things

It might have noise Because this time, if you look at this image, it's a perfect image It's a very good image to do this analysis on But it's a very front-facing image But what is if the image was turned to the side? Next, let's talk about how capturing video works and using the computer web cam

The way video capture works is that it captures the images one by one and after the other in sequence So because the images are put in sequence and they're continuous one after the other, they seem like video Now if you might remember the principle of physics called persistence of image, where an image is created data faster than 1/16 of a second, they appear to blink together So if you look at this right, actually these are four slides but if I'm repeating them fast enough, you will get a sense of as that this particular person is moving, but they're just static images This is, for example, slide one, slide two, slide three, slide four

But if I curse through it really really fast, I can make it seem like a moving image while everything else remains set Keeping that principle in mind, you're going to write a loop which is going to give us each of the individual frames of the image that we're looking to capture and using that, you would be able to do some sort of image processing, where we will process the video in some format or the other The way a captured video works is that we first start with importing CV to CV Next, we call the video capture method on it Now, we can either give it the path to a video file or use numbers

The numbers specify which web cam we would be using So zero stands for the primary webcam that is present on your laptop or your desktop Typically, you can give it a value of zero or you can give it the path of any of the video files that you have on your laptop Now, the next line of code here is videorelease

This is very important to remember to kind of release the camera, because when you're capturing the video, it's sort of a CPU intensive operation It takes up a lot of CPU and a lot of computer's RAM So please make sure that when you're writing these programs, you're releasing the video properly Otherwise, if any of the script or any of the code is running on your laptop or in the computer or in our server, it might just not get released and that might become a problem It might crash your server or your laptop

Now, zero is for the built in camera, that is the primary camera If your external camera's attached, you can put one to use that and if you have multiple external cameras for some reason, you can keep just adding the number one after the other Let's go ahead and execute the code and see what happens I have it written over here Actually, okay

So just, so I imported CV2 and doing a video capture Let me comment this and then run this See if it can actually start capturing the video So nothing was happened because we hadn't actually you know, done anything with the capture One thing that you would notice if you're doing this by yourself is that the cam light will turn on if you're capturing the video

Then it will turn off for a split second Do notice if a longer edition, let's go ahead and add time release in the time module This is just to confirm to yourself that hey, this Python code is actually able to turn on the camera on your device Now of course you cannot see it because you will see that the camera light will turn on for three seconds now instead of just immediate, quickly turning on and turning off Now, let's do a little more interesting

Let's add a window that shows the video So for this, what we're going to do is we are going to call the videoread method We're going to call the videoread method

What it returns to us is it returns two things One is a Boolean data type, which is true if Python is able to read the video capture So in case, let's suppose the camera is faulty or there's some problem with the file that you're reading, this will of course return false This is a quick check to see whether you have got the frame correctly or not The second one is a frame, which is nothing but an image

So it is a NumPy array, it represents the first image that the video captures Let's print the check Timesleep for three seconds and then let's call videorelease

Let's run this So you can see that we got a NumPy array Now, yeah, it's 000, not too bothered by that, but so we don't care what the exact values It would be to present in the image for sure, that it is captured This is the kind of output that we got, correct

Next, what we can do is that we can show the frame that is being captured 어떻게해야합니까? For that, we can call the imshow method and we will name the windows capturing video frame and we'll pass it the frame Why can't we pass it the frame, even if it's an image show method? Because the frame is nothing but a image It's a NumPy array we're presenting an image You're also going to add the wait key method so that now it doesn't disappear all by itself

It waits for us to kind of release it instead of it getting shut off by itself You also need to call the CV2 dot to destroy all the windows Let's run this So the very first frame is going to be blank That's just how it typically tends to be

Let's try and see if we can, let's see if we get a different result placing this over here and then going into the sleep mode Okay, still black, not to bother, but this is sort of the very first frame as the video camera is turning on So if you notice over here, there's a slight whitishness, right This is just from the camera getting turned on but once we complete this entire project, we will be able to actually see the image that is being captured Now, the next question is how to capture the video instead of the first image frame of the video because the first image frame is not very interesting

It's all just black Let's try to capture the entire video So for this, we are going to utilize the while loop We are going to actually do it each and every frame in this while loop So I have already prepared over here

In the while loop we're going to check for the true condition, which is going to make it run indefinite So why are we making it run indefinitely? Because we don't want to say that okay, the video will be three minutes in length or five minutes or five hours in length, right We don't know that So we're just going to start with hey, let's just run this and we are going to come out of the loop using something else We are going to get the frame over here, as you would till now

Next, we are going to cover it in two gray scale Then we'll start showing this over here That is there because it's the entire project that we are building but let us understand things piece by piece as well So we're going to add a wait key and then if the key is equal to, we're going to set it to let's suppose, q So if you press the q key you just want to break out of it

But this is how we are going to break out of this loop Outside this while loop, you're gonna go ahead and do videorelease and videocvtruedestroy all windows

So let's try and run this Okay, now we are able to capture it because, now this is inside the while loop It's running constantly and if you notice this is my finger and now it's not blank anymore So that was because it was a first frame and first frame is always going to be black because we are turning it on and like in that split second it's just an image So it turns out to be black and slowly it just starts capturing, gathering all the light

That's just how the camera works, right Okay, let's quit it So I press the q key and it disappeared and the process finished We are going to try and use this to build a motion detector Let's look at the problem statement

Now the task is that given that you have a video stream from a webcam We have to detect motion on any movement in front of it and we have to return a graph It should contain how long the human or the object was in front of the camera Each bar of the graph should represent the time span and each gap, like this, should represent when there was nobody in front of the camera Let's look at the logic

What we are going to do is that we're going to save the initial image in a frame We're going to convert into Gaussian blur image, which is a more manipulable image, it's just a more convenient way of doing it You're going to take the frame of the object and convert it in to Gaussian blur and you're going to calculate the difference between the first and the second frame So we're going to do this repeatedly for each and every frame that we capture So each and every frame we will bringing each and every image

We're going to do this over and over and over again Now, we are going to define a threshold to remove the shadows and other noises I'll show you how we will do this, so in case, you know, there is a shadow or there is some other thing like a flickering light, that shouldn't be counted Let's suppose you're capturing a video stream through a CCTV camera and one of the light gets flickered or it gets turned on or off But that shouldn't basically be counted as a motion

That can be counted as a motion because we are working with the fact that any changes in the frame So we are saying that hey, this is and image and it changes in this image should be counted as a motion That's the simple logic that we are working with Now, if there is any change in that due to light or you know sunlight or sunset or something of that sort, like sort of image or change, we need to factor that out So that is how we define our threshold

We're going to define the borders of the object We're going to add a rectangular box around the object and calculate the time and object appears and exits in the frame Another thing that we're going to do is that wherever there is a new object, you're going to identify any new object that appears in front of the change in our frame We're going to identify it and we're going to add a rectangular box around the object and we're going to calculate the time when the object appears and exits 프레임 So we have already done the part where we converted into gray scale

From gray scale we can convert it into Gaussian blur 그걸하자 I'm going to add this line over here Now convert it into Gaussian blur Next we also need to check for the first frame

So we're going to define a first frame object outside is none So to make sure that we don't trigger a change So if you notice, the first frame was blank, right If it is a first frame, we might get a motion detection just for turning the camera on Naturally, we don't want that

Let's add the condition that if it is a first frame, let's change it to be this current frame and continue So we will do not count the first frame First frame of when the camera is turned on and the motion detection, this is going to ignore it This is basically us ignoring, ignoring the first black Setting it

Okay, now let's go through it line by line Delta frame, now we're going to calculate the absolute difference between the first frame Check the frame is just going to give us the difference in the two images This gives us the difference in the two images This is the first frame and there is the current frame

Gray is the current frame Now the first frame will, of course, keep on changing 때때로 We're going to, as you will notice, as you go through the code, you're gonna change this first frame as well, as you loop over the entire thing Next, we are going to build a threshold, as we mentioned Now, what this will do is that it will convert the difference value that isn't 32 black, which means that any difference value with less than 30 in this dataframe

So we're going to pass it the dataframe Any difference of less than 30 in intensity, it is going to convert it to black The difference greater than 30 will convert those pixels to white After that, we are going to call the dilate method on it Dilate as the literal word meaning goes, it expands

It will expand on the, it will expand the particular areas that we have found on the threshold frame What the threshold frame does it discounts for the shadows and the lights flickering and all of those kind of things by minimizing the effect, by converting them to black What this will do is that if there is a shadow it will basically convert it into black on a threshold frame What the next step, this dilate frame is going to do is that it's going to zoom into those threshold frame, which has been refactored, which has been cleaned out of all the noise and the random signals Next we want to find out the different contours in our image we do it using the cv2

findcontours object As you can see, cv2 has a lot of these methods right out of the box You may wonder, how you would do it if you were not so familiar with the library Okay, how is it that I just like, from my end, I just know all of these methods It's not something which happens over night, it's the same thing

Like, you Google, you search, you read through the library documentation, you figure out hey, what does this method do, what does this method do and you figure your way around Now, I would basically say that it is better that I leave this part up to you, where you explore it out on your own In case you get stuck, please reach out to support They will definitely help you out in terms of understanding these lines individually But really, the better way to do this is to read the documentation in depth, in detail, and try to understand it from there

Play around with it and see what you can get Next is that for any contours which are less than you know, in the dimension, you will do the move them out So let's do that as well When we add a condition, we're going to get multiple contours because it cannot– Identify multiple things in a given image, right We are going to say that hey, if it is less than 1,000, we just continue on to the next thing

We just continue on to the next thing Otherwise it will do build a rectangle for ourselves, where the cv2rectangle is going to build a rectangle around the object that it effects So contour is a object Think about cnts as multiple objects

Any object which isn't thousand, ignore it Otherwise, identify it, place a rectangle around it, place a rectangle around it, as I showed to you in practice as well Next we are going to show the measures that we're capturing We're going to show the different frames, so you can see what the dataframe looks like, what the threshold frame looks like and what the original frame looks like Let me run this and let's see what we get

So what will happen is that a bunch of frames will open up, if you notice This is the dataframe If you notice it has a Gaussian blur to it, it is looking a little grainy because it just makes it a little easier to process data that way This is just a grayed version of the original frame This is the original color frame, this is what we are capturing

This is the grayed out version of it and this is the delta version of it Let's look at the threshold frame Yeah, here it is So yeah, now this is the most interesting one So if you look at the threshold frame right here, this is where it dilates, where we are converting it into black or white

So it is just trying to find objects If you notice, this over here is an object Now, I move my finger in front of the camera This is my finger okay, right now Let's look at the original color frame and this one side by side

So this is my finger or this is my hand Okay, this might be a better way to do it If you notice, the threshold frame is counting with certain values, right So as we sort of saw over here, it will take the delta when the motion is not happening So when my hand was static it was looking white, but when I was moving it, if you notice that is when it was converting it to black or white

It really is focused on the difference It is not about painting the object, but it's more about looking at the difference on the contours and taking it from there As always, you have the wait key and we can destroy the windows Now, let's try to calculate the time for which the object was in front of the camera For this what we're going to do is that we're going to define a dataframe with column start and end at the very top of a program, so let's do that

Let's take the dataframe over here, and next we want to set a status Status is going to be zero initially, because we are just starting recording and there is nothing The first data's going to be zero When the object is detected, that it when it is, you know the contour is not, the contour is greater than thousand in length, in height, in the contour area, you're going say the status has one We are also going to use something called status list

What is a status list going to do? Status list is initially going to contain, it's just going to be area of two items, none and none We are going to append to the status list every time after the for loop finishes, where if it detected, something of a motion in that particular frame, it will append This could be zero or this could be one for that frame Next, we're going to take the last two values of the status list array, because we are just concerned with the motion that happened We are not concerned with the previous motion

We are just to get the past motion So we're collecting all the previous motions separately, but for this current scenario we are just concerned with keeping the length of the area to be of two values, none and none We're going to slice it and you're going to capture that Next, we're going to add a condition The condition would be that yeah, so if the status list previously was one and now it is zero

Or if it was previously zero and now it is one Then you will take this times array We're going to take this times array, let me define it over here, which is going to be an empty array first You're going to add the t at this particular time there was a motion that happened, so either one This is basically continuing with a status change from a previous frame to a current frame

Then finally, we are going to recall all of these changes over here like this What we can do is finally, that we can iterate over the times that you have collected and we can write it to a CSU file Let me take this for a run, that we have some data in our CSU file 가기 Right, so this is the original color frame

If you notice, my finger would be recognized as an object Okay and yeah So this should give us enough data for movement Let's see what timeCSV has

It seems to empty Let's sort of run it once again and see what we can get Might happen some bug Let me try to move it a little more Okay, right

Let's see if we get something now So yeah, if you notice, now we have the time over here, the start and the end time in a timesCSV We have two instances of movement that we captured quickly One is this and the other one is this

We have actually detected motion Now we can actually go ahead and plot this The video part of the capturing part is done All we need to do now is just go ahead and plot this on a plot using Bokeh For this, we are going to use Bokeh and we're converting the time to a string format, first and foremost

So that is over here Let's first import Bokeh and then convert the time Just so that's it's pretty because if you notice over here, it's written like this, right It's not very human readable, it's converted into more readable format Next we are going to use the column data source with a frame to pass it the data stream

As we have been learning till now, we're just gonna use the same methods we have been learning about Bokeh and we're going to plot this So we're going to create a figure, x-axis is going to be datetime, height of 100, width 500 The title will be motion graph So we're going to set the text or the markings, we're going to set the tooltips, we grab the tools, and then you're going to take the plot, mark the coordinates and going to set the output file as graph1 Let's run this and see what we get

So once I quite the camera, so now we have got a Bokeh plot, as expected You have to quite the camera, please keep that in mind You can actually, I mean, run it in two different files You can just you know, because you are mapping it in timecsv, you could just do it in different files, just get times

csv first and then run it over here But if you notice, now we've got the start and the end and it says okay, for 30 seconds or 35 seconds we got this motion We have our file over here as well, graph1html Of course you will not get an exactly same graphs

I mean, it depends on what kind of a motion you do I front of the camera Thank you, thank you so much I hope you have enjoyed listening to this video Please be kind enough to like it and you can comment any of your doubts and queries and we will reply them at the earliest 우리의 재생 목록에서 더 많은 동영상을 찾으십시오

and subscribe to edureka! Channel to learn more 행복한 학습