Python Basic
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6InYxPVwidGhpcyBpcyBncmVhdFwiXG52Mj1cInRoaXMgaXMgdGVycmlmaWNcIlxudGVtcD12MVxudjE9djJcbnYyPXRlbXBcbnByaW50KHYxKVxucHJpbnQodjIpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImEgPSAxMFxuYiA9IDdcbmlmIGEgPCBiOlxuICAgIHByaW50KFwiYSBpcyBsZXNzIHRoYW4gYlwiKVxucHJpbnQoXCJub3Qgc3VyZSBpZiBhIGlzIGxlc3MgdGhhbiBiXCIpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImMgPSAxMFxuZCA9IDVcbmlmIGMgPCBkOlxuICAgIHByaW50IChcImMgaXMgbGVzcyB0aGFuIGRcIilcbmVsc2U6ICAgIFxuICAgIHByaW50IChcImMgaXMgTm90IGxlc3MgdGhhbiBkXCIpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImUgPSA3XG5mID0gOFxuaWYgZSA9PSBmOlxuICAgIHByaW50KFwiZSBlcXVhbHMgZlwiKVxuZWxpZiBlID4gZjpcbiAgICBwcmludCAoXCJlIGlzIGdyZWF0ZXIgdGhhbiBmXCIpXG5lbHNlOlxuICAgIHByaW50KFwiZSBpcyBsZXNzIHRoYW4gZlwiKVxuICAgICJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImggPSAxMFxuZyA9IDExXG5pZiBoID4gZzpcbiAgICBwcmludChcImggaXMgZ3JlYXQgdGhhbiBnXCIpXG5lbHNlOlxuICAgIGlmIGggPT0gZzpcbiAgICAgICAgcHJpbnQgKFwiaCBpcyBlcXVhbCB0byBnXCIpXG4gICAgZWxzZTpcbiAgICAgICAgcHJpbnQgKFwiaCBpcyBsZXNzIHRoYW4gZ1wiKSJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6Im5hbWUgPSBcIllEXCJcbndlaWdodF9rZyA9IDYwXG5oZWlnaHRfbSA9IDEuOFxuYm1pID0gd2VpZ2h0X2tnIC8gKGhlaWdodF9tKioyKVxucHJpbnQgKGJtaSlcbmlmIGJtaSA8IDI1OlxuICAgIHByaW50KG5hbWUpXG4gICAgcHJpbnQgKFwiaXMgbm90IG92ZXIgd2VpZ2h0XCIpXG5lbHNlOlxuICAgIHByaW50KG5hbWUpXG4gICAgcHJpbnQgKFwiaXMgb3ZlciB3ZWlnaHRcIikgIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgd2hhdCBhcmUgZnVuY3Rpb25zXG4jIGEgY29sbGVjdGlvbiBvZiBjb2RlXG5kZWYgZnVuY3Rpb24xKCk6XG4gICAgcHJpbnQgKFwiaGFhYWFhXCIpXG5wcmludChcInRoaXMgaXMgb3V0c2lkZSBvZiBmdW5jdGlvbnNcIilcbmZ1bmN0aW9uMSgpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgYSBtYXBpbmdcbiMgaW5wdXQgb3IgYXJndW1lbnRcbmRlZiBmdW5jdGlvbjIoeCk6XG4gICAgcmV0dXJuIHgqKjJcbmE9ZnVuY3Rpb24yKDQpXG5wcmludChhKSJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImRlZiBmdW5jdGlvbjMoeCx5KTpcbiAgICByZXR1cm4geCoqeVxuZnVuY3Rpb24zKDIsMykgICAgIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImRlZiBmdW5jdGlvbjQoeCk6XG4gICAgcHJpbnQoeClcbiAgICBwcmludChcInN0aWxsIGluIHRoaXMgZnVuY3Rpb25cIilcbiAgICByZXR1cm4geCoqMlxuZj1mdW5jdGlvbjQoNSlcbnByaW50KGYpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImRlZiBibWlfY2FsY3VsYXRvcihuYW1lLCBoZWlnaHQsIHdlaWdodCk6XG4gICAgYm1pPXdlaWdodC8oaGVpZ2h0KioyKVxuICAgIHByaW50KFwiYm1pIGlzOiBcIilcbiAgICBwcmludChibWkpXG4gICAgaWYgYm1pPDI1OlxuICAgICAgICByZXR1cm4gbmFtZSArIFwiIGlzIG5vdCBvdmVyIHdlaWdodFwiXG4gICAgZWxzZTpcbiAgICAgICAgcmV0dXJuIG5hbWUgKyBcIiBpcyBvdmVyIHdlaWdodFwiXG4gICAgICAgIFxucmVzdWx0PWJtaV9jYWxjdWxhdG9yKFwicWlhbnpoaVwiLDEuNywxMDApXG5wcmludChyZXN1bHQpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiNJbnRyb2R1Y3Rpb24gVG8gTGlzdHMgSW4gUHl0aG9uIChQeXRob24gVHV0b3JpYWwgIzQpXG5hID0gWzMsIDEwLCAtMV1cbnByaW50KGEpXG5hLmFwcGVuZCgxKVxucHJpbnQoYSlcbmEuYXBwZW5kKFwiaGVsbG9cIilcbnByaW50KGEpXG5hLmFwcGVuZChbMSwyXSlcbnByaW50KGEpXG5hLnBvcCgpXG5wcmludChhKVxuYS5wb3AoKVxucHJpbnQoYSlcbnByaW50KGFbMF0pXG5hWzBdXG5hWzNdXG5hWzBdID0gMTAwIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImIgPSBbXCJiYW5hbmFcIiwgXCJhcHBsZVwiLCBcIm1pY3Jvc29mdFwiXVxucHJpbnQoYilcbnRlbXAgPSBiWzBdXG5iWzBdID0gYlsyXVxuYlsyXT0gdGVtcFxucHJpbnQoYilcbmJbMF0sIGJbMl0gPSBiWzJdLCBiWzBdXG5wcmludChiKSJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgSW50cm9kdWN0aW9uIHRvIEZvciBMb29wcyBpbiBQeXRob24gKFB5dGhvbiBUdXRvcmlhbCAjNSlcbmEgPSBbXCJiYW5hbmFcIiwgXCJhcHBsZVwiLCBcIm1pY3Jvc29mdFwiXVxuZm9yIGVsZW1lbnQgaW4gYTpcbiAgICBwcmludChlbGVtZW50KVxuICAgICJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImIgPSBbMSwgNSwgOF1cbmZvciBlIGluIGI6XG4gICAgcHJpbnQoZSlcbiAgICBcbmIgPSBbMSwgNSwgOF1cbnRvdGFsID0gMFxuZm9yIGUgaW4gYjpcbiAgICB0b3RhbCA9IHRvdGFsICsgZVxucHJpbnQodG90YWwpXG5iID0gWzEsIDUsIDhdXG50b3RhbCA9IDBcbmZvciBlIGluIGI6XG4gICAgdG90YWwgPSB0b3RhbCArIGVcbiAgICBwcmludCh0b3RhbClcbiAgICBcbiMgMSwgMiwgMywgNFxucmFuZ2UoMSw1KSAjIDUgaXMgZXhjbHVkZWRcbmxpc3QocmFuZ2UoMSw1KSlcbmMgPSBsaXN0KHJhbmdlKDEsNSkpXG5wcmludChjKVxuZm9yIGkgaW4gcmFuZ2UoMSwgNSk6XG4gICAgcHJpbnQoaSlcbiAgICAifQ==
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6InRvdGFsMiA9IDBcbmZvciBpIGluIHJhbmdlICgxLCA1KTpcbiAgICB0b3RhbDIgPSB0b3RhbDIraVxucHJpbnQodG90YWwyKVxudG90YWwyID0gMFxuZm9yIGkgaW4gcmFuZ2UgKDEsIDUpOlxuICAgIHRvdGFsMiArPWlcbnByaW50KHRvdGFsMikifQ==
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6InByaW50KGxpc3QocmFuZ2UoMSw4KSkpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiNtb2R1bGVcbnByaW50KDQgJSAzKVxucHJpbnQoNSAlIDMpXG5wcmludCg2ICUgMykifQ==
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6InRvdGFsMyA9IDBcbmZvciBpIGluIHJhbmdlKDEsIDgpOlxuICAgIGlmIGkgJSAzID09IDA6XG4gICAgICAgIHRvdGFsMyArPSBpXG5wcmludCh0b3RhbDMpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgY29tcHV0ZSBhbGwgbXVsdGlwbGVzIG9mIDMsIDVcbiMgdGhhdCBhcmUgbGVzcyB0aGFuIDEwMD9cbnRvdGFsNCA9IDBcbmZvciBpIGluIHJhbmdlKDEsIDEwMCk6XG4gICAgaWYgaSAlIDMgPT0gMCBvciBpICUgNT09MDpcbiAgICAgICAgdG90YWw0ICs9IGlcbnByaW50KHRvdGFsNCkifQ==
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgV2hpbGUgTG9vcHMgYW5kIFRoZSBCcmVhayBTdGF0ZW1lbnQgaW4gUHl0aG9uIChQeXRob24gVHV0b3JpYWwgIzYpXG50b3RhbCA9IDBcbmZvciBpIGluIHJhbmdlKDEsMTAwKTpcbiAgICB0b3RhbCs9aVxucHJpbnQodG90YWwpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6InRvdGFsMj0wXG5qPTFcbndoaWxlIGo8IDEwMDpcbiAgICB0b3RhbDIrPWpcbiAgICBqICs9IDFcbnByaW50KHRvdGFsMikifQ==
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgd2h5IHdlIG5lZWQgd2hpbGUvXG4jIHdoZW4gd2UgZG8gbm90IGtub3cgdGhlIGNvbnRlbnQgb2YgdGhlIGxpc3RcbmdpdmVuX2xpc3QgPSBbNCwgNywgOSwgODAsIC03LCA5XVxuIyBmaW5kIHRoZSBzdW0gb2Ygb25seSB0aGUgcG9zaXRpdmUgbnVtYmVycyBvZiB0aGUgbGlzdFxudG90YWwgPSAwXG5pID0gMFxud2hpbGUgZ2l2ZW5fbGlzdFtpXSA+MDpcbiAgICB0b3RhbCArPSBnaXZlbl9saXN0W2ldXG4gICAgaSArPSAxXG5wcmludCh0b3RhbCkifQ==
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgd2hhdCBoYXBwZW5zIGlmIHdlIG9ubHkgaGF2ZSBwb3NpdGl2ZSBudW1iZXJzP1xuZ2l2ZW5fbGlzdCA9IFs0LCA3LCA5LCA4MCwgOV1cbnRvdGFsID0gMFxuaSA9IDBcbndoaWxlIGdpdmVuX2xpc3RbaV0gPjA6XG4gICAgdG90YWwgKz0gZ2l2ZW5fbGlzdFtpXVxuICAgIGkgKz0gMVxucHJpbnQodG90YWwpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiNIb3cgdG8gZml4P1xuZ2l2ZW5fbGlzdCA9IFs0LCA3LCA5LCAtMSwgOV1cbnRvdGFsID0gMFxuaSA9IDBcbndoaWxlIGkgPCBsZW4oZ2l2ZW5fbGlzdCkgYW5kIGdpdmVuX2xpc3RbaV0gPjA6XG4gICAgdG90YWwgKz0gZ2l2ZW5fbGlzdFtpXVxuICAgIGkgKz0gMVxucHJpbnQodG90YWwpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImdpdmVuX2xpc3QgPSBbMSwgMiwgLTEsIDRdXG50b3RhbCA9IDBcbmkgPSAwXG53aGlsZSBpIDwgbGVuKGdpdmVuX2xpc3QpIGFuZCBnaXZlbl9saXN0W2ldID4wOlxuICAgIHRvdGFsICs9IGdpdmVuX2xpc3RbaV1cbiAgICBpICs9IDFcbnByaW50KHRvdGFsKSJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImdpdmVuX2xpc3QyID0gWzUsIDQsIDMsIDIsIC05LCAtN11cbnRvdGFsPTBcbmZvciBlIGluIGdpdmVuX2xpc3QyOlxuICAgIGlmIGUgPCAwOlxuICAgICAgICBicmVha1xuICAgIHRvdGFsICs9ZVxucHJpbnQodG90YWwpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6InRvdGFsID0gMFxuaSA9IDBcbndoaWxlIFRydWU6XG4gICAgdG90YWwgKz0gZ2l2ZW5fbGlzdDJbaV1cbiAgICBpICs9MVxuICAgIGlmIGdpdmVuX2xpc3QyW2ldPD0wOlxuICAgICAgICBicmVha1xucHJpbnQgKHRvdGFsKSJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgc3VtIG9mIGFsbCBuZWdhdGl2ZXNcbmdpdmVuX2xpc3QyID0gWzUsIDQsIDMsIDIsIC05LCAtN10gXG50b3RhbD0wIFxuZT0wIFxuZm9yIGUgaW4gZ2l2ZW5fbGlzdDI6IFxuICBpZiBlIDwgMDogXG4gICAgdG90YWwgKz0gZSBcbnByaW50KHRvdGFsKSJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgc3VtIG9mIGFsbCBuZWdhdGl2ZXNcbmdpdmVuX2xpc3QyID0gWzUsIDQsIDMsIDIsIC05LCAtN11cbnRvdGFsPTBcbmU9MFxud2hpbGUgVHJ1ZTpcbiAgICB0b3RhbCArPSBnaXZlbl9saXN0MltlXVxuICAgIGUgKz0gMVxuICAgIGlmIGdpdmVuX2xpc3QyW2VdPj0wOlxuICAgICAgICBicmVha1xucHJpbnQodG90YWwpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgTW9yZSBBYm91dCBGb3IgTG9vcHMgaW4gUHl0aG9uICYgU29sdXRpb25zIHRvIHRoZSBMYXN0IDIgUHJvYmxlbXMgKFB5dGhvbiBUdXRvcmlhbCAjNylcbmdpdmVuX2xpc3QgPSBbNywgNSwgNCwgMywgLTEsIC0yLCAtMywgLTldXG50b3RhbCA9IDBcbmogPSBsZW4oZ2l2ZW5fbGlzdCkgLSAxXG53aGlsZSBnaXZlbl9saXN0W2pdIDwgMDpcbiAgdG90YWwgKz0gZ2l2ZW5fbGlzdFtqXVxuICBqIC09IDFcbnByaW50KHRvdGFsKSJ9
Dictionaries In Python (Python Tutorial #8)
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgZGVmaW5lIGVtcHR5IGRpY3Rpb25hcnkgZmlyc3QsIHRoZW4gYWRkIGtleSBhbmQgdmFsdWUuXG4jIGVycm9yIHdpbGwgYmUgdGhyb3duIGlmIHRoZSBjYWxsZWQga2V5IGlzIG5vdCBkZWZpbmVkIGZpcnN0LlxuIyB5b3UgY2FuIGNoYW5nZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYSBrZXlcbmQgPSB7fVxuIyBkID0ge1wiR29yZ2VcIjogMjQsIFwiVG9tXCI6IDMyfVxuZFtcIlRvbVwiXSA9IDMyXG5kW1wiR2VvcmdlXCJdID0gMjRcbnByaW50KGRbXCJHZW9yZ2VcIl0pXG5wcmludChkW1wiVG9tXCJdKVxuZFtcIlRvbVwiXT0xMDBcbnByaW50KGRbXCJUb21cIl0pIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMga2V5cyBhcmUgY29tbW9ubHkgc3RyaW5ncyBvciBudW1iZXJzXG5kID0ge31cbiMgZCA9IHtcIkdvcmdlXCI6IDI0LCBcIlRvbVwiOiAzMn1cbmRbXCJUb21cIl0gPSAzMlxuZFtcIkdlb3JnZVwiXSA9IDI0XG5kWzEwXT0xMDBcbnByaW50KGRbMTBdKSJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6IiMgaG93IHRvIGl0ZXJhdGUgb3ZlciBrZXktdmFsdWUgcGFpcnM/XG5kID0ge31cbiMgZCA9IHtcIkdvcmdlXCI6IDI0LCBcIlRvbVwiOiAzMn1cbmRbXCJUb21cIl0gPSAzMlxuZFtcIkdlb3JnZVwiXSA9IDI0XG5kWzEwXT0xMDBcbmZvciBrZXksIHZhbHVlIGluIGQuaXRlbXMoKTpcbiAgcHJpbnQoXCJrZXk6IFwiKVxuICBwcmludChrZXkpXG4gIHByaW50KFwidmFsdWU6IFwiKVxuICBwcmludCh2YWx1ZSlcbiAgcHJpbnQoXCJcIikgIyBsb29rcyBuaWNlciJ9
Classes and Objects
object:
- properties (attributes/ instance variables)
- name: “Tom”
- color: “red”
- weight: 30
- functionalities (method)
use r1 to contain all the info
object:
- properties (attributes/ instance variables)
- name: “Jerry”
- color: “blue”
- weight: 40
- functionalities (method)
use r2 to contain all the info
question: r1 and r2 are so similar, way to organize them? class is the answer, it is the blueprint of objects
class:
-name: -color: -weight:
in the above code for class, properties are not defined, because class does not refer to any perticular object, it is the blueprint!
class needs a name
constructor used to set attributes for class we use the same name for constructor as for class
you will see example below that self refers to any perticular object # Classes and Objects with Python - Part 1 (Python Tutorial #9)
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImNsYXNzIFJvYm90OlxuICBkZWYgaW50cm9kdWNlX3NlbGYoc2VsZik6XG4gICAgcHJpbnQoXCJNeSBuYW1lIGlzIFwiICsgc2VsZi5uYW1lKSAjIHNpbWlsYXIgdG8gZnVuY3Rpb24sIGJ1dCB5b3UgYWRkIHNlbGYgaW4gY2xhc3NcbnIxID0gUm9ib3QoKVxucjEubmFtZSA9IFwiSmVycnlcIlxucjEuY29sb3IgPSBcIlJlZFwiXG5yMS53ZWlnaHQgPSAzMFxucjIgPSBSb2JvdCgpXG5yMi5uYW1lID0gXCJUb21cIlxucjIuY29sb3IgPSBcIkJsdWVcIlxucjIud2VpZ2h0ID0gNDBcbnIxLmludHJvZHVjZV9zZWxmKClcbnIyLmludHJvZHVjZV9zZWxmKClcbiMgdGhlIHBlcmZvcm1hY2Ugb2YgYWJvdmUgY29kZSByZWxpZXMgb24gY29ycmVjdCBzcGVsbGluZyBvZiB0aGUgYXR0cmlidXRlcyBsaWtlIG5hbWUuICJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImNsYXNzIFJvYm90OlxuICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgY29sb3IsIHdlaWdodCk6XG4gICAgc2VsZi5uYW1lID0gbmFtZVxuICAgIHNlbGYuY29sb3IgPSBjb2xvclxuICAgIHNlbGYud2VpZ2h0ID0gd2VpZ2h0XG4gICAgXG4gIGRlZiBpbnRyb2R1Y2Vfc2VsZihzZWxmKTpcbiAgICBwcmludChcIk15IG5hbWUgaXMgXCIgKyBzZWxmLm5hbWUpIFxuICAgIFxucjEgPSBSb2JvdChcIlRvbVwiLCBcIlJlZFwiLCAzMClcbnIyID0gUm9ib3QoXCJKZXJyeVwiLCBcIkJsdWVcIiwgNDApXG5yMS5pbnRyb2R1Y2Vfc2VsZigpXG5yMi5pbnRyb2R1Y2Vfc2VsZigpIn0=
Classes and Objects with Python - Part 2 (Python Tutorial #10)

eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImNsYXNzIFJvYm90OlxuICBkZWYgX19pbml0X18oc2VsZiwgbiwgYywgdyk6XG4gICAgc2VsZi5uYW1lID0gblxuICAgIHNlbGYuY29sb3IgPSBjXG4gICAgc2VsZi53ZWlnaHQgPSB3XG4gIGRlZiBpbnRyb2R1Y2Vfc2VsZihzZWxmKTpcbiAgICBwcmludChcIk15IG5hbWUgaXMgXCIgKyBzZWxmLm5hbWUpXG4gIFxucjEgPSBSb2JvdChcIlRvbVwiLCBcInJlZFwiLCAzMClcbnIyID0gUm9ib3QoXCJKZXJyeVwiLCBcImJsdWVcIiwgNDApXG5jbGFzcyBQZXJzb246XG4gIGRlZiBfX2luaXRfXyhzZWxmLCBuLCBwLCBpKTpcbiAgICBzZWxmLm5hbWUgPSBuXG4gICAgc2VsZi5wZXJzb25hbGl0eSA9IHBcbiAgICBzZWxmLmlzX3NpdHRpbmcgPSBpXG4gIGRlZiBzaXRfZG93bihzZWxmKTpcbiAgICBzZWxmLmlzX3NpdHRpbmcgPSBUcnVlXG4gICAgXG4gIGRlZiBzdGFuZF91cChzZWxmKTpcbiAgICBzZWxmLmlzX3NpdHRpbmcgPSBGYWxzZVxuICAgIFxucDEgPSBQZXJzb24oXCJDaGVsc2VhXCIsIFwiYWdncmVzc2l2ZVwiLCBGYWxzZSkgIyBvd25zIHIyXG5wMiA9IFBlcnNvbihcIkNocmlzXCIsIFwibG92aW5nXCIsIFRydWUpICMgb3ducyByMVxucDEucm9ib3Rfb3duZWQgPSByMlxucDIucm9ib3Rfb3duZWQgPSByMVxucDEucm9ib3Rfb3duZWQuaW50cm9kdWNlX3NlbGYoKSJ9
Using Boolean in Python (Python Tutorial #11)

eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6InR5cGUoXCJhcHBsZVwiKVxudHlwZSg0KVxudHlwZShUcnVlKSJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImEgPSA0XG5iID0gN1xuaWYgYSA+IGI6XG4gIHByaW50KFwiYSBpcyBzbWFsbGVyIHRoYW4gYlwiKVxuICBcbmlmIFRydWU6XG4gIHByaW50KFwiYSBpcyBzbWFsbGVyIHRoYW4gYlwiKVxuYm9vbGVhbl92YWx1ZSA9IGEgPCBiICBcbiAgXG5wcmludChib29sZWFuX3ZhbHVlKSAgXG5pZiBib29sZWFuX3ZhbHVlOlxuICBwcmludChcImEgaXMgc21hbGxlciB0aGFuIGJcIilcbiAgIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImRlZiBhcmVfeW91X2hhcHB5KGlzX3N1bm55LCBoYXNfcGljbmljKTpcbiAgaWYgaXNfc3VubnkgYW5kIGhhc19waWNuaWM6XG4gICAgcmV0dXJuIFRydWVcbiAgZWxzZTpcbiAgICByZXR1cm4gRmFsc2UifQ==
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImRlZiBhcmVfeW91X2hhcHB5KGlzX3N1bm55LCBoYXNfcGljbmljKTpcbiAgcmV0dXJuIGlzX3N1bm55IGFuZCBoYXNfcGljbmljXG5hcmVfeW91X2hhcHB5KFRydWUsIFRydWUpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImRlZiBjX2dyZWF0ZXJfdGhhbl9kX3BsdXNfZSAoYywgZCwgZSk6XG4gIGlmIGMgPiBkICsgZTpcbiAgICByZXR1cm4gVHJ1ZVxuICBlbHNlOlxuICAgIHJldHVybiBGYWxzZSJ9
easier way:
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImRlZiBjX2dyZWF0ZXJfdGhhbl9kX3BsdXNfZShjLCBkLCBlKTpcbiAgcmV0dXJuIGMgPiBkICsgZVxuICBcbnByaW50KGNfZ3JlYXRlcl90aGFuX2RfcGx1c19lKDMsIDEsIDEpKSJ9
List Comprehension Basics with Python (Python Tutorial #12)
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImIgPSBbXVxuYi5hcHBlbmQoMTApXG5iLmFwcGVuZCgyMClcbnByaW50KGIpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImEgPSBbMSwgMywgNSwgN11cbmM9W11cbmZvciB4IGluIGE6XG4gIGMuYXBwZW5kKHgqMilcbnByaW50KGMpICAifQ==
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImEgPSBbMSwgMywgNSwgN11cbmMgPSBbeCAqIDIgZm9yIHggaW4gYV1cbnByaW50KGMpICJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImVsID0gWyBdXG5mb3IgeCBpbiByYW5nZSgxLCA3KTpcbiAgZWwuYXBwZW5kKHggKiogMilcbnByaW50KGVsKSJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImVsID0gW3ggKiogMiBmb3IgeCBpbiByYW5nZSgxLCA3KSBdXG5wcmludChlbCkifQ==
Then reverse the order, there are two ways to do so:
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImVsID0gW3ggKiogMiBmb3IgeCBpbiBbNiwgNSwgNCwgMywgMiwgMSBdXVxucHJpbnQoZWwpIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImVsID0gW3ggKiogMiBmb3IgeCBpbiByYW5nZSg2LCAwLCAtMSldXG5wcmludChlbCkifQ==
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImVsID0gWyBdXG5mb3IgeCBpbiByYW5nZSg2LCAwLCAtMSk6XG4gIGVsLmFwcGVuZCh4KioyKVxucHJpbnQoZWwpIn0=
How To Use Sets in Python (Python Tutorial #13)
A set is a type of data stores a set of things.
a set of unique things
{1, 3} <- 3 ->{1, 3}
python refuses duplicated things in a set
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImEgPSBzZXQoIClcbmEuYWRkKDEpXG5hLmFkZCgyKVxucHJpbnQoYSkifQ==
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImEgPSBzZXQoIClcbmEuYWRkKDEpXG5hLmFkZCgyKVxucHJpbnQoYSlcbmEuYWRkKDEpXG5wcmludChhKSJ9
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImEgPSBzZXQoIClcbmEuYWRkKDEpXG5hLmFkZCgyKVxuZm9yIHggaW4gYTpcbiAgcHJpbnQoeCkifQ==
creat a new set containing only the unique elements in given_list.
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImdpdmVuX2xpc3QgPSBbMSwgMSwgMiwgMywgN11cbm5ld19zZXQgPSBzZXQoKVxuZm9yIHggaW4gZ2l2ZW5fbGlzdDpcbiAgbmV3X3NldC5hZGQoeCkgXG4gIFxucHJpbnQobmV3X3NldCkifQ==
create a new list containing only the unique elements.
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImdpdmVuX2xpc3QgPSBbMSwgMSwgMiwgMywgN11cbm5ld19zZXQgPSBzZXQoKVxuZm9yIHggaW4gZ2l2ZW5fbGlzdDpcbiAgbmV3X3NldC5hZGQoeCkgXG4gIFxubmV3X2xpc3QgPSBsaXN0KClcbmZvciB4IGluIG5ld19zZXQ6XG4gIG5ld19saXN0LmFwcGVuZCh4KVxucHJpbnQobmV3X2xpc3QpIn0=
In a set, you can add non-numberic things, order is not perserved
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImIgPSBzZXQoKVxuYi5hZGQoXCJhcHBsZVwiKVxuYi5hZGQoMTAwKVxucHJpbnQoYikifQ==
sum the unique values in a set:
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImdpdmVuX2xpc3QgPSBbMSwgMiwgMywgMywgNCwgNF1cbm5ld19zZXQgPSBzZXQoKVxuZm9yIHggaW4gZ2l2ZW5fbGlzdDpcbiAgbmV3X3NldC5hZGQoeClcbiAgXG50b3RhbCA9IDBcbmZvciBpIGluIG5ld19zZXQ6XG4gIHRvdGFsICs9IGlcbnByaW50KHRvdGFsKSAgIn0=
eyJsYW5ndWFnZSI6InB5dGhvbiIsInNhbXBsZSI6ImdpdmVuX2xpc3QgPSBbMSwgMiwgMywgMywgNCwgNF1cbm5ld19zZXQgPSBzZXQoKVxuZm9yIHggaW4gZ2l2ZW5fbGlzdDpcbiAgbmV3X3NldC5hZGQoeClcbiAgXG5wcmludChzdW0obmV3X3NldCkpIn0=
Do more practice at https://codingbat.com/python or https://projecteuler.net/