[{"data":1,"prerenderedAt":3517},["ShallowReactive",2],{"tutorials-python":3,"category-items-python":987,"content-/python/object-programming":988},[4,22,31,40,49,58,67,76,86,95,104,113,122,131,141,150,159,168,177,186,196,205,214,223,233,242,251,260,269,279,288,297,306,315,324,333,342,351,360,369,379,388,397,406,415,424,433,442,452,461,470,479,488,497,506,515,525,534,543,552,561,570,579,588,597,606,616,625,634,643,652,661,670,680,689,698,707,716,725,734,744,753,762,771,780,789,798,807,817,826,835,844,853,863,872,881,890,900,909,918,927,936,945,953,961,970,979],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"slug":11,"order":12,"isParent":13,"icon":14,"_type":15,"_id":16,"_source":17,"_file":18,"_stem":19,"_extension":20,"children":21,"expanded":13},"/python/getting-started","python",false,"","Getting Started","Begin your Python programming journey. Learn what Python is, how to set it up, and write your first programs. Perfect for complete beginners starting their coding adventure.","getting-started",1,true,"pi pi-folder","markdown","content:python:1.getting-started.md","content","python/1.getting-started.md","python/1.getting-started","md",[22,31,40,49,58,67],{"_path":23,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":24,"description":25,"slug":26,"parentId":5,"order":27,"_type":15,"_id":28,"_source":17,"_file":29,"_stem":30,"_extension":20},"/python/what-is-python","What is Python","Discover Python's fascinating history, design philosophy, and key features. Learn why Python has become one of the world's most popular programming languages and perfect for beginners.","what-is-python",2,"content:python:2.what-is-python.md","python/2.what-is-python.md","python/2.what-is-python",{"_path":32,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":33,"description":34,"slug":35,"parentId":5,"order":36,"_type":15,"_id":37,"_source":17,"_file":38,"_stem":39,"_extension":20},"/python/setup-python","Setup Python","Learn how to install Python on your computer and set up your development environment. Step-by-step guide for Windows, macOS, and Linux with beginner-friendly instructions.","setup-python",3,"content:python:3.setup-python.md","python/3.setup-python.md","python/3.setup-python",{"_path":41,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":42,"description":43,"slug":44,"parentId":5,"order":45,"_type":15,"_id":46,"_source":17,"_file":47,"_stem":48,"_extension":20},"/python/your-first-program","Your First Program","Write and run your first Python program! Learn the basics of Python programming with simple examples and step-by-step instructions for beginners.","your-first-program",4,"content:python:4.your-first-program.md","python/4.your-first-program.md","python/4.your-first-program",{"_path":50,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":51,"description":52,"slug":53,"parentId":5,"order":54,"_type":15,"_id":55,"_source":17,"_file":56,"_stem":57,"_extension":20},"/python/python-code-structure","Python Code Structure","Learn how Python code is organized and structured. Understand indentation, line breaks, and the basic rules that make Python programs work correctly.","python-code-structure",5,"content:python:5.python-code-structure.md","python/5.python-code-structure.md","python/5.python-code-structure",{"_path":59,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":60,"description":61,"slug":62,"parentId":5,"order":63,"_type":15,"_id":64,"_source":17,"_file":65,"_stem":66,"_extension":20},"/python/writing-comments","Writing Comments","Learn how to write effective comments in Python. Discover when and how to document your code to make it clear, maintainable, and easy to understand.","writing-comments",6,"content:python:6.writing-comments.md","python/6.writing-comments.md","python/6.writing-comments",{"_path":68,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":69,"description":70,"slug":71,"parentId":5,"order":72,"_type":15,"_id":73,"_source":17,"_file":74,"_stem":75,"_extension":20},"/python/working-with-variables","Working with Variables","Learn how to create, use, and manage variables in Python. Understand how to store data, change values, and follow naming conventions for clean, readable code.","working-with-variables",7,"content:python:7.working-with-variables.md","python/7.working-with-variables.md","python/7.working-with-variables",{"_path":77,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":78,"description":79,"slug":80,"order":81,"isParent":13,"icon":14,"_type":15,"_id":82,"_source":17,"_file":83,"_stem":84,"_extension":20,"children":85,"expanded":13},"/python/basic-data-types","Basic Data Types","Learn about Python's fundamental data types including numbers, text, and boolean values","basic-data-types",8,"content:python:8.basic-data-types.md","python/8.basic-data-types.md","python/8.basic-data-types",[86,95,104,113,122],{"_path":87,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":88,"description":89,"slug":90,"parentId":77,"order":91,"_type":15,"_id":92,"_source":17,"_file":93,"_stem":94,"_extension":20},"/python/understanding-data-types","Understanding Data Types","Learn how Python identifies different data types and why they're important for programming","understanding-data-types",9,"content:python:9.understanding-data-types.md","python/9.understanding-data-types.md","python/9.understanding-data-types",{"_path":96,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":97,"description":98,"slug":99,"parentId":77,"order":100,"_type":15,"_id":101,"_source":17,"_file":102,"_stem":103,"_extension":20},"/python/working-with-numbers","Working with Numbers","Learn about Python's numeric data types including integers and floats, and how to perform calculations","working-with-numbers",10,"content:python:10.working-with-numbers.md","python/10.working-with-numbers.md","python/10.working-with-numbers",{"_path":105,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":106,"description":107,"slug":108,"parentId":77,"order":109,"_type":15,"_id":110,"_source":17,"_file":111,"_stem":112,"_extension":20},"/python/text-and-strings","Text and Strings","Learn how to work with text data in Python using strings, including creation, manipulation, and formatting","text-and-strings",11,"content:python:11.text-and-strings.md","python/11.text-and-strings.md","python/11.text-and-strings",{"_path":114,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":115,"description":116,"slug":117,"parentId":77,"order":118,"_type":15,"_id":119,"_source":17,"_file":120,"_stem":121,"_extension":20},"/python/true-false-values","True/False Values","Learn about boolean values in Python, including True/False logic, comparison operations, and how to use booleans for decision-making in your programs","true-false-values",12,"content:python:12.true-false-values.md","python/12.true-false-values.md","python/12.true-false-values",{"_path":123,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":124,"description":125,"slug":126,"parentId":77,"order":127,"_type":15,"_id":128,"_source":17,"_file":129,"_stem":130,"_extension":20},"/python/converting-types","Converting Types","Learn how to convert between different Python data types including strings, numbers, and booleans","converting-types",13,"content:python:13.converting-types.md","python/13.converting-types.md","python/13.converting-types",{"_path":132,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":133,"description":134,"slug":135,"order":136,"isParent":13,"icon":14,"_type":15,"_id":137,"_source":17,"_file":138,"_stem":139,"_extension":20,"children":140,"expanded":13},"/python/python-operators","Python Operators","Learn about Python operators - the symbols and keywords that perform operations on data. Discover arithmetic, comparison, logical, and assignment operators with simple examples.","python-operators",14,"content:python:14.python-operators.md","python/14.python-operators.md","python/14.python-operators",[141,150,159,168,177],{"_path":142,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":143,"description":144,"slug":145,"parentId":132,"order":146,"_type":15,"_id":147,"_source":17,"_file":148,"_stem":149,"_extension":20},"/python/math-operations","Math Operations","Learn Python's arithmetic operators for mathematical calculations. Master addition, subtraction, multiplication, division, and more with practical examples.","math-operations",15,"content:python:15.math-operations.md","python/15.math-operations.md","python/15.math-operations",{"_path":151,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":152,"description":153,"slug":154,"parentId":132,"order":155,"_type":15,"_id":156,"_source":17,"_file":157,"_stem":158,"_extension":20},"/python/comparing-values","Comparing Values","Learn Python's comparison operators to compare values and make decisions. Master equality, inequality, and relational operators with practical examples.","comparing-values",16,"content:python:16.comparing-values.md","python/16.comparing-values.md","python/16.comparing-values",{"_path":160,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":161,"description":162,"slug":163,"parentId":132,"order":164,"_type":15,"_id":165,"_source":17,"_file":166,"_stem":167,"_extension":20},"/python/logic-operations","Logic Operations","Learn about Python's logical operators for combining conditions and creating complex boolean expressions","logic-operations",17,"content:python:17.logic-operations.md","python/17.logic-operations.md","python/17.logic-operations",{"_path":169,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":170,"description":171,"slug":172,"parentId":132,"order":173,"_type":15,"_id":174,"_source":17,"_file":175,"_stem":176,"_extension":20},"/python/value-assignment","Value Assignment","Learn about Python's assignment operators for efficiently updating variables and performing calculations","value-assignment",18,"content:python:18.value-assignment.md","python/18.value-assignment.md","python/18.value-assignment",{"_path":178,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":179,"description":180,"slug":181,"parentId":132,"order":182,"_type":15,"_id":183,"_source":17,"_file":184,"_stem":185,"_extension":20},"/python/operator-precedence","Operator Precedence","Learn how Python evaluates expressions with multiple operators and how to control evaluation order","operator-precedence",19,"content:python:19.operator-precedence.md","python/19.operator-precedence.md","python/19.operator-precedence",{"_path":187,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":188,"description":189,"slug":190,"order":191,"isParent":13,"icon":14,"_type":15,"_id":192,"_source":17,"_file":193,"_stem":194,"_extension":20,"children":195,"expanded":13},"/python/decision-making","Decision Making","Learn how to make decisions in your Python programs using conditional statements and control flow","decision-making",20,"content:python:20.decision-making.md","python/20.decision-making.md","python/20.decision-making",[196,205,214],{"_path":197,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":198,"description":199,"slug":200,"parentId":187,"order":201,"_type":15,"_id":202,"_source":17,"_file":203,"_stem":204,"_extension":20},"/python/if-statements","If Statements","Learn how to use if statements to make decisions and control program flow in Python","if-statements",21,"content:python:21.if-statements.md","python/21.if-statements.md","python/21.if-statements",{"_path":206,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":207,"description":208,"slug":209,"parentId":187,"order":210,"_type":15,"_id":211,"_source":17,"_file":212,"_stem":213,"_extension":20},"/python/multiple-conditions","Multiple Conditions","Learn how to handle multiple conditions using elif statements and complex conditional logic in Python","multiple-conditions",22,"content:python:22.multiple-conditions.md","python/22.multiple-conditions.md","python/22.multiple-conditions",{"_path":215,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":216,"description":217,"slug":218,"parentId":187,"order":219,"_type":15,"_id":220,"_source":17,"_file":221,"_stem":222,"_extension":20},"/python/pattern-matching","Pattern Matching","Learn how to use Python's match-case statements for powerful pattern matching and complex decision making","pattern-matching",23,"content:python:23.pattern-matching.md","python/23.pattern-matching.md","python/23.pattern-matching",{"_path":224,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":225,"description":226,"slug":227,"order":228,"isParent":13,"icon":14,"_type":15,"_id":229,"_source":17,"_file":230,"_stem":231,"_extension":20,"children":232,"expanded":13},"/python/repetition-and-loops","Python Loops","Learn how to use loops to repeat code efficiently and handle repetitive tasks in Python","repetition-and-loops",24,"content:python:24.repetition-and-loops.md","python/24.repetition-and-loops.md","python/24.repetition-and-loops",[233,242,251,260],{"_path":234,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":235,"description":236,"slug":237,"parentId":224,"order":238,"_type":15,"_id":239,"_source":17,"_file":240,"_stem":241,"_extension":20},"/python/while-loops","While Loops","Learn how to use while loops for condition-based repetition and create loops that run until specific conditions are met","while-loops",25,"content:python:25.while-loops.md","python/25.while-loops.md","python/25.while-loops",{"_path":243,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":244,"description":245,"slug":246,"parentId":224,"order":247,"_type":15,"_id":248,"_source":17,"_file":249,"_stem":250,"_extension":20},"/python/for-loops","For Loops","Learn how to use for loops to iterate through sequences, collections, and ranges efficiently in Python","for-loops",26,"content:python:26.for-loops.md","python/26.for-loops.md","python/26.for-loops",{"_path":252,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":253,"description":254,"slug":255,"parentId":224,"order":256,"_type":15,"_id":257,"_source":17,"_file":258,"_stem":259,"_extension":20},"/python/loop-control","Loop Control","Master advanced loop control techniques including break, continue, and else clauses for sophisticated iteration patterns","loop-control",27,"content:python:27.loop-control.md","python/27.loop-control.md","python/27.loop-control",{"_path":261,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":262,"description":263,"slug":264,"parentId":224,"order":265,"_type":15,"_id":266,"_source":17,"_file":267,"_stem":268,"_extension":20},"/python/nested-loops","Nested Loops","Learn how to use nested loops to process multi-dimensional data, create patterns, and handle complex iteration scenarios","nested-loops",28,"content:python:28.nested-loops.md","python/28.nested-loops.md","python/28.nested-loops",{"_path":270,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":271,"description":272,"slug":273,"order":274,"isParent":13,"icon":14,"_type":15,"_id":275,"_source":17,"_file":276,"_stem":277,"_extension":20,"children":278,"expanded":13},"/python/python-lists","Python Lists","Learn about Python lists, one of the most important and versatile data structures for storing and organizing collections of data","python-lists",29,"content:python:29.python-lists.md","python/29.python-lists.md","python/29.python-lists",[279,288,297,306,315,324,333,342,351,360],{"_path":280,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":281,"description":282,"slug":283,"parentId":270,"order":284,"_type":15,"_id":285,"_source":17,"_file":286,"_stem":287,"_extension":20},"/python/creating-lists","Creating Lists","Learn different methods to create and initialize Python lists, from simple literals to advanced techniques","creating-lists",30,"content:python:30.creating-lists.md","python/30.creating-lists.md","python/30.creating-lists",{"_path":289,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":290,"description":291,"slug":292,"parentId":270,"order":293,"_type":15,"_id":294,"_source":17,"_file":295,"_stem":296,"_extension":20},"/python/reading-list-data","Reading List Data","Master techniques for accessing and retrieving data from Python lists using indexing, slicing, and built-in methods","reading-list-data",31,"content:python:31.reading-list-data.md","python/31.reading-list-data.md","python/31.reading-list-data",{"_path":298,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":299,"description":300,"slug":301,"parentId":270,"order":302,"_type":15,"_id":303,"_source":17,"_file":304,"_stem":305,"_extension":20},"/python/modifying-lists","Modifying Lists","Learn how to change, update, and modify existing elements in Python lists using indexing and various methods","modifying-lists",32,"content:python:32.modifying-lists.md","python/32.modifying-lists.md","python/32.modifying-lists",{"_path":307,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":308,"description":309,"slug":310,"parentId":270,"order":311,"_type":15,"_id":312,"_source":17,"_file":313,"_stem":314,"_extension":20},"/python/adding-to-lists","Adding to Lists","Learn various methods to add elements to Python lists including append, insert, extend, and concatenation techniques","adding-to-lists",33,"content:python:33.adding-to-lists.md","python/33.adding-to-lists.md","python/33.adding-to-lists",{"_path":316,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":317,"description":318,"slug":319,"parentId":270,"order":320,"_type":15,"_id":321,"_source":17,"_file":322,"_stem":323,"_extension":20},"/python/removing-from-lists","Removing from Lists","Learn different methods to remove and delete elements from Python lists including remove, pop, del, and clear","removing-from-lists",34,"content:python:34.removing-from-lists.md","python/34.removing-from-lists.md","python/34.removing-from-lists",{"_path":325,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":326,"description":327,"slug":328,"parentId":270,"order":329,"_type":15,"_id":330,"_source":17,"_file":331,"_stem":332,"_extension":20},"/python/looping-through-lists","Looping Through Lists","Learn different ways to iterate through Python lists using for loops, while loops, enumerate, and other iteration techniques","looping-through-lists",35,"content:python:35.looping-through-lists.md","python/35.looping-through-lists.md","python/35.looping-through-lists",{"_path":334,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":335,"description":336,"slug":337,"parentId":270,"order":338,"_type":15,"_id":339,"_source":17,"_file":340,"_stem":341,"_extension":20},"/python/list-shortcuts","List Shortcuts","Learn powerful Python list shortcuts including list comprehensions, slicing tricks, and built-in functions for efficient list operations","list-shortcuts",36,"content:python:36.list-shortcuts.md","python/36.list-shortcuts.md","python/36.list-shortcuts",{"_path":343,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":344,"description":345,"slug":346,"parentId":270,"order":347,"_type":15,"_id":348,"_source":17,"_file":349,"_stem":350,"_extension":20},"/python/organizing-lists","Organizing Lists","Learn how to sort, reverse, and organize Python lists using built-in methods and custom sorting techniques","organizing-lists",37,"content:python:37.organizing-lists.md","python/37.organizing-lists.md","python/37.organizing-lists",{"_path":352,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":353,"description":354,"slug":355,"parentId":270,"order":356,"_type":15,"_id":357,"_source":17,"_file":358,"_stem":359,"_extension":20},"/python/combining-lists","Combining Lists","Learn various techniques to combine, merge, and join Python lists including concatenation, zipping, and advanced merging strategies","combining-lists",38,"content:python:38.combining-lists.md","python/38.combining-lists.md","python/38.combining-lists",{"_path":361,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":362,"description":363,"slug":364,"parentId":270,"order":365,"_type":15,"_id":366,"_source":17,"_file":367,"_stem":368,"_extension":20},"/python/essential-list-tools","Essential List Tools","Master powerful built-in functions and advanced techniques for efficient Python list manipulation and data processing","essential-list-tools",39,"content:python:39.essential-list-tools.md","python/39.essential-list-tools.md","python/39.essential-list-tools",{"_path":370,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":371,"description":372,"slug":373,"order":374,"isParent":13,"icon":14,"_type":15,"_id":375,"_source":17,"_file":376,"_stem":377,"_extension":20,"children":378,"expanded":13},"/python/python-tuples","Python Tuples","Master Python tuples - immutable sequences perfect for storing related data that shouldn't change. Learn creation, access, and manipulation techniques.","python-tuples",40,"content:python:40.python-tuples.md","python/40.python-tuples.md","python/40.python-tuples",[379,388,397,406,415,424,433],{"_path":380,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":381,"description":382,"slug":383,"parentId":370,"order":384,"_type":15,"_id":385,"_source":17,"_file":386,"_stem":387,"_extension":20},"/python/creating-tuples","Creating Tuples","Learn different ways to create Python tuples, from basic syntax to advanced techniques. Master tuple initialization and understand when to use tuples.","creating-tuples",41,"content:python:41.creating-tuples.md","python/41.creating-tuples.md","python/41.creating-tuples",{"_path":389,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":390,"description":391,"slug":392,"parentId":370,"order":393,"_type":15,"_id":394,"_source":17,"_file":395,"_stem":396,"_extension":20},"/python/reading-tuple-data","Reading Tuple Data","Master accessing tuple elements through indexing, slicing, and searching. Learn efficient patterns for reading and working with tuple data.","reading-tuple-data",42,"content:python:42.reading-tuple-data.md","python/42.reading-tuple-data.md","python/42.reading-tuple-data",{"_path":398,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":399,"description":400,"slug":401,"parentId":370,"order":402,"_type":15,"_id":403,"_source":17,"_file":404,"_stem":405,"_extension":20},"/python/changing-tuples","Changing Tuples","Understand tuple immutability and learn techniques for working with unchangeable data. Master creating modified tuple versions and handling immutable constraints.","changing-tuples",43,"content:python:43.changing-tuples.md","python/43.changing-tuples.md","python/43.changing-tuples",{"_path":407,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":408,"description":409,"slug":410,"parentId":370,"order":411,"_type":15,"_id":412,"_source":17,"_file":413,"_stem":414,"_extension":20},"/python/tuple-unpacking","Tuple Unpacking","Master tuple unpacking for elegant variable assignment, function returns, and data extraction. Learn Python's powerful unpacking syntax and patterns.","tuple-unpacking",44,"content:python:44.tuple-unpacking.md","python/44.tuple-unpacking.md","python/44.tuple-unpacking",{"_path":416,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":417,"description":418,"slug":419,"parentId":370,"order":420,"_type":15,"_id":421,"_source":17,"_file":422,"_stem":423,"_extension":20},"/python/iterating-tuples","Iterating Tuples","Master tuple iteration techniques for processing sequence data. Learn basic loops, enumerate, nested iteration, and advanced patterns for efficient data processing.","iterating-tuples",45,"content:python:45.iterating-tuples.md","python/45.iterating-tuples.md","python/45.iterating-tuples",{"_path":425,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":426,"description":427,"slug":428,"parentId":370,"order":429,"_type":15,"_id":430,"_source":17,"_file":431,"_stem":432,"_extension":20},"/python/merging-tuples","Merging Tuples","Learn techniques for combining and merging tuples to create larger data structures. Master concatenation, joining multiple tuples, and advanced merging patterns.","merging-tuples",46,"content:python:46.merging-tuples.md","python/46.merging-tuples.md","python/46.merging-tuples",{"_path":434,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":435,"description":436,"slug":437,"parentId":370,"order":438,"_type":15,"_id":439,"_source":17,"_file":440,"_stem":441,"_extension":20},"/python/tuple-operations","Tuple Operations","Master comprehensive tuple operations including built-in functions, mathematical operations, comparisons, and advanced techniques for efficient tuple manipulation.","tuple-operations",47,"content:python:47.tuple-operations.md","python/47.tuple-operations.md","python/47.tuple-operations",{"_path":443,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":444,"description":445,"slug":446,"order":447,"isParent":13,"icon":14,"_type":15,"_id":448,"_source":17,"_file":449,"_stem":450,"_extension":20,"children":451,"expanded":13},"/python/python-sets","Python Sets","Discover Python sets - unique collections that automatically eliminate duplicates and provide powerful mathematical operations for data filtering and analysis.","python-sets",48,"content:python:48.python-sets.md","python/48.python-sets.md","python/48.python-sets",[452,461,470,479,488,497,506],{"_path":453,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":454,"description":455,"slug":456,"parentId":443,"order":457,"_type":15,"_id":458,"_source":17,"_file":459,"_stem":460,"_extension":20},"/python/creating-sets","Creating Sets","Learn multiple ways to create sets in Python including literal syntax, set() function, and set comprehensions. Master set creation from different data sources.","creating-sets",49,"content:python:49.creating-sets.md","python/49.creating-sets.md","python/49.creating-sets",{"_path":462,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":463,"description":464,"slug":465,"parentId":443,"order":466,"_type":15,"_id":467,"_source":17,"_file":468,"_stem":469,"_extension":20},"/python/reading-set-data","Reading Set Data","Learn how to access and examine set data in Python including membership testing, iteration, size checking, and converting sets to other data types.","reading-set-data",50,"content:python:50.reading-set-data.md","python/50.reading-set-data.md","python/50.reading-set-data",{"_path":471,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":472,"description":473,"slug":474,"parentId":443,"order":475,"_type":15,"_id":476,"_source":17,"_file":477,"_stem":478,"_extension":20},"/python/adding-to-sets","Adding to Sets","Learn how to add elements to sets in Python using add(), update(), and union operations. Master growing sets dynamically with single items and multiple elements.","adding-to-sets",51,"content:python:51.adding-to-sets.md","python/51.adding-to-sets.md","python/51.adding-to-sets",{"_path":480,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":481,"description":482,"slug":483,"parentId":443,"order":484,"_type":15,"_id":485,"_source":17,"_file":486,"_stem":487,"_extension":20},"/python/removing-from-sets","Removing from Sets","Learn how to remove elements from Python sets using different methods like remove(), discard(), pop(), and clear()","removing-from-sets",52,"content:python:52.removing-from-sets.md","python/52.removing-from-sets.md","python/52.removing-from-sets",{"_path":489,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":490,"description":491,"slug":492,"parentId":443,"order":493,"_type":15,"_id":494,"_source":17,"_file":495,"_stem":496,"_extension":20},"/python/iterating-sets","Iterating Sets","Learn different ways to iterate through Python sets using for loops, comprehensions, and built-in functions","iterating-sets",53,"content:python:53.iterating-sets.md","python/53.iterating-sets.md","python/53.iterating-sets",{"_path":498,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":499,"description":500,"slug":501,"parentId":443,"order":502,"_type":15,"_id":503,"_source":17,"_file":504,"_stem":505,"_extension":20},"/python/combining-sets","Combining Sets","Learn how to combine Python sets using union, intersection, difference, and other set operations","combining-sets",54,"content:python:54.combining-sets.md","python/54.combining-sets.md","python/54.combining-sets",{"_path":507,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":508,"description":509,"slug":510,"parentId":443,"order":511,"_type":15,"_id":512,"_source":17,"_file":513,"_stem":514,"_extension":20},"/python/set-operations","Set Operations","Learn advanced Python set operations including comparisons, subsets, supersets, and mathematical set relationships","set-operations",55,"content:python:55.set-operations.md","python/55.set-operations.md","python/55.set-operations",{"_path":516,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":517,"description":518,"slug":519,"order":520,"isParent":13,"icon":14,"_type":15,"_id":521,"_source":17,"_file":522,"_stem":523,"_extension":20,"children":524,"expanded":13},"/python/python-dictionaries","Python Dictionaries","Learn about Python dictionaries - key-value data structures for storing and organizing related information","python-dictionaries",56,"content:python:56.python-dictionaries.md","python/56.python-dictionaries.md","python/56.python-dictionaries",[525,534,543,552,561,570,579,588,597],{"_path":526,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":527,"description":528,"slug":529,"parentId":516,"order":530,"_type":15,"_id":531,"_source":17,"_file":532,"_stem":533,"_extension":20},"/python/creating-dictionaries","Creating Dictionaries","Learn different methods to create Python dictionaries using literals, constructors, and comprehensions","creating-dictionaries",57,"content:python:57.creating-dictionaries.md","python/57.creating-dictionaries.md","python/57.creating-dictionaries",{"_path":535,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":536,"description":537,"slug":538,"parentId":516,"order":539,"_type":15,"_id":540,"_source":17,"_file":541,"_stem":542,"_extension":20},"/python/getting-dictionary-values","Getting Dictionary Values","Learn safe and efficient methods to retrieve data from Python dictionaries using various access techniques","getting-dictionary-values",58,"content:python:58.getting-dictionary-values.md","python/58.getting-dictionary-values.md","python/58.getting-dictionary-values",{"_path":544,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":545,"description":546,"slug":547,"parentId":516,"order":548,"_type":15,"_id":549,"_source":17,"_file":550,"_stem":551,"_extension":20},"/python/updating-dictionaries","Updating Dictionaries","Learn how to modify and maintain Python dictionary data using various update methods and techniques","updating-dictionaries",59,"content:python:59.updating-dictionaries.md","python/59.updating-dictionaries.md","python/59.updating-dictionaries",{"_path":553,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":554,"description":555,"slug":556,"parentId":516,"order":557,"_type":15,"_id":558,"_source":17,"_file":559,"_stem":560,"_extension":20},"/python/adding-dictionary-items","Adding Dictionary Items","Learn effective techniques for adding new items to Python dictionaries with various methods and best practices","adding-dictionary-items",60,"content:python:60.adding-dictionary-items.md","python/60.adding-dictionary-items.md","python/60.adding-dictionary-items",{"_path":562,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":563,"description":564,"slug":565,"parentId":516,"order":566,"_type":15,"_id":567,"_source":17,"_file":568,"_stem":569,"_extension":20},"/python/deleting-dictionary-items","Deleting Dictionary Items","Master safe and efficient techniques for removing items from Python dictionaries with various methods and error handling","deleting-dictionary-items",61,"content:python:61.deleting-dictionary-items.md","python/61.deleting-dictionary-items.md","python/61.deleting-dictionary-items",{"_path":571,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":572,"description":573,"slug":574,"parentId":516,"order":575,"_type":15,"_id":576,"_source":17,"_file":577,"_stem":578,"_extension":20},"/python/looping-dictionaries","Looping Dictionaries","Learn efficient techniques for iterating through Python dictionaries using keys, values, and items","looping-dictionaries",62,"content:python:62.looping-dictionaries.md","python/62.looping-dictionaries.md","python/62.looping-dictionaries",{"_path":580,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":581,"description":582,"slug":583,"parentId":516,"order":584,"_type":15,"_id":585,"_source":17,"_file":586,"_stem":587,"_extension":20},"/python/dictionary-copies","Dictionary Copies","Learn safe techniques for duplicating Python dictionaries using shallow and deep copy methods","dictionary-copies",63,"content:python:63.dictionary-copies.md","python/63.dictionary-copies.md","python/63.dictionary-copies",{"_path":589,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":590,"description":591,"slug":592,"parentId":516,"order":593,"_type":15,"_id":594,"_source":17,"_file":595,"_stem":596,"_extension":20},"/python/multi-level-dictionaries","Multi-level Dictionaries","Master working with nested Python dictionaries for complex data structures and hierarchical information","multi-level-dictionaries",64,"content:python:64.multi-level-dictionaries.md","python/64.multi-level-dictionaries.md","python/64.multi-level-dictionaries",{"_path":598,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":599,"description":600,"slug":601,"parentId":516,"order":602,"_type":15,"_id":603,"_source":17,"_file":604,"_stem":605,"_extension":20},"/python/dictionary-tools","Dictionary Tools","Explore powerful built-in functions and advanced techniques for efficient Python dictionary manipulation and analysis","dictionary-tools",65,"content:python:65.dictionary-tools.md","python/65.dictionary-tools.md","python/65.dictionary-tools",{"_path":607,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":608,"description":609,"slug":610,"order":611,"isParent":13,"icon":14,"_type":15,"_id":612,"_source":17,"_file":613,"_stem":614,"_extension":20,"children":615,"expanded":13},"/python/python-functions","Python Functions","Learn how to create and use Python functions to organize code into reusable, modular components that make programs more efficient and maintainable","python-functions",66,"content:python:66.python-functions.md","python/66.python-functions.md","python/66.python-functions",[616,625,634,643,652,661],{"_path":617,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":618,"description":619,"slug":620,"parentId":607,"order":621,"_type":15,"_id":622,"_source":17,"_file":623,"_stem":624,"_extension":20},"/python/function-basics","Function Basics","Learn the fundamentals of creating and using Python functions to organize code into reusable, modular components","function-basics",67,"content:python:67.function-basics.md","python/67.function-basics.md","python/67.function-basics",{"_path":626,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":627,"description":628,"slug":629,"parentId":607,"order":630,"_type":15,"_id":631,"_source":17,"_file":632,"_stem":633,"_extension":20},"/python/function-parameters","Function Parameters","Master different types of Python function parameters including positional, keyword, default, and variable-length arguments","function-parameters",68,"content:python:68.function-parameters.md","python/68.function-parameters.md","python/68.function-parameters",{"_path":635,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":636,"description":637,"slug":638,"parentId":607,"order":639,"_type":15,"_id":640,"_source":17,"_file":641,"_stem":642,"_extension":20},"/python/returning-values","Returning Values","Learn different ways Python functions return data including single values, multiple values, and conditional returns","returning-values",69,"content:python:69.returning-values.md","python/69.returning-values.md","python/69.returning-values",{"_path":644,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":645,"description":646,"slug":647,"parentId":607,"order":648,"_type":15,"_id":649,"_source":17,"_file":650,"_stem":651,"_extension":20},"/python/variable-scope","Variable Scope","Understand Python variable scope including local, global, and nonlocal variables and how they affect function behavior","variable-scope",70,"content:python:70.variable-scope.md","python/70.variable-scope.md","python/70.variable-scope",{"_path":653,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":654,"description":655,"slug":656,"parentId":607,"order":657,"_type":15,"_id":658,"_source":17,"_file":659,"_stem":660,"_extension":20},"/python/anonymous-functions","Anonymous Functions","Learn to create and use Python lambda functions for concise, inline function definitions and functional programming patterns","anonymous-functions",71,"content:python:71.anonymous-functions.md","python/71.anonymous-functions.md","python/71.anonymous-functions",{"_path":662,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":663,"description":664,"slug":665,"parentId":607,"order":666,"_type":15,"_id":667,"_source":17,"_file":668,"_stem":669,"_extension":20},"/python/function-recursion","Function Recursion","Master recursive functions in Python by learning how functions can call themselves to solve complex problems with elegant, mathematical solutions","function-recursion",72,"content:python:72.function-recursion.md","python/72.function-recursion.md","python/72.function-recursion",{"_path":671,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":672,"description":673,"slug":674,"order":675,"isParent":13,"icon":14,"_type":15,"_id":676,"_source":17,"_file":677,"_stem":678,"_extension":20,"children":679},"/python/object-programming","Object Programming","Learn object-oriented programming (OOP) in Python - create classes, objects, and methods to build organized, reusable code","object-programming",73,"content:python:73.object-programming.md","python/73.object-programming.md","python/73.object-programming",[680,689,698,707,716,725],{"_path":681,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":682,"description":683,"slug":684,"parentId":671,"order":685,"_type":15,"_id":686,"_source":17,"_file":687,"_stem":688,"_extension":20},"/python/classes-and-objects","Classes and Objects","Learn to create Python classes and objects - the foundation of object-oriented programming for building reusable, organized code","classes-and-objects",74,"content:python:74.classes-and-objects.md","python/74.classes-and-objects.md","python/74.classes-and-objects",{"_path":690,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":691,"description":692,"slug":693,"parentId":671,"order":694,"_type":15,"_id":695,"_source":17,"_file":696,"_stem":697,"_extension":20},"/python/object-methods","Object Methods","Master object methods in Python - learn to define behaviors, work with parameters, and create interactive objects that respond to actions","object-methods",75,"content:python:75.object-methods.md","python/75.object-methods.md","python/75.object-methods",{"_path":699,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":700,"description":701,"slug":702,"parentId":671,"order":703,"_type":15,"_id":704,"_source":17,"_file":705,"_stem":706,"_extension":20},"/python/class-inheritance","Class Inheritance","Learn Python class inheritance - create specialized classes that build upon existing functionality while adding new features and behaviors","class-inheritance",76,"content:python:76.class-inheritance.md","python/76.class-inheritance.md","python/76.class-inheritance",{"_path":708,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":709,"description":710,"slug":711,"parentId":671,"order":712,"_type":15,"_id":713,"_source":17,"_file":714,"_stem":715,"_extension":20},"/python/method-overriding","Method Overriding","Master method overriding in Python - learn to customize inherited methods, use super(), and create specialized behaviors while maintaining inheritance benefits","method-overriding",77,"content:python:77.method-overriding.md","python/77.method-overriding.md","python/77.method-overriding",{"_path":717,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":718,"description":719,"slug":720,"parentId":671,"order":721,"_type":15,"_id":722,"_source":17,"_file":723,"_stem":724,"_extension":20},"/python/variable-visibility","Variable Visibility","Master Python variable visibility - learn public, protected, and private attributes to control access and create well-encapsulated classes","variable-visibility",78,"content:python:78.variable-visibility.md","python/78.variable-visibility.md","python/78.variable-visibility",{"_path":726,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":727,"description":728,"slug":729,"parentId":671,"order":730,"_type":15,"_id":731,"_source":17,"_file":732,"_stem":733,"_extension":20},"/python/special-methods","Special Methods","Master Python special methods (magic methods) - learn to implement __str__, __len__, __eq__ and more to make your classes work seamlessly with Python's built-in functions","special-methods",79,"content:python:79.special-methods.md","python/79.special-methods.md","python/79.special-methods",{"_path":735,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":736,"description":737,"slug":738,"order":739,"isParent":13,"icon":14,"_type":15,"_id":740,"_source":17,"_file":741,"_stem":742,"_extension":20,"children":743},"/python/advanced-concepts","Advanced Concepts","Master advanced Python programming concepts - work with dates, mathematics, JSON data, pattern matching, and more sophisticated programming techniques","advanced-concepts",80,"content:python:80.advanced-concepts.md","python/80.advanced-concepts.md","python/80.advanced-concepts",[744,753,762,771,780,789,798],{"_path":745,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":746,"description":747,"slug":748,"parentId":735,"order":749,"_type":15,"_id":750,"_source":17,"_file":751,"_stem":752,"_extension":20},"/python/working-with-dates","Working with Dates","Master Python date and time handling - work with datetime objects, format dates, calculate durations, and build time-aware applications","working-with-dates",81,"content:python:81.working-with-dates.md","python/81.working-with-dates.md","python/81.working-with-dates",{"_path":754,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":755,"description":756,"slug":757,"parentId":735,"order":758,"_type":15,"_id":759,"_source":17,"_file":760,"_stem":761,"_extension":20},"/python/mathematical-operations","Mathematical Operations","Master Python mathematical computing - use math functions, perform statistical calculations, and implement scientific computing for data analysis and problem-solving","mathematical-operations",82,"content:python:82.mathematical-operations.md","python/82.mathematical-operations.md","python/82.mathematical-operations",{"_path":763,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":764,"description":765,"slug":766,"parentId":735,"order":767,"_type":15,"_id":768,"_source":17,"_file":769,"_stem":770,"_extension":20},"/python/json-data","JSON Data","Master JSON data handling in Python - serialize and deserialize data, work with APIs, manage configuration files, and exchange data between applications","json-data",83,"content:python:83.json-data.md","python/83.json-data.md","python/83.json-data",{"_path":772,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":773,"description":774,"slug":775,"parentId":735,"order":776,"_type":15,"_id":777,"_source":17,"_file":778,"_stem":779,"_extension":20},"/python/package-management","Package Management","Master Python package management with pip and virtual environments - install libraries, manage dependencies, create isolated environments, and distribute packages professionally","package-management",85,"content:python:85.package-management.md","python/85.package-management.md","python/85.package-management",{"_path":781,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":782,"description":783,"slug":784,"parentId":735,"order":785,"_type":15,"_id":786,"_source":17,"_file":787,"_stem":788,"_extension":20},"/python/error-handling","Error Handling","Master Python error handling with try/except blocks, exception types, custom exceptions, debugging techniques, and best practices for robust application development","error-handling",86,"content:python:86.error-handling.md","python/86.error-handling.md","python/86.error-handling",{"_path":790,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":791,"description":792,"slug":793,"parentId":735,"order":794,"_type":15,"_id":795,"_source":17,"_file":796,"_stem":797,"_extension":20},"/python/getting-user-input","Getting User Input","Master user input handling in Python with input validation, data type conversion, interactive programs, and command-line interfaces for engaging user experiences","getting-user-input",87,"content:python:87.getting-user-input.md","python/87.getting-user-input.md","python/87.getting-user-input",{"_path":799,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":800,"description":801,"slug":802,"parentId":735,"order":803,"_type":15,"_id":804,"_source":17,"_file":805,"_stem":806,"_extension":20},"/python/text-formatting","Text Formatting","Master Python text formatting with f-strings, format methods, alignment, number formatting, and advanced techniques for professional, readable output","text-formatting",88,"content:python:88.text-formatting.md","python/88.text-formatting.md","python/88.text-formatting",{"_path":808,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":809,"description":810,"slug":811,"order":812,"isParent":13,"icon":14,"_type":15,"_id":813,"_source":17,"_file":814,"_stem":815,"_extension":20,"children":816},"/python/file-operations","File Operations","Master Python file handling with reading, writing, and managing files for data persistence and real-world applications","file-operations",89,"content:python:89.file-operations.md","python/89.file-operations.md","python/89.file-operations",[817,826,835,844],{"_path":818,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":819,"description":820,"slug":821,"parentId":808,"order":822,"_type":15,"_id":823,"_source":17,"_file":824,"_stem":825,"_extension":20},"/python/file-basics","File Basics","Learn fundamental Python file operations including opening files, understanding file modes, using context managers, and basic file handling concepts","file-basics",90,"content:python:90.file-basics.md","python/90.file-basics.md","python/90.file-basics",{"_path":827,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":828,"description":829,"slug":830,"parentId":808,"order":831,"_type":15,"_id":832,"_source":17,"_file":833,"_stem":834,"_extension":20},"/python/reading-files","Reading Files","Master Python file reading techniques including reading entire files, line-by-line processing, and handling different file formats for efficient data processing","reading-files",91,"content:python:91.reading-files.md","python/91.reading-files.md","python/91.reading-files",{"_path":836,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":837,"description":838,"slug":839,"parentId":808,"order":840,"_type":15,"_id":841,"_source":17,"_file":842,"_stem":843,"_extension":20},"/python/writing-files","Writing Files","Learn Python file writing techniques including creating new files, appending content, updating existing files, and saving different data formats safely","writing-files",92,"content:python:92.writing-files.md","python/92.writing-files.md","python/92.writing-files",{"_path":845,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":846,"description":847,"slug":848,"parentId":808,"order":849,"_type":15,"_id":850,"_source":17,"_file":851,"_stem":852,"_extension":20},"/python/file-management","File Management","Learn Python file management techniques including checking file properties, organizing files, directory operations, and implementing file system maintenance tasks","file-management",93,"content:python:93.file-management.md","python/93.file-management.md","python/93.file-management",{"_path":854,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":855,"description":856,"slug":857,"order":858,"isParent":13,"icon":14,"_type":15,"_id":859,"_source":17,"_file":860,"_stem":861,"_extension":20,"children":862},"/python/code-organization","Code Organization","Master Python code organization with modules, built-in libraries, and path management for creating maintainable and reusable applications","code-organization",94,"content:python:94.code-organization.md","python/94.code-organization.md","python/94.code-organization",[863,872,881],{"_path":864,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":865,"description":866,"slug":867,"parentId":854,"order":868,"_type":15,"_id":869,"_source":17,"_file":870,"_stem":871,"_extension":20},"/python/creating-modules","Creating Modules","Learn how to create custom Python modules, organize functions and classes, write reusable code components, and design effective module structures","creating-modules",95,"content:python:95.creating-modules.md","python/95.creating-modules.md","python/95.creating-modules",{"_path":873,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":874,"description":875,"slug":876,"parentId":854,"order":877,"_type":15,"_id":878,"_source":17,"_file":879,"_stem":880,"_extension":20},"/python/using-built-in-modules","Using Built-in Modules","Discover Python's extensive standard library and learn to effectively use built-in modules for common programming tasks, data processing, and system operations","using-built-in-modules",96,"content:python:96.using-built-in-modules.md","python/96.using-built-in-modules.md","python/96.using-built-in-modules",{"_path":882,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":883,"description":884,"slug":885,"parentId":854,"order":886,"_type":15,"_id":887,"_source":17,"_file":888,"_stem":889,"_extension":20},"/python/module-paths","Module Paths","Understand Python's module search system, manage import paths, work with packages, and organize larger projects with proper module path management","module-paths",97,"content:python:97.module-paths.md","python/97.module-paths.md","python/97.module-paths",{"_path":891,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":892,"description":893,"slug":894,"order":895,"isParent":13,"icon":14,"_type":15,"_id":896,"_source":17,"_file":897,"_stem":898,"_extension":20,"children":899,"expanded":13},"/python/reference-materials","Reference Materials","Comprehensive Python reference materials including reserved words, built-in functions, and operation guides for quick lookup and development support","reference-materials",98,"content:python:98.reference-materials.md","python/98.reference-materials.md","python/98.reference-materials",[900,909,918,927,936,945,953,961,970],{"_path":901,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":902,"description":903,"slug":904,"parentId":891,"order":905,"_type":15,"_id":906,"_source":17,"_file":907,"_stem":908,"_extension":20},"/python/reserved-words","Reserved Words","Complete reference of Python keywords and reserved words with descriptions, usage examples, and syntax guidelines","reserved-words",99,"content:python:99.reserved-words.md","python/99.reserved-words.md","python/99.reserved-words",{"_path":910,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":911,"description":912,"slug":913,"parentId":891,"order":914,"_type":15,"_id":915,"_source":17,"_file":916,"_stem":917,"_extension":20},"/python/built-in-functions","Built-in Functions","Comprehensive reference of Python's built-in functions with parameters, return values, and practical usage examples","built-in-functions",100,"content:python:100.built-in-functions.md","python/100.built-in-functions.md","python/100.built-in-functions",{"_path":919,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":920,"description":921,"slug":922,"parentId":891,"order":923,"_type":15,"_id":924,"_source":17,"_file":925,"_stem":926,"_extension":20},"/python/string-operations","String Operations","Complete reference of Python string methods, operations, and formatting techniques with examples and use cases","string-operations",101,"content:python:101.string-operations.md","python/101.string-operations.md","python/101.string-operations",{"_path":928,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":929,"description":930,"slug":931,"parentId":891,"order":932,"_type":15,"_id":933,"_source":17,"_file":934,"_stem":935,"_extension":20},"/python/list-operations","List Operations","Complete reference of Python list methods, operations, and manipulation techniques with examples and performance notes","list-operations",102,"content:python:102.list-operations.md","python/102.list-operations.md","python/102.list-operations",{"_path":937,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":938,"description":939,"slug":940,"parentId":891,"order":941,"_type":15,"_id":942,"_source":17,"_file":943,"_stem":944,"_extension":20},"/python/dictionary-operations","Dictionary Operations","Complete reference of Python dictionary methods, operations, and manipulation techniques with examples and use cases","dictionary-operations",103,"content:python:103.dictionary-operations.md","python/103.dictionary-operations.md","python/103.dictionary-operations",{"_path":946,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":435,"description":947,"slug":948,"parentId":891,"order":949,"_type":15,"_id":950,"_source":17,"_file":951,"_stem":952,"_extension":20},"/python/tuple-methods","Complete reference of Python tuple operations, methods, and techniques with examples and use cases","tuple-methods",104,"content:python:104.tuple-methods.md","python/104.tuple-methods.md","python/104.tuple-methods",{"_path":954,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":508,"description":955,"slug":956,"parentId":891,"order":957,"_type":15,"_id":958,"_source":17,"_file":959,"_stem":960,"_extension":20},"/python/set-methods","Complete reference of Python set operations, methods, and mathematical set operations with examples and use cases","set-methods",105,"content:python:105.set-methods.md","python/105.set-methods.md","python/105.set-methods",{"_path":962,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":963,"description":964,"slug":965,"parentId":891,"order":966,"_type":15,"_id":967,"_source":17,"_file":968,"_stem":969,"_extension":20},"/python/file-operations-reference","File Operations Reference","Complete reference of Python file operations, modes, methods, and file handling techniques with examples","file-operations-reference",106,"content:python:106.file-operations-reference.md","python/106.file-operations-reference.md","python/106.file-operations-reference",{"_path":971,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":972,"description":973,"slug":974,"parentId":891,"order":975,"_type":15,"_id":976,"_source":17,"_file":977,"_stem":978,"_extension":20},"/python/error-types","Error Types","Complete reference of Python exception types, error handling patterns, and debugging techniques with examples","error-types",107,"content:python:107.error-types.md","python/107.error-types.md","python/107.error-types",{"_path":980,"_dir":8,"_draft":7,"_partial":7,"_locale":8,"title":981,"description":10,"slug":982,"order":983,"icon":14,"_type":15,"_id":984,"_source":17,"_file":985,"_stem":986,"_extension":20},"/python","Introduction","python-tutorial",0,"content:python:index.md","python/index.md","python/index",[670],{"_path":671,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":672,"description":673,"slug":674,"order":675,"isParent":13,"icon":14,"body":989,"_type":15,"_id":676,"_source":17,"_file":677,"_stem":678,"_extension":20},{"type":990,"children":991,"toc":3501},"root",[992,1001,1007,1012,1312,1319,1324,1438,1444,1449,1454,1459,1794,1800,1805,2235,2241,2246,2350,2356,2361,2519,2525,2530,2536,2541,2868,2874,2879,3243,3249,3254,3353,3359,3364,3371,3377,3382,3458,3463,3484,3495],{"type":993,"tag":994,"props":995,"children":997},"element","h1",{"id":996},"️-object-programming",[998],{"type":999,"value":1000},"text","🏗️ Object Programming",{"type":993,"tag":1002,"props":1003,"children":1004},"p",{},[1005],{"type":999,"value":1006},"Object-oriented programming (OOP) is a powerful way to organize your code by creating classes and objects that represent real-world things. Instead of writing long scripts with functions scattered everywhere, OOP lets you bundle related data and functions together into neat, reusable packages called objects.",{"type":993,"tag":1002,"props":1008,"children":1009},{},[1010],{"type":999,"value":1011},"Think of objects like digital versions of real things - a car object might have properties like color and speed, plus actions like start() and stop(). This approach makes your code easier to understand, maintain, and expand.",{"type":993,"tag":1013,"props":1014,"children":1015},"code-try",{},[1016],{"type":993,"tag":1017,"props":1018,"children":1021},"pre",{"className":1019,"code":1020,"language":6,"meta":8,"style":8},"language-python shiki shiki-themes github-light github-dark","# Simple class and object example\nclass Dog:\n    def __init__(self, name, breed):\n        self.name = name\n        self.breed = breed\n    \n    def bark(self):\n        return f\"{self.name} says Woof!\"\n\n# Create objects (instances)\nmy_dog = Dog(\"Buddy\", \"Golden Retriever\")\nprint(my_dog.bark())\nprint(f\"{my_dog.name} is a {my_dog.breed}\")\n",[1022],{"type":993,"tag":1023,"props":1024,"children":1025},"code",{"__ignoreMap":8},[1026,1037,1058,1077,1100,1121,1129,1146,1185,1193,1201,1238,1251],{"type":993,"tag":1027,"props":1028,"children":1030},"span",{"class":1029,"line":12},"line",[1031],{"type":993,"tag":1027,"props":1032,"children":1034},{"style":1033},"--shiki-default:#6A737D;--shiki-app-dark-mode:#6A737D",[1035],{"type":999,"value":1036},"# Simple class and object example\n",{"type":993,"tag":1027,"props":1038,"children":1039},{"class":1029,"line":27},[1040,1046,1052],{"type":993,"tag":1027,"props":1041,"children":1043},{"style":1042},"--shiki-default:#D73A49;--shiki-app-dark-mode:#F97583",[1044],{"type":999,"value":1045},"class",{"type":993,"tag":1027,"props":1047,"children":1049},{"style":1048},"--shiki-default:#6F42C1;--shiki-app-dark-mode:#B392F0",[1050],{"type":999,"value":1051}," Dog",{"type":993,"tag":1027,"props":1053,"children":1055},{"style":1054},"--shiki-default:#24292E;--shiki-app-dark-mode:#E1E4E8",[1056],{"type":999,"value":1057},":\n",{"type":993,"tag":1027,"props":1059,"children":1060},{"class":1029,"line":36},[1061,1066,1072],{"type":993,"tag":1027,"props":1062,"children":1063},{"style":1042},[1064],{"type":999,"value":1065},"    def",{"type":993,"tag":1027,"props":1067,"children":1069},{"style":1068},"--shiki-default:#005CC5;--shiki-app-dark-mode:#79B8FF",[1070],{"type":999,"value":1071}," __init__",{"type":993,"tag":1027,"props":1073,"children":1074},{"style":1054},[1075],{"type":999,"value":1076},"(self, name, breed):\n",{"type":993,"tag":1027,"props":1078,"children":1079},{"class":1029,"line":45},[1080,1085,1090,1095],{"type":993,"tag":1027,"props":1081,"children":1082},{"style":1068},[1083],{"type":999,"value":1084},"        self",{"type":993,"tag":1027,"props":1086,"children":1087},{"style":1054},[1088],{"type":999,"value":1089},".name ",{"type":993,"tag":1027,"props":1091,"children":1092},{"style":1042},[1093],{"type":999,"value":1094},"=",{"type":993,"tag":1027,"props":1096,"children":1097},{"style":1054},[1098],{"type":999,"value":1099}," name\n",{"type":993,"tag":1027,"props":1101,"children":1102},{"class":1029,"line":54},[1103,1107,1112,1116],{"type":993,"tag":1027,"props":1104,"children":1105},{"style":1068},[1106],{"type":999,"value":1084},{"type":993,"tag":1027,"props":1108,"children":1109},{"style":1054},[1110],{"type":999,"value":1111},".breed ",{"type":993,"tag":1027,"props":1113,"children":1114},{"style":1042},[1115],{"type":999,"value":1094},{"type":993,"tag":1027,"props":1117,"children":1118},{"style":1054},[1119],{"type":999,"value":1120}," breed\n",{"type":993,"tag":1027,"props":1122,"children":1123},{"class":1029,"line":63},[1124],{"type":993,"tag":1027,"props":1125,"children":1126},{"style":1054},[1127],{"type":999,"value":1128},"    \n",{"type":993,"tag":1027,"props":1130,"children":1131},{"class":1029,"line":72},[1132,1136,1141],{"type":993,"tag":1027,"props":1133,"children":1134},{"style":1042},[1135],{"type":999,"value":1065},{"type":993,"tag":1027,"props":1137,"children":1138},{"style":1048},[1139],{"type":999,"value":1140}," bark",{"type":993,"tag":1027,"props":1142,"children":1143},{"style":1054},[1144],{"type":999,"value":1145},"(self):\n",{"type":993,"tag":1027,"props":1147,"children":1148},{"class":1029,"line":81},[1149,1154,1159,1165,1170,1175,1180],{"type":993,"tag":1027,"props":1150,"children":1151},{"style":1042},[1152],{"type":999,"value":1153},"        return",{"type":993,"tag":1027,"props":1155,"children":1156},{"style":1042},[1157],{"type":999,"value":1158}," f",{"type":993,"tag":1027,"props":1160,"children":1162},{"style":1161},"--shiki-default:#032F62;--shiki-app-dark-mode:#9ECBFF",[1163],{"type":999,"value":1164},"\"",{"type":993,"tag":1027,"props":1166,"children":1167},{"style":1068},[1168],{"type":999,"value":1169},"{self",{"type":993,"tag":1027,"props":1171,"children":1172},{"style":1054},[1173],{"type":999,"value":1174},".name",{"type":993,"tag":1027,"props":1176,"children":1177},{"style":1068},[1178],{"type":999,"value":1179},"}",{"type":993,"tag":1027,"props":1181,"children":1182},{"style":1161},[1183],{"type":999,"value":1184}," says Woof!\"\n",{"type":993,"tag":1027,"props":1186,"children":1187},{"class":1029,"line":91},[1188],{"type":993,"tag":1027,"props":1189,"children":1190},{"emptyLinePlaceholder":13},[1191],{"type":999,"value":1192},"\n",{"type":993,"tag":1027,"props":1194,"children":1195},{"class":1029,"line":100},[1196],{"type":993,"tag":1027,"props":1197,"children":1198},{"style":1033},[1199],{"type":999,"value":1200},"# Create objects (instances)\n",{"type":993,"tag":1027,"props":1202,"children":1203},{"class":1029,"line":109},[1204,1209,1213,1218,1223,1228,1233],{"type":993,"tag":1027,"props":1205,"children":1206},{"style":1054},[1207],{"type":999,"value":1208},"my_dog ",{"type":993,"tag":1027,"props":1210,"children":1211},{"style":1042},[1212],{"type":999,"value":1094},{"type":993,"tag":1027,"props":1214,"children":1215},{"style":1054},[1216],{"type":999,"value":1217}," Dog(",{"type":993,"tag":1027,"props":1219,"children":1220},{"style":1161},[1221],{"type":999,"value":1222},"\"Buddy\"",{"type":993,"tag":1027,"props":1224,"children":1225},{"style":1054},[1226],{"type":999,"value":1227},", ",{"type":993,"tag":1027,"props":1229,"children":1230},{"style":1161},[1231],{"type":999,"value":1232},"\"Golden Retriever\"",{"type":993,"tag":1027,"props":1234,"children":1235},{"style":1054},[1236],{"type":999,"value":1237},")\n",{"type":993,"tag":1027,"props":1239,"children":1240},{"class":1029,"line":118},[1241,1246],{"type":993,"tag":1027,"props":1242,"children":1243},{"style":1068},[1244],{"type":999,"value":1245},"print",{"type":993,"tag":1027,"props":1247,"children":1248},{"style":1054},[1249],{"type":999,"value":1250},"(my_dog.bark())\n",{"type":993,"tag":1027,"props":1252,"children":1253},{"class":1029,"line":127},[1254,1258,1263,1268,1272,1277,1282,1286,1291,1295,1300,1304,1308],{"type":993,"tag":1027,"props":1255,"children":1256},{"style":1068},[1257],{"type":999,"value":1245},{"type":993,"tag":1027,"props":1259,"children":1260},{"style":1054},[1261],{"type":999,"value":1262},"(",{"type":993,"tag":1027,"props":1264,"children":1265},{"style":1042},[1266],{"type":999,"value":1267},"f",{"type":993,"tag":1027,"props":1269,"children":1270},{"style":1161},[1271],{"type":999,"value":1164},{"type":993,"tag":1027,"props":1273,"children":1274},{"style":1068},[1275],{"type":999,"value":1276},"{",{"type":993,"tag":1027,"props":1278,"children":1279},{"style":1054},[1280],{"type":999,"value":1281},"my_dog.name",{"type":993,"tag":1027,"props":1283,"children":1284},{"style":1068},[1285],{"type":999,"value":1179},{"type":993,"tag":1027,"props":1287,"children":1288},{"style":1161},[1289],{"type":999,"value":1290}," is a ",{"type":993,"tag":1027,"props":1292,"children":1293},{"style":1068},[1294],{"type":999,"value":1276},{"type":993,"tag":1027,"props":1296,"children":1297},{"style":1054},[1298],{"type":999,"value":1299},"my_dog.breed",{"type":993,"tag":1027,"props":1301,"children":1302},{"style":1068},[1303],{"type":999,"value":1179},{"type":993,"tag":1027,"props":1305,"children":1306},{"style":1161},[1307],{"type":999,"value":1164},{"type":993,"tag":1027,"props":1309,"children":1310},{"style":1054},[1311],{"type":999,"value":1237},{"type":993,"tag":1313,"props":1314,"children":1316},"h2",{"id":1315},"why-use-object-programming",[1317],{"type":999,"value":1318},"🎯 Why Use Object Programming?",{"type":993,"tag":1002,"props":1320,"children":1321},{},[1322],{"type":999,"value":1323},"Object programming transforms how you think about code organization, moving from \"what does this program do?\" to \"what things does this program work with?\"",{"type":993,"tag":1325,"props":1326,"children":1330},"info-box",{"emoji":1327,"title":1328,"type":1329},"🚀","OOP Benefits","success",[1331,1340,1360,1368,1386,1394,1412,1420],{"type":993,"tag":1002,"props":1332,"children":1333},{},[1334],{"type":993,"tag":1335,"props":1336,"children":1337},"strong",{},[1338],{"type":999,"value":1339},"Code Organization:",{"type":993,"tag":1341,"props":1342,"children":1343},"ul",{},[1344,1350,1355],{"type":993,"tag":1345,"props":1346,"children":1347},"li",{},[1348],{"type":999,"value":1349},"Groups related data and functions together",{"type":993,"tag":1345,"props":1351,"children":1352},{},[1353],{"type":999,"value":1354},"Creates logical, easy-to-understand structure",{"type":993,"tag":1345,"props":1356,"children":1357},{},[1358],{"type":999,"value":1359},"Reduces complexity in large programs",{"type":993,"tag":1002,"props":1361,"children":1362},{},[1363],{"type":993,"tag":1335,"props":1364,"children":1365},{},[1366],{"type":999,"value":1367},"Reusability:",{"type":993,"tag":1341,"props":1369,"children":1370},{},[1371,1376,1381],{"type":993,"tag":1345,"props":1372,"children":1373},{},[1374],{"type":999,"value":1375},"Write once, use many times",{"type":993,"tag":1345,"props":1377,"children":1378},{},[1379],{"type":999,"value":1380},"Create templates for similar objects",{"type":993,"tag":1345,"props":1382,"children":1383},{},[1384],{"type":999,"value":1385},"Share code between different parts of your program",{"type":993,"tag":1002,"props":1387,"children":1388},{},[1389],{"type":993,"tag":1335,"props":1390,"children":1391},{},[1392],{"type":999,"value":1393},"Real-World Modeling:",{"type":993,"tag":1341,"props":1395,"children":1396},{},[1397,1402,1407],{"type":993,"tag":1345,"props":1398,"children":1399},{},[1400],{"type":999,"value":1401},"Represents actual things and concepts",{"type":993,"tag":1345,"props":1403,"children":1404},{},[1405],{"type":999,"value":1406},"Makes programs easier to plan and discuss",{"type":993,"tag":1345,"props":1408,"children":1409},{},[1410],{"type":999,"value":1411},"Natural way to think about problems",{"type":993,"tag":1002,"props":1413,"children":1414},{},[1415],{"type":993,"tag":1335,"props":1416,"children":1417},{},[1418],{"type":999,"value":1419},"Maintainability:",{"type":993,"tag":1341,"props":1421,"children":1422},{},[1423,1428,1433],{"type":993,"tag":1345,"props":1424,"children":1425},{},[1426],{"type":999,"value":1427},"Changes in one place affect related functionality",{"type":993,"tag":1345,"props":1429,"children":1430},{},[1431],{"type":999,"value":1432},"Easier to debug and update code",{"type":993,"tag":1345,"props":1434,"children":1435},{},[1436],{"type":999,"value":1437},"Clear separation of concerns",{"type":993,"tag":1313,"props":1439,"children":1441},{"id":1440},"core-oop-concepts",[1442],{"type":999,"value":1443},"⚡ Core OOP Concepts",{"type":993,"tag":1002,"props":1445,"children":1446},{},[1447],{"type":999,"value":1448},"Object programming revolves around four main concepts that work together to create organized, efficient code.",{"type":993,"tag":1450,"props":1451,"children":1452},"h3",{"id":684},[1453],{"type":999,"value":682},{"type":993,"tag":1002,"props":1455,"children":1456},{},[1457],{"type":999,"value":1458},"Classes are blueprints that define what objects will look like and what they can do. Objects are actual instances created from these blueprints, each with their own specific data.",{"type":993,"tag":1013,"props":1460,"children":1461},{},[1462],{"type":993,"tag":1017,"props":1463,"children":1465},{"className":1019,"code":1464,"language":6,"meta":8,"style":8},"# Class definition (blueprint)\nclass Student:\n    def __init__(self, name, grade):\n        self.name = name\n        self.grade = grade\n    \n    def study(self, subject):\n        return f\"{self.name} is studying {subject}\"\n\n# Creating objects (instances)\nalice = Student(\"Alice\", \"A\")\nbob = Student(\"Bob\", \"B\")\n\nprint(alice.study(\"Math\"))\nprint(f\"{bob.name}'s grade: {bob.grade}\")\n",[1466],{"type":993,"tag":1023,"props":1467,"children":1468},{"__ignoreMap":8},[1469,1477,1493,1509,1528,1549,1556,1573,1623,1630,1638,1673,1707,1714,1736],{"type":993,"tag":1027,"props":1470,"children":1471},{"class":1029,"line":12},[1472],{"type":993,"tag":1027,"props":1473,"children":1474},{"style":1033},[1475],{"type":999,"value":1476},"# Class definition (blueprint)\n",{"type":993,"tag":1027,"props":1478,"children":1479},{"class":1029,"line":27},[1480,1484,1489],{"type":993,"tag":1027,"props":1481,"children":1482},{"style":1042},[1483],{"type":999,"value":1045},{"type":993,"tag":1027,"props":1485,"children":1486},{"style":1048},[1487],{"type":999,"value":1488}," Student",{"type":993,"tag":1027,"props":1490,"children":1491},{"style":1054},[1492],{"type":999,"value":1057},{"type":993,"tag":1027,"props":1494,"children":1495},{"class":1029,"line":36},[1496,1500,1504],{"type":993,"tag":1027,"props":1497,"children":1498},{"style":1042},[1499],{"type":999,"value":1065},{"type":993,"tag":1027,"props":1501,"children":1502},{"style":1068},[1503],{"type":999,"value":1071},{"type":993,"tag":1027,"props":1505,"children":1506},{"style":1054},[1507],{"type":999,"value":1508},"(self, name, grade):\n",{"type":993,"tag":1027,"props":1510,"children":1511},{"class":1029,"line":45},[1512,1516,1520,1524],{"type":993,"tag":1027,"props":1513,"children":1514},{"style":1068},[1515],{"type":999,"value":1084},{"type":993,"tag":1027,"props":1517,"children":1518},{"style":1054},[1519],{"type":999,"value":1089},{"type":993,"tag":1027,"props":1521,"children":1522},{"style":1042},[1523],{"type":999,"value":1094},{"type":993,"tag":1027,"props":1525,"children":1526},{"style":1054},[1527],{"type":999,"value":1099},{"type":993,"tag":1027,"props":1529,"children":1530},{"class":1029,"line":54},[1531,1535,1540,1544],{"type":993,"tag":1027,"props":1532,"children":1533},{"style":1068},[1534],{"type":999,"value":1084},{"type":993,"tag":1027,"props":1536,"children":1537},{"style":1054},[1538],{"type":999,"value":1539},".grade ",{"type":993,"tag":1027,"props":1541,"children":1542},{"style":1042},[1543],{"type":999,"value":1094},{"type":993,"tag":1027,"props":1545,"children":1546},{"style":1054},[1547],{"type":999,"value":1548}," grade\n",{"type":993,"tag":1027,"props":1550,"children":1551},{"class":1029,"line":63},[1552],{"type":993,"tag":1027,"props":1553,"children":1554},{"style":1054},[1555],{"type":999,"value":1128},{"type":993,"tag":1027,"props":1557,"children":1558},{"class":1029,"line":72},[1559,1563,1568],{"type":993,"tag":1027,"props":1560,"children":1561},{"style":1042},[1562],{"type":999,"value":1065},{"type":993,"tag":1027,"props":1564,"children":1565},{"style":1048},[1566],{"type":999,"value":1567}," study",{"type":993,"tag":1027,"props":1569,"children":1570},{"style":1054},[1571],{"type":999,"value":1572},"(self, subject):\n",{"type":993,"tag":1027,"props":1574,"children":1575},{"class":1029,"line":81},[1576,1580,1584,1588,1592,1596,1600,1605,1609,1614,1618],{"type":993,"tag":1027,"props":1577,"children":1578},{"style":1042},[1579],{"type":999,"value":1153},{"type":993,"tag":1027,"props":1581,"children":1582},{"style":1042},[1583],{"type":999,"value":1158},{"type":993,"tag":1027,"props":1585,"children":1586},{"style":1161},[1587],{"type":999,"value":1164},{"type":993,"tag":1027,"props":1589,"children":1590},{"style":1068},[1591],{"type":999,"value":1169},{"type":993,"tag":1027,"props":1593,"children":1594},{"style":1054},[1595],{"type":999,"value":1174},{"type":993,"tag":1027,"props":1597,"children":1598},{"style":1068},[1599],{"type":999,"value":1179},{"type":993,"tag":1027,"props":1601,"children":1602},{"style":1161},[1603],{"type":999,"value":1604}," is studying ",{"type":993,"tag":1027,"props":1606,"children":1607},{"style":1068},[1608],{"type":999,"value":1276},{"type":993,"tag":1027,"props":1610,"children":1611},{"style":1054},[1612],{"type":999,"value":1613},"subject",{"type":993,"tag":1027,"props":1615,"children":1616},{"style":1068},[1617],{"type":999,"value":1179},{"type":993,"tag":1027,"props":1619,"children":1620},{"style":1161},[1621],{"type":999,"value":1622},"\"\n",{"type":993,"tag":1027,"props":1624,"children":1625},{"class":1029,"line":91},[1626],{"type":993,"tag":1027,"props":1627,"children":1628},{"emptyLinePlaceholder":13},[1629],{"type":999,"value":1192},{"type":993,"tag":1027,"props":1631,"children":1632},{"class":1029,"line":100},[1633],{"type":993,"tag":1027,"props":1634,"children":1635},{"style":1033},[1636],{"type":999,"value":1637},"# Creating objects (instances)\n",{"type":993,"tag":1027,"props":1639,"children":1640},{"class":1029,"line":109},[1641,1646,1650,1655,1660,1664,1669],{"type":993,"tag":1027,"props":1642,"children":1643},{"style":1054},[1644],{"type":999,"value":1645},"alice ",{"type":993,"tag":1027,"props":1647,"children":1648},{"style":1042},[1649],{"type":999,"value":1094},{"type":993,"tag":1027,"props":1651,"children":1652},{"style":1054},[1653],{"type":999,"value":1654}," Student(",{"type":993,"tag":1027,"props":1656,"children":1657},{"style":1161},[1658],{"type":999,"value":1659},"\"Alice\"",{"type":993,"tag":1027,"props":1661,"children":1662},{"style":1054},[1663],{"type":999,"value":1227},{"type":993,"tag":1027,"props":1665,"children":1666},{"style":1161},[1667],{"type":999,"value":1668},"\"A\"",{"type":993,"tag":1027,"props":1670,"children":1671},{"style":1054},[1672],{"type":999,"value":1237},{"type":993,"tag":1027,"props":1674,"children":1675},{"class":1029,"line":118},[1676,1681,1685,1689,1694,1698,1703],{"type":993,"tag":1027,"props":1677,"children":1678},{"style":1054},[1679],{"type":999,"value":1680},"bob ",{"type":993,"tag":1027,"props":1682,"children":1683},{"style":1042},[1684],{"type":999,"value":1094},{"type":993,"tag":1027,"props":1686,"children":1687},{"style":1054},[1688],{"type":999,"value":1654},{"type":993,"tag":1027,"props":1690,"children":1691},{"style":1161},[1692],{"type":999,"value":1693},"\"Bob\"",{"type":993,"tag":1027,"props":1695,"children":1696},{"style":1054},[1697],{"type":999,"value":1227},{"type":993,"tag":1027,"props":1699,"children":1700},{"style":1161},[1701],{"type":999,"value":1702},"\"B\"",{"type":993,"tag":1027,"props":1704,"children":1705},{"style":1054},[1706],{"type":999,"value":1237},{"type":993,"tag":1027,"props":1708,"children":1709},{"class":1029,"line":127},[1710],{"type":993,"tag":1027,"props":1711,"children":1712},{"emptyLinePlaceholder":13},[1713],{"type":999,"value":1192},{"type":993,"tag":1027,"props":1715,"children":1716},{"class":1029,"line":136},[1717,1721,1726,1731],{"type":993,"tag":1027,"props":1718,"children":1719},{"style":1068},[1720],{"type":999,"value":1245},{"type":993,"tag":1027,"props":1722,"children":1723},{"style":1054},[1724],{"type":999,"value":1725},"(alice.study(",{"type":993,"tag":1027,"props":1727,"children":1728},{"style":1161},[1729],{"type":999,"value":1730},"\"Math\"",{"type":993,"tag":1027,"props":1732,"children":1733},{"style":1054},[1734],{"type":999,"value":1735},"))\n",{"type":993,"tag":1027,"props":1737,"children":1738},{"class":1029,"line":146},[1739,1743,1747,1751,1755,1759,1764,1768,1773,1777,1782,1786,1790],{"type":993,"tag":1027,"props":1740,"children":1741},{"style":1068},[1742],{"type":999,"value":1245},{"type":993,"tag":1027,"props":1744,"children":1745},{"style":1054},[1746],{"type":999,"value":1262},{"type":993,"tag":1027,"props":1748,"children":1749},{"style":1042},[1750],{"type":999,"value":1267},{"type":993,"tag":1027,"props":1752,"children":1753},{"style":1161},[1754],{"type":999,"value":1164},{"type":993,"tag":1027,"props":1756,"children":1757},{"style":1068},[1758],{"type":999,"value":1276},{"type":993,"tag":1027,"props":1760,"children":1761},{"style":1054},[1762],{"type":999,"value":1763},"bob.name",{"type":993,"tag":1027,"props":1765,"children":1766},{"style":1068},[1767],{"type":999,"value":1179},{"type":993,"tag":1027,"props":1769,"children":1770},{"style":1161},[1771],{"type":999,"value":1772},"'s grade: ",{"type":993,"tag":1027,"props":1774,"children":1775},{"style":1068},[1776],{"type":999,"value":1276},{"type":993,"tag":1027,"props":1778,"children":1779},{"style":1054},[1780],{"type":999,"value":1781},"bob.grade",{"type":993,"tag":1027,"props":1783,"children":1784},{"style":1068},[1785],{"type":999,"value":1179},{"type":993,"tag":1027,"props":1787,"children":1788},{"style":1161},[1789],{"type":999,"value":1164},{"type":993,"tag":1027,"props":1791,"children":1792},{"style":1054},[1793],{"type":999,"value":1237},{"type":993,"tag":1450,"props":1795,"children":1797},{"id":1796},"attributes-and-methods",[1798],{"type":999,"value":1799},"Attributes and Methods",{"type":993,"tag":1002,"props":1801,"children":1802},{},[1803],{"type":999,"value":1804},"Attributes store data about objects, while methods define what objects can do. Together, they give objects both characteristics and behaviors.",{"type":993,"tag":1013,"props":1806,"children":1807},{},[1808],{"type":993,"tag":1017,"props":1809,"children":1811},{"className":1019,"code":1810,"language":6,"meta":8,"style":8},"class BankAccount:\n    def __init__(self, owner, balance=0):\n        self.owner = owner      # Attribute\n        self.balance = balance  # Attribute\n    \n    def deposit(self, amount):  # Method\n        self.balance += amount\n        return f\"Deposited ${amount}. New balance: ${self.balance}\"\n    \n    def withdraw(self, amount): # Method\n        if amount \u003C= self.balance:\n            self.balance -= amount\n            return f\"Withdrew ${amount}. Remaining: ${self.balance}\"\n        return \"Insufficient funds\"\n\naccount = BankAccount(\"Alice\", 100)\nprint(account.deposit(50))\nprint(account.withdraw(30))\n",[1812],{"type":993,"tag":1023,"props":1813,"children":1814},{"__ignoreMap":8},[1815,1831,1861,1887,1912,1919,1941,1962,2013,2020,2041,2069,2090,2140,2152,2159,2193,2214],{"type":993,"tag":1027,"props":1816,"children":1817},{"class":1029,"line":12},[1818,1822,1827],{"type":993,"tag":1027,"props":1819,"children":1820},{"style":1042},[1821],{"type":999,"value":1045},{"type":993,"tag":1027,"props":1823,"children":1824},{"style":1048},[1825],{"type":999,"value":1826}," BankAccount",{"type":993,"tag":1027,"props":1828,"children":1829},{"style":1054},[1830],{"type":999,"value":1057},{"type":993,"tag":1027,"props":1832,"children":1833},{"class":1029,"line":27},[1834,1838,1842,1847,1851,1856],{"type":993,"tag":1027,"props":1835,"children":1836},{"style":1042},[1837],{"type":999,"value":1065},{"type":993,"tag":1027,"props":1839,"children":1840},{"style":1068},[1841],{"type":999,"value":1071},{"type":993,"tag":1027,"props":1843,"children":1844},{"style":1054},[1845],{"type":999,"value":1846},"(self, owner, balance",{"type":993,"tag":1027,"props":1848,"children":1849},{"style":1042},[1850],{"type":999,"value":1094},{"type":993,"tag":1027,"props":1852,"children":1853},{"style":1068},[1854],{"type":999,"value":1855},"0",{"type":993,"tag":1027,"props":1857,"children":1858},{"style":1054},[1859],{"type":999,"value":1860},"):\n",{"type":993,"tag":1027,"props":1862,"children":1863},{"class":1029,"line":36},[1864,1868,1873,1877,1882],{"type":993,"tag":1027,"props":1865,"children":1866},{"style":1068},[1867],{"type":999,"value":1084},{"type":993,"tag":1027,"props":1869,"children":1870},{"style":1054},[1871],{"type":999,"value":1872},".owner ",{"type":993,"tag":1027,"props":1874,"children":1875},{"style":1042},[1876],{"type":999,"value":1094},{"type":993,"tag":1027,"props":1878,"children":1879},{"style":1054},[1880],{"type":999,"value":1881}," owner      ",{"type":993,"tag":1027,"props":1883,"children":1884},{"style":1033},[1885],{"type":999,"value":1886},"# Attribute\n",{"type":993,"tag":1027,"props":1888,"children":1889},{"class":1029,"line":45},[1890,1894,1899,1903,1908],{"type":993,"tag":1027,"props":1891,"children":1892},{"style":1068},[1893],{"type":999,"value":1084},{"type":993,"tag":1027,"props":1895,"children":1896},{"style":1054},[1897],{"type":999,"value":1898},".balance ",{"type":993,"tag":1027,"props":1900,"children":1901},{"style":1042},[1902],{"type":999,"value":1094},{"type":993,"tag":1027,"props":1904,"children":1905},{"style":1054},[1906],{"type":999,"value":1907}," balance  ",{"type":993,"tag":1027,"props":1909,"children":1910},{"style":1033},[1911],{"type":999,"value":1886},{"type":993,"tag":1027,"props":1913,"children":1914},{"class":1029,"line":54},[1915],{"type":993,"tag":1027,"props":1916,"children":1917},{"style":1054},[1918],{"type":999,"value":1128},{"type":993,"tag":1027,"props":1920,"children":1921},{"class":1029,"line":63},[1922,1926,1931,1936],{"type":993,"tag":1027,"props":1923,"children":1924},{"style":1042},[1925],{"type":999,"value":1065},{"type":993,"tag":1027,"props":1927,"children":1928},{"style":1048},[1929],{"type":999,"value":1930}," deposit",{"type":993,"tag":1027,"props":1932,"children":1933},{"style":1054},[1934],{"type":999,"value":1935},"(self, amount):  ",{"type":993,"tag":1027,"props":1937,"children":1938},{"style":1033},[1939],{"type":999,"value":1940},"# Method\n",{"type":993,"tag":1027,"props":1942,"children":1943},{"class":1029,"line":72},[1944,1948,1952,1957],{"type":993,"tag":1027,"props":1945,"children":1946},{"style":1068},[1947],{"type":999,"value":1084},{"type":993,"tag":1027,"props":1949,"children":1950},{"style":1054},[1951],{"type":999,"value":1898},{"type":993,"tag":1027,"props":1953,"children":1954},{"style":1042},[1955],{"type":999,"value":1956},"+=",{"type":993,"tag":1027,"props":1958,"children":1959},{"style":1054},[1960],{"type":999,"value":1961}," amount\n",{"type":993,"tag":1027,"props":1963,"children":1964},{"class":1029,"line":81},[1965,1969,1973,1978,1982,1987,1991,1996,2000,2005,2009],{"type":993,"tag":1027,"props":1966,"children":1967},{"style":1042},[1968],{"type":999,"value":1153},{"type":993,"tag":1027,"props":1970,"children":1971},{"style":1042},[1972],{"type":999,"value":1158},{"type":993,"tag":1027,"props":1974,"children":1975},{"style":1161},[1976],{"type":999,"value":1977},"\"Deposited $",{"type":993,"tag":1027,"props":1979,"children":1980},{"style":1068},[1981],{"type":999,"value":1276},{"type":993,"tag":1027,"props":1983,"children":1984},{"style":1054},[1985],{"type":999,"value":1986},"amount",{"type":993,"tag":1027,"props":1988,"children":1989},{"style":1068},[1990],{"type":999,"value":1179},{"type":993,"tag":1027,"props":1992,"children":1993},{"style":1161},[1994],{"type":999,"value":1995},". New balance: $",{"type":993,"tag":1027,"props":1997,"children":1998},{"style":1068},[1999],{"type":999,"value":1169},{"type":993,"tag":1027,"props":2001,"children":2002},{"style":1054},[2003],{"type":999,"value":2004},".balance",{"type":993,"tag":1027,"props":2006,"children":2007},{"style":1068},[2008],{"type":999,"value":1179},{"type":993,"tag":1027,"props":2010,"children":2011},{"style":1161},[2012],{"type":999,"value":1622},{"type":993,"tag":1027,"props":2014,"children":2015},{"class":1029,"line":91},[2016],{"type":993,"tag":1027,"props":2017,"children":2018},{"style":1054},[2019],{"type":999,"value":1128},{"type":993,"tag":1027,"props":2021,"children":2022},{"class":1029,"line":100},[2023,2027,2032,2037],{"type":993,"tag":1027,"props":2024,"children":2025},{"style":1042},[2026],{"type":999,"value":1065},{"type":993,"tag":1027,"props":2028,"children":2029},{"style":1048},[2030],{"type":999,"value":2031}," withdraw",{"type":993,"tag":1027,"props":2033,"children":2034},{"style":1054},[2035],{"type":999,"value":2036},"(self, amount): ",{"type":993,"tag":1027,"props":2038,"children":2039},{"style":1033},[2040],{"type":999,"value":1940},{"type":993,"tag":1027,"props":2042,"children":2043},{"class":1029,"line":109},[2044,2049,2054,2059,2064],{"type":993,"tag":1027,"props":2045,"children":2046},{"style":1042},[2047],{"type":999,"value":2048},"        if",{"type":993,"tag":1027,"props":2050,"children":2051},{"style":1054},[2052],{"type":999,"value":2053}," amount ",{"type":993,"tag":1027,"props":2055,"children":2056},{"style":1042},[2057],{"type":999,"value":2058},"\u003C=",{"type":993,"tag":1027,"props":2060,"children":2061},{"style":1068},[2062],{"type":999,"value":2063}," self",{"type":993,"tag":1027,"props":2065,"children":2066},{"style":1054},[2067],{"type":999,"value":2068},".balance:\n",{"type":993,"tag":1027,"props":2070,"children":2071},{"class":1029,"line":118},[2072,2077,2081,2086],{"type":993,"tag":1027,"props":2073,"children":2074},{"style":1068},[2075],{"type":999,"value":2076},"            self",{"type":993,"tag":1027,"props":2078,"children":2079},{"style":1054},[2080],{"type":999,"value":1898},{"type":993,"tag":1027,"props":2082,"children":2083},{"style":1042},[2084],{"type":999,"value":2085},"-=",{"type":993,"tag":1027,"props":2087,"children":2088},{"style":1054},[2089],{"type":999,"value":1961},{"type":993,"tag":1027,"props":2091,"children":2092},{"class":1029,"line":127},[2093,2098,2102,2107,2111,2115,2119,2124,2128,2132,2136],{"type":993,"tag":1027,"props":2094,"children":2095},{"style":1042},[2096],{"type":999,"value":2097},"            return",{"type":993,"tag":1027,"props":2099,"children":2100},{"style":1042},[2101],{"type":999,"value":1158},{"type":993,"tag":1027,"props":2103,"children":2104},{"style":1161},[2105],{"type":999,"value":2106},"\"Withdrew $",{"type":993,"tag":1027,"props":2108,"children":2109},{"style":1068},[2110],{"type":999,"value":1276},{"type":993,"tag":1027,"props":2112,"children":2113},{"style":1054},[2114],{"type":999,"value":1986},{"type":993,"tag":1027,"props":2116,"children":2117},{"style":1068},[2118],{"type":999,"value":1179},{"type":993,"tag":1027,"props":2120,"children":2121},{"style":1161},[2122],{"type":999,"value":2123},". Remaining: $",{"type":993,"tag":1027,"props":2125,"children":2126},{"style":1068},[2127],{"type":999,"value":1169},{"type":993,"tag":1027,"props":2129,"children":2130},{"style":1054},[2131],{"type":999,"value":2004},{"type":993,"tag":1027,"props":2133,"children":2134},{"style":1068},[2135],{"type":999,"value":1179},{"type":993,"tag":1027,"props":2137,"children":2138},{"style":1161},[2139],{"type":999,"value":1622},{"type":993,"tag":1027,"props":2141,"children":2142},{"class":1029,"line":136},[2143,2147],{"type":993,"tag":1027,"props":2144,"children":2145},{"style":1042},[2146],{"type":999,"value":1153},{"type":993,"tag":1027,"props":2148,"children":2149},{"style":1161},[2150],{"type":999,"value":2151}," \"Insufficient funds\"\n",{"type":993,"tag":1027,"props":2153,"children":2154},{"class":1029,"line":146},[2155],{"type":993,"tag":1027,"props":2156,"children":2157},{"emptyLinePlaceholder":13},[2158],{"type":999,"value":1192},{"type":993,"tag":1027,"props":2160,"children":2161},{"class":1029,"line":155},[2162,2167,2171,2176,2180,2184,2189],{"type":993,"tag":1027,"props":2163,"children":2164},{"style":1054},[2165],{"type":999,"value":2166},"account ",{"type":993,"tag":1027,"props":2168,"children":2169},{"style":1042},[2170],{"type":999,"value":1094},{"type":993,"tag":1027,"props":2172,"children":2173},{"style":1054},[2174],{"type":999,"value":2175}," BankAccount(",{"type":993,"tag":1027,"props":2177,"children":2178},{"style":1161},[2179],{"type":999,"value":1659},{"type":993,"tag":1027,"props":2181,"children":2182},{"style":1054},[2183],{"type":999,"value":1227},{"type":993,"tag":1027,"props":2185,"children":2186},{"style":1068},[2187],{"type":999,"value":2188},"100",{"type":993,"tag":1027,"props":2190,"children":2191},{"style":1054},[2192],{"type":999,"value":1237},{"type":993,"tag":1027,"props":2194,"children":2195},{"class":1029,"line":164},[2196,2200,2205,2210],{"type":993,"tag":1027,"props":2197,"children":2198},{"style":1068},[2199],{"type":999,"value":1245},{"type":993,"tag":1027,"props":2201,"children":2202},{"style":1054},[2203],{"type":999,"value":2204},"(account.deposit(",{"type":993,"tag":1027,"props":2206,"children":2207},{"style":1068},[2208],{"type":999,"value":2209},"50",{"type":993,"tag":1027,"props":2211,"children":2212},{"style":1054},[2213],{"type":999,"value":1735},{"type":993,"tag":1027,"props":2215,"children":2216},{"class":1029,"line":173},[2217,2221,2226,2231],{"type":993,"tag":1027,"props":2218,"children":2219},{"style":1068},[2220],{"type":999,"value":1245},{"type":993,"tag":1027,"props":2222,"children":2223},{"style":1054},[2224],{"type":999,"value":2225},"(account.withdraw(",{"type":993,"tag":1027,"props":2227,"children":2228},{"style":1068},[2229],{"type":999,"value":2230},"30",{"type":993,"tag":1027,"props":2232,"children":2233},{"style":1054},[2234],{"type":999,"value":1735},{"type":993,"tag":1313,"props":2236,"children":2238},{"id":2237},"when-to-use-object-programming",[2239],{"type":999,"value":2240},"🚀 When to Use Object Programming",{"type":993,"tag":1002,"props":2242,"children":2243},{},[2244],{"type":999,"value":2245},"Understanding when OOP provides the most benefit helps you choose the right approach for different programming situations.",{"type":993,"tag":1325,"props":2247,"children":2251},{"emoji":2248,"title":2249,"type":2250},"🎯","OOP Use Cases","info",[2252,2260,2288,2296,2319,2327],{"type":993,"tag":1002,"props":2253,"children":2254},{},[2255],{"type":993,"tag":1335,"props":2256,"children":2257},{},[2258],{"type":999,"value":2259},"Perfect For:",{"type":993,"tag":1341,"props":2261,"children":2262},{},[2263,2268,2273,2278,2283],{"type":993,"tag":1345,"props":2264,"children":2265},{},[2266],{"type":999,"value":2267},"Programs with multiple similar entities",{"type":993,"tag":1345,"props":2269,"children":2270},{},[2271],{"type":999,"value":2272},"Applications that model real-world things",{"type":993,"tag":1345,"props":2274,"children":2275},{},[2276],{"type":999,"value":2277},"Code that needs to be reused or extended",{"type":993,"tag":1345,"props":2279,"children":2280},{},[2281],{"type":999,"value":2282},"Complex programs requiring organization",{"type":993,"tag":1345,"props":2284,"children":2285},{},[2286],{"type":999,"value":2287},"Systems with clear relationships between components",{"type":993,"tag":1002,"props":2289,"children":2290},{},[2291],{"type":993,"tag":1335,"props":2292,"children":2293},{},[2294],{"type":999,"value":2295},"Consider Alternatives:",{"type":993,"tag":1341,"props":2297,"children":2298},{},[2299,2304,2309,2314],{"type":993,"tag":1345,"props":2300,"children":2301},{},[2302],{"type":999,"value":2303},"Simple scripts with basic calculations",{"type":993,"tag":1345,"props":2305,"children":2306},{},[2307],{"type":999,"value":2308},"One-time data processing tasks",{"type":993,"tag":1345,"props":2310,"children":2311},{},[2312],{"type":999,"value":2313},"Programs with purely functional logic",{"type":993,"tag":1345,"props":2315,"children":2316},{},[2317],{"type":999,"value":2318},"Small utilities with limited scope",{"type":993,"tag":1002,"props":2320,"children":2321},{},[2322],{"type":993,"tag":1335,"props":2323,"children":2324},{},[2325],{"type":999,"value":2326},"Industry Applications:",{"type":993,"tag":1341,"props":2328,"children":2329},{},[2330,2335,2340,2345],{"type":993,"tag":1345,"props":2331,"children":2332},{},[2333],{"type":999,"value":2334},"Game development (players, enemies, items)",{"type":993,"tag":1345,"props":2336,"children":2337},{},[2338],{"type":999,"value":2339},"Web applications (users, posts, comments)",{"type":993,"tag":1345,"props":2341,"children":2342},{},[2343],{"type":999,"value":2344},"Business software (customers, orders, products)",{"type":993,"tag":1345,"props":2346,"children":2347},{},[2348],{"type":999,"value":2349},"Scientific modeling (particles, experiments, datasets)",{"type":993,"tag":1313,"props":2351,"children":2353},{"id":2352},"oop-vs-procedural-programming",[2354],{"type":999,"value":2355},"📊 OOP vs Procedural Programming",{"type":993,"tag":1002,"props":2357,"children":2358},{},[2359],{"type":999,"value":2360},"Comparing object-oriented and procedural approaches helps illustrate when each style works best.",{"type":993,"tag":2362,"props":2363,"children":2364},"table",{},[2365,2388],{"type":993,"tag":2366,"props":2367,"children":2368},"thead",{},[2369],{"type":993,"tag":2370,"props":2371,"children":2372},"tr",{},[2373,2379,2383],{"type":993,"tag":2374,"props":2375,"children":2376},"th",{},[2377],{"type":999,"value":2378},"Aspect",{"type":993,"tag":2374,"props":2380,"children":2381},{},[2382],{"type":999,"value":672},{"type":993,"tag":2374,"props":2384,"children":2385},{},[2386],{"type":999,"value":2387},"Procedural Programming",{"type":993,"tag":2389,"props":2390,"children":2391},"tbody",{},[2392,2414,2435,2456,2477,2498],{"type":993,"tag":2370,"props":2393,"children":2394},{},[2395,2404,2409],{"type":993,"tag":2396,"props":2397,"children":2398},"td",{},[2399],{"type":993,"tag":1335,"props":2400,"children":2401},{},[2402],{"type":999,"value":2403},"Organization",{"type":993,"tag":2396,"props":2405,"children":2406},{},[2407],{"type":999,"value":2408},"Data and functions together",{"type":993,"tag":2396,"props":2410,"children":2411},{},[2412],{"type":999,"value":2413},"Functions separate from data",{"type":993,"tag":2370,"props":2415,"children":2416},{},[2417,2425,2430],{"type":993,"tag":2396,"props":2418,"children":2419},{},[2420],{"type":993,"tag":1335,"props":2421,"children":2422},{},[2423],{"type":999,"value":2424},"Reusability",{"type":993,"tag":2396,"props":2426,"children":2427},{},[2428],{"type":999,"value":2429},"High (inherit and extend)",{"type":993,"tag":2396,"props":2431,"children":2432},{},[2433],{"type":999,"value":2434},"Moderate (function calls)",{"type":993,"tag":2370,"props":2436,"children":2437},{},[2438,2446,2451],{"type":993,"tag":2396,"props":2439,"children":2440},{},[2441],{"type":993,"tag":1335,"props":2442,"children":2443},{},[2444],{"type":999,"value":2445},"Complexity",{"type":993,"tag":2396,"props":2447,"children":2448},{},[2449],{"type":999,"value":2450},"Better for complex programs",{"type":993,"tag":2396,"props":2452,"children":2453},{},[2454],{"type":999,"value":2455},"Good for simple scripts",{"type":993,"tag":2370,"props":2457,"children":2458},{},[2459,2467,2472],{"type":993,"tag":2396,"props":2460,"children":2461},{},[2462],{"type":993,"tag":1335,"props":2463,"children":2464},{},[2465],{"type":999,"value":2466},"Real-world modeling",{"type":993,"tag":2396,"props":2468,"children":2469},{},[2470],{"type":999,"value":2471},"Natural and intuitive",{"type":993,"tag":2396,"props":2473,"children":2474},{},[2475],{"type":999,"value":2476},"Abstract and functional",{"type":993,"tag":2370,"props":2478,"children":2479},{},[2480,2488,2493],{"type":993,"tag":2396,"props":2481,"children":2482},{},[2483],{"type":993,"tag":1335,"props":2484,"children":2485},{},[2486],{"type":999,"value":2487},"Learning curve",{"type":993,"tag":2396,"props":2489,"children":2490},{},[2491],{"type":999,"value":2492},"Steeper initially",{"type":993,"tag":2396,"props":2494,"children":2495},{},[2496],{"type":999,"value":2497},"Easier to start",{"type":993,"tag":2370,"props":2499,"children":2500},{},[2501,2509,2514],{"type":993,"tag":2396,"props":2502,"children":2503},{},[2504],{"type":993,"tag":1335,"props":2505,"children":2506},{},[2507],{"type":999,"value":2508},"Debugging",{"type":993,"tag":2396,"props":2510,"children":2511},{},[2512],{"type":999,"value":2513},"Localized to objects",{"type":993,"tag":2396,"props":2515,"children":2516},{},[2517],{"type":999,"value":2518},"May require tracking data flow",{"type":993,"tag":1313,"props":2520,"children":2522},{"id":2521},"common-oop-patterns",[2523],{"type":999,"value":2524},"🌟 Common OOP Patterns",{"type":993,"tag":1002,"props":2526,"children":2527},{},[2528],{"type":999,"value":2529},"Object programming enables several powerful patterns that solve recurring design problems elegantly.",{"type":993,"tag":1450,"props":2531,"children":2533},{"id":2532},"template-pattern",[2534],{"type":999,"value":2535},"Template Pattern",{"type":993,"tag":1002,"props":2537,"children":2538},{},[2539],{"type":999,"value":2540},"Classes serve as templates for creating multiple similar objects with different data. This pattern reduces code duplication while maintaining consistency across object instances.",{"type":993,"tag":1013,"props":2542,"children":2543},{},[2544],{"type":993,"tag":1017,"props":2545,"children":2547},{"className":1019,"code":2546,"language":6,"meta":8,"style":8},"class Product:\n    def __init__(self, name, price, category):\n        self.name = name\n        self.price = price\n        self.category = category\n    \n    def display_info(self):\n        return f\"{self.name} - ${self.price} ({self.category})\"\n\n# Create multiple products using the same template\nlaptop = Product(\"MacBook\", 999, \"Electronics\")\nbook = Product(\"Python Guide\", 29, \"Books\")\n\nprint(laptop.display_info())\nprint(book.display_info())\n",[2548],{"type":993,"tag":1023,"props":2549,"children":2550},{"__ignoreMap":8},[2551,2567,2583,2602,2623,2644,2651,2667,2735,2742,2750,2794,2837,2844,2856],{"type":993,"tag":1027,"props":2552,"children":2553},{"class":1029,"line":12},[2554,2558,2563],{"type":993,"tag":1027,"props":2555,"children":2556},{"style":1042},[2557],{"type":999,"value":1045},{"type":993,"tag":1027,"props":2559,"children":2560},{"style":1048},[2561],{"type":999,"value":2562}," Product",{"type":993,"tag":1027,"props":2564,"children":2565},{"style":1054},[2566],{"type":999,"value":1057},{"type":993,"tag":1027,"props":2568,"children":2569},{"class":1029,"line":27},[2570,2574,2578],{"type":993,"tag":1027,"props":2571,"children":2572},{"style":1042},[2573],{"type":999,"value":1065},{"type":993,"tag":1027,"props":2575,"children":2576},{"style":1068},[2577],{"type":999,"value":1071},{"type":993,"tag":1027,"props":2579,"children":2580},{"style":1054},[2581],{"type":999,"value":2582},"(self, name, price, category):\n",{"type":993,"tag":1027,"props":2584,"children":2585},{"class":1029,"line":36},[2586,2590,2594,2598],{"type":993,"tag":1027,"props":2587,"children":2588},{"style":1068},[2589],{"type":999,"value":1084},{"type":993,"tag":1027,"props":2591,"children":2592},{"style":1054},[2593],{"type":999,"value":1089},{"type":993,"tag":1027,"props":2595,"children":2596},{"style":1042},[2597],{"type":999,"value":1094},{"type":993,"tag":1027,"props":2599,"children":2600},{"style":1054},[2601],{"type":999,"value":1099},{"type":993,"tag":1027,"props":2603,"children":2604},{"class":1029,"line":45},[2605,2609,2614,2618],{"type":993,"tag":1027,"props":2606,"children":2607},{"style":1068},[2608],{"type":999,"value":1084},{"type":993,"tag":1027,"props":2610,"children":2611},{"style":1054},[2612],{"type":999,"value":2613},".price ",{"type":993,"tag":1027,"props":2615,"children":2616},{"style":1042},[2617],{"type":999,"value":1094},{"type":993,"tag":1027,"props":2619,"children":2620},{"style":1054},[2621],{"type":999,"value":2622}," price\n",{"type":993,"tag":1027,"props":2624,"children":2625},{"class":1029,"line":54},[2626,2630,2635,2639],{"type":993,"tag":1027,"props":2627,"children":2628},{"style":1068},[2629],{"type":999,"value":1084},{"type":993,"tag":1027,"props":2631,"children":2632},{"style":1054},[2633],{"type":999,"value":2634},".category ",{"type":993,"tag":1027,"props":2636,"children":2637},{"style":1042},[2638],{"type":999,"value":1094},{"type":993,"tag":1027,"props":2640,"children":2641},{"style":1054},[2642],{"type":999,"value":2643}," category\n",{"type":993,"tag":1027,"props":2645,"children":2646},{"class":1029,"line":63},[2647],{"type":993,"tag":1027,"props":2648,"children":2649},{"style":1054},[2650],{"type":999,"value":1128},{"type":993,"tag":1027,"props":2652,"children":2653},{"class":1029,"line":72},[2654,2658,2663],{"type":993,"tag":1027,"props":2655,"children":2656},{"style":1042},[2657],{"type":999,"value":1065},{"type":993,"tag":1027,"props":2659,"children":2660},{"style":1048},[2661],{"type":999,"value":2662}," display_info",{"type":993,"tag":1027,"props":2664,"children":2665},{"style":1054},[2666],{"type":999,"value":1145},{"type":993,"tag":1027,"props":2668,"children":2669},{"class":1029,"line":81},[2670,2674,2678,2682,2686,2690,2694,2699,2703,2708,2712,2717,2721,2726,2730],{"type":993,"tag":1027,"props":2671,"children":2672},{"style":1042},[2673],{"type":999,"value":1153},{"type":993,"tag":1027,"props":2675,"children":2676},{"style":1042},[2677],{"type":999,"value":1158},{"type":993,"tag":1027,"props":2679,"children":2680},{"style":1161},[2681],{"type":999,"value":1164},{"type":993,"tag":1027,"props":2683,"children":2684},{"style":1068},[2685],{"type":999,"value":1169},{"type":993,"tag":1027,"props":2687,"children":2688},{"style":1054},[2689],{"type":999,"value":1174},{"type":993,"tag":1027,"props":2691,"children":2692},{"style":1068},[2693],{"type":999,"value":1179},{"type":993,"tag":1027,"props":2695,"children":2696},{"style":1161},[2697],{"type":999,"value":2698}," - $",{"type":993,"tag":1027,"props":2700,"children":2701},{"style":1068},[2702],{"type":999,"value":1169},{"type":993,"tag":1027,"props":2704,"children":2705},{"style":1054},[2706],{"type":999,"value":2707},".price",{"type":993,"tag":1027,"props":2709,"children":2710},{"style":1068},[2711],{"type":999,"value":1179},{"type":993,"tag":1027,"props":2713,"children":2714},{"style":1161},[2715],{"type":999,"value":2716}," (",{"type":993,"tag":1027,"props":2718,"children":2719},{"style":1068},[2720],{"type":999,"value":1169},{"type":993,"tag":1027,"props":2722,"children":2723},{"style":1054},[2724],{"type":999,"value":2725},".category",{"type":993,"tag":1027,"props":2727,"children":2728},{"style":1068},[2729],{"type":999,"value":1179},{"type":993,"tag":1027,"props":2731,"children":2732},{"style":1161},[2733],{"type":999,"value":2734},")\"\n",{"type":993,"tag":1027,"props":2736,"children":2737},{"class":1029,"line":91},[2738],{"type":993,"tag":1027,"props":2739,"children":2740},{"emptyLinePlaceholder":13},[2741],{"type":999,"value":1192},{"type":993,"tag":1027,"props":2743,"children":2744},{"class":1029,"line":100},[2745],{"type":993,"tag":1027,"props":2746,"children":2747},{"style":1033},[2748],{"type":999,"value":2749},"# Create multiple products using the same template\n",{"type":993,"tag":1027,"props":2751,"children":2752},{"class":1029,"line":109},[2753,2758,2762,2767,2772,2776,2781,2785,2790],{"type":993,"tag":1027,"props":2754,"children":2755},{"style":1054},[2756],{"type":999,"value":2757},"laptop ",{"type":993,"tag":1027,"props":2759,"children":2760},{"style":1042},[2761],{"type":999,"value":1094},{"type":993,"tag":1027,"props":2763,"children":2764},{"style":1054},[2765],{"type":999,"value":2766}," Product(",{"type":993,"tag":1027,"props":2768,"children":2769},{"style":1161},[2770],{"type":999,"value":2771},"\"MacBook\"",{"type":993,"tag":1027,"props":2773,"children":2774},{"style":1054},[2775],{"type":999,"value":1227},{"type":993,"tag":1027,"props":2777,"children":2778},{"style":1068},[2779],{"type":999,"value":2780},"999",{"type":993,"tag":1027,"props":2782,"children":2783},{"style":1054},[2784],{"type":999,"value":1227},{"type":993,"tag":1027,"props":2786,"children":2787},{"style":1161},[2788],{"type":999,"value":2789},"\"Electronics\"",{"type":993,"tag":1027,"props":2791,"children":2792},{"style":1054},[2793],{"type":999,"value":1237},{"type":993,"tag":1027,"props":2795,"children":2796},{"class":1029,"line":118},[2797,2802,2806,2810,2815,2819,2824,2828,2833],{"type":993,"tag":1027,"props":2798,"children":2799},{"style":1054},[2800],{"type":999,"value":2801},"book ",{"type":993,"tag":1027,"props":2803,"children":2804},{"style":1042},[2805],{"type":999,"value":1094},{"type":993,"tag":1027,"props":2807,"children":2808},{"style":1054},[2809],{"type":999,"value":2766},{"type":993,"tag":1027,"props":2811,"children":2812},{"style":1161},[2813],{"type":999,"value":2814},"\"Python Guide\"",{"type":993,"tag":1027,"props":2816,"children":2817},{"style":1054},[2818],{"type":999,"value":1227},{"type":993,"tag":1027,"props":2820,"children":2821},{"style":1068},[2822],{"type":999,"value":2823},"29",{"type":993,"tag":1027,"props":2825,"children":2826},{"style":1054},[2827],{"type":999,"value":1227},{"type":993,"tag":1027,"props":2829,"children":2830},{"style":1161},[2831],{"type":999,"value":2832},"\"Books\"",{"type":993,"tag":1027,"props":2834,"children":2835},{"style":1054},[2836],{"type":999,"value":1237},{"type":993,"tag":1027,"props":2838,"children":2839},{"class":1029,"line":127},[2840],{"type":993,"tag":1027,"props":2841,"children":2842},{"emptyLinePlaceholder":13},[2843],{"type":999,"value":1192},{"type":993,"tag":1027,"props":2845,"children":2846},{"class":1029,"line":136},[2847,2851],{"type":993,"tag":1027,"props":2848,"children":2849},{"style":1068},[2850],{"type":999,"value":1245},{"type":993,"tag":1027,"props":2852,"children":2853},{"style":1054},[2854],{"type":999,"value":2855},"(laptop.display_info())\n",{"type":993,"tag":1027,"props":2857,"children":2858},{"class":1029,"line":146},[2859,2863],{"type":993,"tag":1027,"props":2860,"children":2861},{"style":1068},[2862],{"type":999,"value":1245},{"type":993,"tag":1027,"props":2864,"children":2865},{"style":1054},[2866],{"type":999,"value":2867},"(book.display_info())\n",{"type":993,"tag":1450,"props":2869,"children":2871},{"id":2870},"data-encapsulation",[2872],{"type":999,"value":2873},"Data Encapsulation",{"type":993,"tag":1002,"props":2875,"children":2876},{},[2877],{"type":999,"value":2878},"Bundling related data and methods together creates self-contained objects that manage their own state.",{"type":993,"tag":1013,"props":2880,"children":2881},{},[2882],{"type":993,"tag":1017,"props":2883,"children":2885},{"className":1019,"code":2884,"language":6,"meta":8,"style":8},"class Counter:\n    def __init__(self):\n        self.count = 0\n    \n    def increment(self):\n        self.count += 1\n    \n    def get_count(self):\n        return self.count\n    \n    def reset(self):\n        self.count = 0\n\n# Each counter maintains its own state\ncounter1 = Counter()\ncounter2 = Counter()\n\ncounter1.increment()\ncounter1.increment()\ncounter2.increment()\n\nprint(f\"Counter 1: {counter1.get_count()}\")  # 2\nprint(f\"Counter 2: {counter2.get_count()}\")  # 1\n",[2886],{"type":993,"tag":1023,"props":2887,"children":2888},{"__ignoreMap":8},[2889,2905,2920,2941,2948,2964,2984,2991,3007,3023,3030,3046,3065,3072,3080,3097,3113,3120,3128,3135,3143,3150,3197],{"type":993,"tag":1027,"props":2890,"children":2891},{"class":1029,"line":12},[2892,2896,2901],{"type":993,"tag":1027,"props":2893,"children":2894},{"style":1042},[2895],{"type":999,"value":1045},{"type":993,"tag":1027,"props":2897,"children":2898},{"style":1048},[2899],{"type":999,"value":2900}," Counter",{"type":993,"tag":1027,"props":2902,"children":2903},{"style":1054},[2904],{"type":999,"value":1057},{"type":993,"tag":1027,"props":2906,"children":2907},{"class":1029,"line":27},[2908,2912,2916],{"type":993,"tag":1027,"props":2909,"children":2910},{"style":1042},[2911],{"type":999,"value":1065},{"type":993,"tag":1027,"props":2913,"children":2914},{"style":1068},[2915],{"type":999,"value":1071},{"type":993,"tag":1027,"props":2917,"children":2918},{"style":1054},[2919],{"type":999,"value":1145},{"type":993,"tag":1027,"props":2921,"children":2922},{"class":1029,"line":36},[2923,2927,2932,2936],{"type":993,"tag":1027,"props":2924,"children":2925},{"style":1068},[2926],{"type":999,"value":1084},{"type":993,"tag":1027,"props":2928,"children":2929},{"style":1054},[2930],{"type":999,"value":2931},".count ",{"type":993,"tag":1027,"props":2933,"children":2934},{"style":1042},[2935],{"type":999,"value":1094},{"type":993,"tag":1027,"props":2937,"children":2938},{"style":1068},[2939],{"type":999,"value":2940}," 0\n",{"type":993,"tag":1027,"props":2942,"children":2943},{"class":1029,"line":45},[2944],{"type":993,"tag":1027,"props":2945,"children":2946},{"style":1054},[2947],{"type":999,"value":1128},{"type":993,"tag":1027,"props":2949,"children":2950},{"class":1029,"line":54},[2951,2955,2960],{"type":993,"tag":1027,"props":2952,"children":2953},{"style":1042},[2954],{"type":999,"value":1065},{"type":993,"tag":1027,"props":2956,"children":2957},{"style":1048},[2958],{"type":999,"value":2959}," increment",{"type":993,"tag":1027,"props":2961,"children":2962},{"style":1054},[2963],{"type":999,"value":1145},{"type":993,"tag":1027,"props":2965,"children":2966},{"class":1029,"line":63},[2967,2971,2975,2979],{"type":993,"tag":1027,"props":2968,"children":2969},{"style":1068},[2970],{"type":999,"value":1084},{"type":993,"tag":1027,"props":2972,"children":2973},{"style":1054},[2974],{"type":999,"value":2931},{"type":993,"tag":1027,"props":2976,"children":2977},{"style":1042},[2978],{"type":999,"value":1956},{"type":993,"tag":1027,"props":2980,"children":2981},{"style":1068},[2982],{"type":999,"value":2983}," 1\n",{"type":993,"tag":1027,"props":2985,"children":2986},{"class":1029,"line":72},[2987],{"type":993,"tag":1027,"props":2988,"children":2989},{"style":1054},[2990],{"type":999,"value":1128},{"type":993,"tag":1027,"props":2992,"children":2993},{"class":1029,"line":81},[2994,2998,3003],{"type":993,"tag":1027,"props":2995,"children":2996},{"style":1042},[2997],{"type":999,"value":1065},{"type":993,"tag":1027,"props":2999,"children":3000},{"style":1048},[3001],{"type":999,"value":3002}," get_count",{"type":993,"tag":1027,"props":3004,"children":3005},{"style":1054},[3006],{"type":999,"value":1145},{"type":993,"tag":1027,"props":3008,"children":3009},{"class":1029,"line":91},[3010,3014,3018],{"type":993,"tag":1027,"props":3011,"children":3012},{"style":1042},[3013],{"type":999,"value":1153},{"type":993,"tag":1027,"props":3015,"children":3016},{"style":1068},[3017],{"type":999,"value":2063},{"type":993,"tag":1027,"props":3019,"children":3020},{"style":1054},[3021],{"type":999,"value":3022},".count\n",{"type":993,"tag":1027,"props":3024,"children":3025},{"class":1029,"line":100},[3026],{"type":993,"tag":1027,"props":3027,"children":3028},{"style":1054},[3029],{"type":999,"value":1128},{"type":993,"tag":1027,"props":3031,"children":3032},{"class":1029,"line":109},[3033,3037,3042],{"type":993,"tag":1027,"props":3034,"children":3035},{"style":1042},[3036],{"type":999,"value":1065},{"type":993,"tag":1027,"props":3038,"children":3039},{"style":1048},[3040],{"type":999,"value":3041}," reset",{"type":993,"tag":1027,"props":3043,"children":3044},{"style":1054},[3045],{"type":999,"value":1145},{"type":993,"tag":1027,"props":3047,"children":3048},{"class":1029,"line":118},[3049,3053,3057,3061],{"type":993,"tag":1027,"props":3050,"children":3051},{"style":1068},[3052],{"type":999,"value":1084},{"type":993,"tag":1027,"props":3054,"children":3055},{"style":1054},[3056],{"type":999,"value":2931},{"type":993,"tag":1027,"props":3058,"children":3059},{"style":1042},[3060],{"type":999,"value":1094},{"type":993,"tag":1027,"props":3062,"children":3063},{"style":1068},[3064],{"type":999,"value":2940},{"type":993,"tag":1027,"props":3066,"children":3067},{"class":1029,"line":127},[3068],{"type":993,"tag":1027,"props":3069,"children":3070},{"emptyLinePlaceholder":13},[3071],{"type":999,"value":1192},{"type":993,"tag":1027,"props":3073,"children":3074},{"class":1029,"line":136},[3075],{"type":993,"tag":1027,"props":3076,"children":3077},{"style":1033},[3078],{"type":999,"value":3079},"# Each counter maintains its own state\n",{"type":993,"tag":1027,"props":3081,"children":3082},{"class":1029,"line":146},[3083,3088,3092],{"type":993,"tag":1027,"props":3084,"children":3085},{"style":1054},[3086],{"type":999,"value":3087},"counter1 ",{"type":993,"tag":1027,"props":3089,"children":3090},{"style":1042},[3091],{"type":999,"value":1094},{"type":993,"tag":1027,"props":3093,"children":3094},{"style":1054},[3095],{"type":999,"value":3096}," Counter()\n",{"type":993,"tag":1027,"props":3098,"children":3099},{"class":1029,"line":155},[3100,3105,3109],{"type":993,"tag":1027,"props":3101,"children":3102},{"style":1054},[3103],{"type":999,"value":3104},"counter2 ",{"type":993,"tag":1027,"props":3106,"children":3107},{"style":1042},[3108],{"type":999,"value":1094},{"type":993,"tag":1027,"props":3110,"children":3111},{"style":1054},[3112],{"type":999,"value":3096},{"type":993,"tag":1027,"props":3114,"children":3115},{"class":1029,"line":164},[3116],{"type":993,"tag":1027,"props":3117,"children":3118},{"emptyLinePlaceholder":13},[3119],{"type":999,"value":1192},{"type":993,"tag":1027,"props":3121,"children":3122},{"class":1029,"line":173},[3123],{"type":993,"tag":1027,"props":3124,"children":3125},{"style":1054},[3126],{"type":999,"value":3127},"counter1.increment()\n",{"type":993,"tag":1027,"props":3129,"children":3130},{"class":1029,"line":182},[3131],{"type":993,"tag":1027,"props":3132,"children":3133},{"style":1054},[3134],{"type":999,"value":3127},{"type":993,"tag":1027,"props":3136,"children":3137},{"class":1029,"line":191},[3138],{"type":993,"tag":1027,"props":3139,"children":3140},{"style":1054},[3141],{"type":999,"value":3142},"counter2.increment()\n",{"type":993,"tag":1027,"props":3144,"children":3145},{"class":1029,"line":201},[3146],{"type":993,"tag":1027,"props":3147,"children":3148},{"emptyLinePlaceholder":13},[3149],{"type":999,"value":1192},{"type":993,"tag":1027,"props":3151,"children":3152},{"class":1029,"line":210},[3153,3157,3161,3165,3170,3174,3179,3183,3187,3192],{"type":993,"tag":1027,"props":3154,"children":3155},{"style":1068},[3156],{"type":999,"value":1245},{"type":993,"tag":1027,"props":3158,"children":3159},{"style":1054},[3160],{"type":999,"value":1262},{"type":993,"tag":1027,"props":3162,"children":3163},{"style":1042},[3164],{"type":999,"value":1267},{"type":993,"tag":1027,"props":3166,"children":3167},{"style":1161},[3168],{"type":999,"value":3169},"\"Counter 1: ",{"type":993,"tag":1027,"props":3171,"children":3172},{"style":1068},[3173],{"type":999,"value":1276},{"type":993,"tag":1027,"props":3175,"children":3176},{"style":1054},[3177],{"type":999,"value":3178},"counter1.get_count()",{"type":993,"tag":1027,"props":3180,"children":3181},{"style":1068},[3182],{"type":999,"value":1179},{"type":993,"tag":1027,"props":3184,"children":3185},{"style":1161},[3186],{"type":999,"value":1164},{"type":993,"tag":1027,"props":3188,"children":3189},{"style":1054},[3190],{"type":999,"value":3191},")  ",{"type":993,"tag":1027,"props":3193,"children":3194},{"style":1033},[3195],{"type":999,"value":3196},"# 2\n",{"type":993,"tag":1027,"props":3198,"children":3199},{"class":1029,"line":219},[3200,3204,3208,3212,3217,3221,3226,3230,3234,3238],{"type":993,"tag":1027,"props":3201,"children":3202},{"style":1068},[3203],{"type":999,"value":1245},{"type":993,"tag":1027,"props":3205,"children":3206},{"style":1054},[3207],{"type":999,"value":1262},{"type":993,"tag":1027,"props":3209,"children":3210},{"style":1042},[3211],{"type":999,"value":1267},{"type":993,"tag":1027,"props":3213,"children":3214},{"style":1161},[3215],{"type":999,"value":3216},"\"Counter 2: ",{"type":993,"tag":1027,"props":3218,"children":3219},{"style":1068},[3220],{"type":999,"value":1276},{"type":993,"tag":1027,"props":3222,"children":3223},{"style":1054},[3224],{"type":999,"value":3225},"counter2.get_count()",{"type":993,"tag":1027,"props":3227,"children":3228},{"style":1068},[3229],{"type":999,"value":1179},{"type":993,"tag":1027,"props":3231,"children":3232},{"style":1161},[3233],{"type":999,"value":1164},{"type":993,"tag":1027,"props":3235,"children":3236},{"style":1054},[3237],{"type":999,"value":3191},{"type":993,"tag":1027,"props":3239,"children":3240},{"style":1033},[3241],{"type":999,"value":3242},"# 1\n",{"type":993,"tag":1313,"props":3244,"children":3246},{"id":3245},"object-programming-best-practices",[3247],{"type":999,"value":3248},"💡 Object Programming Best Practices",{"type":993,"tag":1002,"props":3250,"children":3251},{},[3252],{"type":999,"value":3253},"Following established practices ensures your object-oriented code remains clean, maintainable, and efficient.",{"type":993,"tag":1325,"props":3255,"children":3259},{"emoji":3256,"title":3257,"type":3258},"📚","OOP Best Practices","warning",[3260,3268,3291,3299,3322,3330],{"type":993,"tag":1002,"props":3261,"children":3262},{},[3263],{"type":993,"tag":1335,"props":3264,"children":3265},{},[3266],{"type":999,"value":3267},"Class Design:",{"type":993,"tag":1341,"props":3269,"children":3270},{},[3271,3276,3281,3286],{"type":993,"tag":1345,"props":3272,"children":3273},{},[3274],{"type":999,"value":3275},"Use clear, descriptive class names",{"type":993,"tag":1345,"props":3277,"children":3278},{},[3279],{"type":999,"value":3280},"Keep classes focused on single responsibilities",{"type":993,"tag":1345,"props":3282,"children":3283},{},[3284],{"type":999,"value":3285},"Start with simple designs and add complexity gradually",{"type":993,"tag":1345,"props":3287,"children":3288},{},[3289],{"type":999,"value":3290},"Document what your classes represent",{"type":993,"tag":1002,"props":3292,"children":3293},{},[3294],{"type":993,"tag":1335,"props":3295,"children":3296},{},[3297],{"type":999,"value":3298},"Method Guidelines:",{"type":993,"tag":1341,"props":3300,"children":3301},{},[3302,3307,3312,3317],{"type":993,"tag":1345,"props":3303,"children":3304},{},[3305],{"type":999,"value":3306},"Give methods descriptive, action-oriented names",{"type":993,"tag":1345,"props":3308,"children":3309},{},[3310],{"type":999,"value":3311},"Keep methods short and focused",{"type":993,"tag":1345,"props":3313,"children":3314},{},[3315],{"type":999,"value":3316},"Use consistent naming conventions",{"type":993,"tag":1345,"props":3318,"children":3319},{},[3320],{"type":999,"value":3321},"Return meaningful values when appropriate",{"type":993,"tag":1002,"props":3323,"children":3324},{},[3325],{"type":993,"tag":1335,"props":3326,"children":3327},{},[3328],{"type":999,"value":3329},"Common Mistakes:",{"type":993,"tag":1341,"props":3331,"children":3332},{},[3333,3338,3343,3348],{"type":993,"tag":1345,"props":3334,"children":3335},{},[3336],{"type":999,"value":3337},"Creating classes for everything (over-engineering)",{"type":993,"tag":1345,"props":3339,"children":3340},{},[3341],{"type":999,"value":3342},"Making classes too complex initially",{"type":993,"tag":1345,"props":3344,"children":3345},{},[3346],{"type":999,"value":3347},"Forgetting to initialize attributes properly",{"type":993,"tag":1345,"props":3349,"children":3350},{},[3351],{"type":999,"value":3352},"Not considering how objects interact",{"type":993,"tag":1313,"props":3354,"children":3356},{"id":3355},"test-your-knowledge",[3357],{"type":999,"value":3358},"Test Your Knowledge",{"type":993,"tag":1002,"props":3360,"children":3361},{},[3362],{"type":999,"value":3363},"Test what you've learned about object programming:",{"type":993,"tag":3365,"props":3366,"children":3370},"redirect-button",{"icon":3367,"label":3368,"url":3369},"pi pi-send","Take Quiz","/tutorial-quiz/python/object-programming",[],{"type":993,"tag":1313,"props":3372,"children":3374},{"id":3373},"what-youll-learn",[3375],{"type":999,"value":3376},"📖 What You'll Learn",{"type":993,"tag":1002,"props":3378,"children":3379},{},[3380],{"type":999,"value":3381},"This section covers everything you need to master object programming in Python:",{"type":993,"tag":1341,"props":3383,"children":3384},{},[3385,3398,3410,3422,3434,3446],{"type":993,"tag":1345,"props":3386,"children":3387},{},[3388,3396],{"type":993,"tag":1335,"props":3389,"children":3390},{},[3391],{"type":993,"tag":3392,"props":3393,"children":3394},"a",{"href":681},[3395],{"type":999,"value":682},{"type":999,"value":3397}," - Learn to create blueprints and instances",{"type":993,"tag":1345,"props":3399,"children":3400},{},[3401,3408],{"type":993,"tag":1335,"props":3402,"children":3403},{},[3404],{"type":993,"tag":3392,"props":3405,"children":3406},{"href":690},[3407],{"type":999,"value":691},{"type":999,"value":3409}," - Master adding behaviors to your objects",{"type":993,"tag":1345,"props":3411,"children":3412},{},[3413,3420],{"type":993,"tag":1335,"props":3414,"children":3415},{},[3416],{"type":993,"tag":3392,"props":3417,"children":3418},{"href":699},[3419],{"type":999,"value":700},{"type":999,"value":3421}," - Build on existing classes to create specialized versions",{"type":993,"tag":1345,"props":3423,"children":3424},{},[3425,3432],{"type":993,"tag":1335,"props":3426,"children":3427},{},[3428],{"type":993,"tag":3392,"props":3429,"children":3430},{"href":708},[3431],{"type":999,"value":709},{"type":999,"value":3433}," - Customize inherited behaviors for specific needs",{"type":993,"tag":1345,"props":3435,"children":3436},{},[3437,3444],{"type":993,"tag":1335,"props":3438,"children":3439},{},[3440],{"type":993,"tag":3392,"props":3441,"children":3442},{"href":717},[3443],{"type":999,"value":718},{"type":999,"value":3445}," - Control access to object data and methods",{"type":993,"tag":1345,"props":3447,"children":3448},{},[3449,3456],{"type":993,"tag":1335,"props":3450,"children":3451},{},[3452],{"type":993,"tag":3392,"props":3453,"children":3454},{"href":726},[3455],{"type":999,"value":727},{"type":999,"value":3457}," - Implement Python's magic methods for advanced functionality",{"type":993,"tag":1002,"props":3459,"children":3460},{},[3461],{"type":999,"value":3462},"Each topic builds on the previous ones, taking you from basic object creation to advanced OOP techniques used in professional software development.",{"type":993,"tag":1325,"props":3464,"children":3467},{"emoji":3465,"title":3466,"type":1329},"🛤️","Learning Path",[3468,3479],{"type":993,"tag":1002,"props":3469,"children":3470},{},[3471,3473,3477],{"type":999,"value":3472},"Start with ",{"type":993,"tag":1335,"props":3474,"children":3475},{},[3476],{"type":999,"value":682},{"type":999,"value":3478}," to understand the fundamentals, then progress through methods, inheritance, and advanced features. Each lesson includes practical examples and exercises to reinforce your learning.",{"type":993,"tag":1002,"props":3480,"children":3481},{},[3482],{"type":999,"value":3483},"By the end of this section, you'll be able to design and implement object-oriented solutions to complex programming problems.",{"type":993,"tag":1002,"props":3485,"children":3486},{},[3487,3489,3493],{"type":999,"value":3488},"Ready to start your object programming journey? Begin with ",{"type":993,"tag":3392,"props":3490,"children":3491},{"href":681},[3492],{"type":999,"value":682},{"type":999,"value":3494}," to learn the foundation of OOP in Python.",{"type":993,"tag":3496,"props":3497,"children":3498},"style",{},[3499],{"type":999,"value":3500},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .app-dark-mode .shiki span {color: var(--shiki-app-dark-mode);background: var(--shiki-app-dark-mode-bg);font-style: var(--shiki-app-dark-mode-font-style);font-weight: var(--shiki-app-dark-mode-font-weight);text-decoration: var(--shiki-app-dark-mode-text-decoration);}html.app-dark-mode .shiki span {color: var(--shiki-app-dark-mode);background: var(--shiki-app-dark-mode-bg);font-style: var(--shiki-app-dark-mode-font-style);font-weight: var(--shiki-app-dark-mode-font-weight);text-decoration: var(--shiki-app-dark-mode-text-decoration);}",{"title":8,"searchDepth":36,"depth":36,"links":3502},[3503,3504,3508,3509,3510,3514,3515,3516],{"id":1315,"depth":27,"text":1318},{"id":1440,"depth":27,"text":1443,"children":3505},[3506,3507],{"id":684,"depth":36,"text":682},{"id":1796,"depth":36,"text":1799},{"id":2237,"depth":27,"text":2240},{"id":2352,"depth":27,"text":2355},{"id":2521,"depth":27,"text":2524,"children":3511},[3512,3513],{"id":2532,"depth":36,"text":2535},{"id":2870,"depth":36,"text":2873},{"id":3245,"depth":27,"text":3248},{"id":3355,"depth":27,"text":3358},{"id":3373,"depth":27,"text":3376},1782373746623]