title
Python Tutorial for Beginners - Learn Python by Building a Blockchain & Cryptocurrency
description
Python is extremely important and popular these days. You can use Python for web development, data science, machine learning, utility scripts or your first steps into programming. OR you use it to build your own Blockchain.
----------
Take the full course: https://acad.link/python-blockchain
Download Python: https://www.python.org/downloads/
Want to learn something totally different? Check out all other courses: https://academind.com/learn/our-courses
----------
• You can follow Max on Twitter (@maxedapps).
• And you should of course also follow @academind_real.
• You can also find us on Facebook.(https://www.facebook.com/academindchannel/)
• Or visit our Website (https://www.academind.com) and subscribe to our newsletter!
See you in the videos!
----------
Academind is your source for online education in the areas of web development, frontend web development, backend web development, programming, coding and data science! No matter if you are looking for a tutorial, a course, a crash course, an introduction, an online tutorial or any related video, we try our best to offer you the content you are looking for. Our topics include Angular, React, Vue, Html, CSS, JavaScript, TypeScript, Redux, Nuxt.js, RxJs, Bootstrap, Laravel, Node.js, Progressive Web Apps (PWA), Ionic, React Native, Regular Expressions (RegEx), Stencil, Power BI, Amazon Web Services (AWS), Firebase or other topics, make sure to have a look at this channel or at academind.com to find the learning resource of your choice!
detail
{'title': 'Python Tutorial for Beginners - Learn Python by Building a Blockchain & Cryptocurrency', 'heatmap': [{'end': 4815.805, 'start': 4574.998, 'weight': 0.814}], 'summary': "This python tutorial series covers core syntax, object-oriented programming, web server setup with flask, building a basic blockchain and cryptocurrency, showcasing python's power and versatility across major operating systems, its rich ecosystem of third-party packages and libraries, and the basics of blockchain, python programming, distributed data storage, cryptocurrency transactions, security mechanisms, and python 2.7 vs 3.x differences, emphasizing the importance of learning 3.x. it also delves into python fundamentals, data types, operations, string handling, building blockchain with python, ide setup, functions, arguments, and the core basics of python, including official documentation and pep 8, with insights into blockchain implementation.", 'chapters': [{'end': 148.518, 'segs': [{'end': 112.852, 'src': 'embed', 'start': 88.196, 'weight': 0, 'content': [{'end': 95.18, 'text': "you hear about that technology a lot, and i'd argue that most people don't really know how it works.", 'start': 88.196, 'duration': 6.984}, {'end': 97.621, 'text': "and that's another cool thing about the course.", 'start': 95.18, 'duration': 2.441}, {'end': 102.484, 'text': "whilst it is not a blockchain course, it's not about the blockchain only, it's about python.", 'start': 97.621, 'duration': 4.863}, {'end': 105.966, 'text': 'but whilst that is the case, you will learn a lot about the blockchain there.', 'start': 102.484, 'duration': 3.482}, {'end': 112.852, 'text': 'you will learn about the core concepts behind it and therefore you hopefully understand that technology a bit better too.', 'start': 106.246, 'duration': 6.606}], 'summary': 'Course focuses on python with extensive coverage of blockchain concepts.', 'duration': 24.656, 'max_score': 88.196, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY88196.jpg'}], 'start': 2.634, 'title': 'Python blockchain course', 'summary': 'Introduces a comprehensive python course covering core syntax, object-oriented programming, web server setup with flask, and building a basic blockchain and cryptocurrency, connecting popular python and blockchain topics.', 'chapters': [{'end': 148.518, 'start': 2.634, 'title': 'Python blockchain course', 'summary': 'Introduces a comprehensive python course that teaches python from scratch, covering core syntax, object-oriented programming, web server setup with flask, and building a basic blockchain and cryptocurrency, connecting popular python and blockchain topics.', 'duration': 145.884, 'highlights': ['The course teaches Python from scratch with no prerequisites required and covers core syntax, object-oriented programming, web server setup with Flask, and building a basic blockchain and cryptocurrency. The course offers a thorough introduction to Python, covering various topics such as core syntax, object-oriented programming, web server setup, and blockchain development.', 'The course project involves building a basic blockchain and a cryptocurrency, allowing students to apply their knowledge in a realistic and practical manner. Students will have the opportunity to work on a real-world project by building a basic blockchain and creating their own cryptocurrency, providing a hands-on experience.', 'The course provides an opportunity to learn about the core concepts of blockchain technology, offering a better understanding of this popular technology. While primarily a Python course, it also delves into the core concepts of blockchain technology, providing students with valuable insights into this popular topic.']}], 'duration': 145.884, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY2634.jpg', 'highlights': ['The course project involves building a basic blockchain and a cryptocurrency, allowing students to apply their knowledge in a realistic and practical manner.', 'The course teaches Python from scratch with no prerequisites required and covers core syntax, object-oriented programming, web server setup with Flask, and building a basic blockchain and cryptocurrency.', 'The course provides an opportunity to learn about the core concepts of blockchain technology, offering a better understanding of this popular technology.']}, {'end': 915.364, 'segs': [{'end': 399.602, 'src': 'embed', 'start': 378.662, 'weight': 1, 'content': [{'end': 387.791, 'text': "So if there is something you're stuck with or you're not sure, you dive into the docs and you get many examples there, many ways of learning Python,", 'start': 378.662, 'duration': 9.129}, {'end': 390.554, 'text': "in case you can't find other resources which also help you.", 'start': 387.791, 'duration': 2.763}, {'end': 395.018, 'text': 'Because as I said, there is a rich ecosystem offering many resources too.', 'start': 390.734, 'duration': 4.284}, {'end': 396.279, 'text': "So that's pretty amazing.", 'start': 395.118, 'duration': 1.161}, {'end': 399.602, 'text': "And now lastly, it's object-orientated.", 'start': 397.22, 'duration': 2.382}], 'summary': 'Python offers a rich ecosystem with abundant resources for learning, including comprehensive documentation and examples.', 'duration': 20.94, 'max_score': 378.662, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY378662.jpg'}, {'end': 667.959, 'src': 'embed', 'start': 633.765, 'weight': 0, 'content': [{'end': 637.667, 'text': 'you can now type python commands and directly execute them.', 'start': 633.765, 'duration': 3.902}, {'end': 642.528, 'text': 'later we will also store them in files so that we can execute a whole file in one go.', 'start': 637.667, 'duration': 4.861}, {'end': 647.39, 'text': 'but here we can start simple and you can, for example, simply enter two plus two and get back four.', 'start': 642.528, 'duration': 4.862}, {'end': 650.732, 'text': "Obviously, it's more than just a simple calculator though.", 'start': 648.05, 'duration': 2.682}, {'end': 654.595, 'text': "So let's build our first simple program in the next lecture.", 'start': 650.972, 'duration': 3.623}, {'end': 667.959, 'text': "So let's start building something more exciting than just a simple calculator with this REPL thing.", 'start': 662.298, 'duration': 5.661}], 'summary': 'Using the python repl, execute commands and build simple programs, such as a basic calculator, with plans to execute whole files.', 'duration': 34.194, 'max_score': 633.765, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY633765.jpg'}, {'end': 735.226, 'src': 'embed', 'start': 705.969, 'weight': 2, 'content': [{'end': 707.789, 'text': 'That is something that function will use.', 'start': 705.969, 'duration': 1.82}, {'end': 710.251, 'text': 'And the input function is defined by Python.', 'start': 708.05, 'duration': 2.201}, {'end': 713.712, 'text': "It's built in to show you the text you're entering here.", 'start': 710.471, 'duration': 3.241}, {'end': 718.114, 'text': 'Make sure to use two quotation marks and then wait for the user to enter something.', 'start': 713.912, 'duration': 4.202}, {'end': 720.576, 'text': 'So here we could say, please.', 'start': 718.555, 'duration': 2.021}, {'end': 729.902, 'text': "enter your name, colon and then a blank, and if i hit enter, you see it's outputting that text and waiting for me to input something.", 'start': 721.856, 'duration': 8.046}, {'end': 735.226, 'text': "you can tell that it's waiting by the fact that there are no free greater than signs on the left.", 'start': 729.902, 'duration': 5.324}], 'summary': "Python's built-in input function waits for user input using quotation marks.", 'duration': 29.257, 'max_score': 705.969, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY705969.jpg'}, {'end': 821.636, 'src': 'embed', 'start': 795.789, 'weight': 5, 'content': [{'end': 800.61, 'text': "Now I'll store the result of that function in another variable named file.", 'start': 795.789, 'duration': 4.821}, {'end': 803.931, 'text': 'So file equals is whatever open returns to us.', 'start': 800.95, 'duration': 2.981}, {'end': 805.912, 'text': 'And now open needs two things.', 'start': 804.451, 'duration': 1.461}, {'end': 809.153, 'text': 'It needs to know which file to open and how to open it.', 'start': 806.192, 'duration': 2.961}, {'end': 815.395, 'text': "Do you want to read? Do you want to write? So I will open a file, which I'll name name.txt.", 'start': 809.313, 'duration': 6.082}, {'end': 821.636, 'text': "and i'll set mode equal to w for right.", 'start': 816.935, 'duration': 4.701}], 'summary': "Storing function result in variable 'file', opening file 'name.txt' in write mode.", 'duration': 25.847, 'max_score': 795.789, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY795789.jpg'}], 'start': 148.898, 'title': "Python's power and versatility", 'summary': 'Introduces python as a powerful, versatile, and cross-platform programming language used for web development, data science, and building applications, with a rich ecosystem of third-party packages and libraries, applicable across major operating systems. it also highlights the versatility, power, and ease of learning python, emphasizing its popularity and extensibility, and provides step-by-step instructions for installing python and building a simple program, showcasing its interactive nature and file manipulation capabilities.', 'chapters': [{'end': 338.217, 'start': 148.898, 'title': 'Introduction to python: power, versatility, and applications', 'summary': 'Introduces python as a powerful, versatile, and cross-platform programming language used for web development, data science, and building applications, with a rich ecosystem of third-party packages and libraries, applicable across major operating systems.', 'duration': 189.319, 'highlights': ["Python offers good performance and runs on all major operating systems, including Mac, Windows, and Linux, making it versatile and applicable for various purposes. Python's cross-platform compatibility and performance make it suitable for a wide range of applications and user environments.", "Python can be used for building simple scripts, desktop applications, web development for server-side code, and data science, with the ability to add third-party packages and libraries for added functionality. Python's versatility allows for the creation of diverse applications, from simple scripts to complex web applications and data science projects, with the support of third-party packages.", "Python's rich ecosystem of third-party packages and libraries enables the easy addition of new functionalities to programs, making development more efficient and streamlined. The wide range of third-party packages and libraries enhances Python's capabilities, allowing for the seamless integration of new functionalities into programs."]}, {'end': 915.364, 'start': 338.377, 'title': 'Python: versatile, powerful, and easy to learn', 'summary': 'Highlights the versatility, power, and ease of learning python, emphasizing its popularity and extensibility, and provides step-by-step instructions for installing python and building a simple program, showcasing its interactive nature and file manipulation capabilities.', 'duration': 576.987, 'highlights': ["Python's versatility, power, and ease of use make it a great language to learn, with a clean syntax, built-in functionality, and extensive documentation.", "Python's popularity is evidenced by its increasing usage, surpassing many other languages, owing to its ease of learning, versatility, and extensibility.", 'Step-by-step instructions are provided for installing Python on Mac, Linux, and Windows, including important considerations for each operating system.', 'The chapter demonstrates the interactive nature of Python through the use of the Python console (REPL), enabling direct execution of commands and simple programs.', 'The process of obtaining user input, storing it in a file, and reading it back into Python is explained, emphasizing the use of built-in functions and concepts like variables and file manipulation.']}], 'duration': 766.466, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY148898.jpg', 'highlights': ["Python's cross-platform compatibility and performance make it suitable for a wide range of applications and user environments.", "Python's versatility allows for the creation of diverse applications, from simple scripts to complex web applications and data science projects, with the support of third-party packages.", "Python's rich ecosystem of third-party packages and libraries enables the easy addition of new functionalities to programs, making development more efficient and streamlined.", "Python's popularity is evidenced by its increasing usage, surpassing many other languages, owing to its ease of learning, versatility, and extensibility.", 'Step-by-step instructions are provided for installing Python on Mac, Linux, and Windows, including important considerations for each operating system.', 'The chapter demonstrates the interactive nature of Python through the use of the Python console (REPL), enabling direct execution of commands and simple programs.']}, {'end': 1645.456, 'segs': [{'end': 1239.862, 'src': 'embed', 'start': 1210.233, 'weight': 8, 'content': [{'end': 1212.133, 'text': 'coins are transferred with transactions.', 'start': 1210.233, 'duration': 1.9}, {'end': 1215.354, 'text': "that's all you have to from, and how much the how much.", 'start': 1212.133, 'duration': 3.221}, {'end': 1217.495, 'text': 'that is your coins, and you can name them whatever you want.', 'start': 1215.354, 'duration': 2.141}, {'end': 1224.697, 'text': "The coins normally can't be changed to other real currencies, unless you find someone, of course, who says hey,", 'start': 1217.955, 'duration': 6.742}, {'end': 1230.719, 'text': 'please send me some coins and I will give you this amount of US dollars or this amount of euros.', 'start': 1224.697, 'duration': 6.022}, {'end': 1232.26, 'text': 'This is how it works.', 'start': 1231.299, 'duration': 0.961}, {'end': 1236.641, 'text': 'The worth of the coins is really just what people think it is.', 'start': 1232.62, 'duration': 4.021}, {'end': 1239.862, 'text': 'And this is how it works for all these cryptocurrencies.', 'start': 1237.261, 'duration': 2.601}], 'summary': "Cryptocurrencies are transferred through transactions, and their worth is determined by people's perception.", 'duration': 29.629, 'max_score': 1210.233, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY1210233.jpg'}, {'end': 1390.909, 'src': 'embed', 'start': 1355.026, 'weight': 0, 'content': [{'end': 1359.11, 'text': "as i said, i'll come back to all these core concepts throughout the course.", 'start': 1355.026, 'duration': 4.084}, {'end': 1368.239, 'text': "in the end, it's a distributed, secure data storage where each block is a folder with some content, some data inside of it,", 'start': 1359.11, 'duration': 9.129}, {'end': 1374.265, 'text': "and it's a cryptocurrency if that content is a transaction, where we send coins from a to b.", 'start': 1368.239, 'duration': 6.026}, {'end': 1390.909, 'text': 'So now that we had our first look at what Python is and what the blockchain is, and that we installed Python and wrote our first program,', 'start': 1382.099, 'duration': 8.81}], 'summary': "Blockchain is a distributed, secure data storage; each block is a folder with content. it's a cryptocurrency for transactions.", 'duration': 35.883, 'max_score': 1355.026, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY1355026.jpg'}], 'start': 915.364, 'title': 'Blockchain basics and python programming', 'summary': 'Covers the basics of blockchain, python programming, distributed data storage, cryptocurrency transactions, and security mechanisms. it emphasizes python syntax, blockchain structure, and communication protocols.', 'chapters': [{'end': 1317.455, 'start': 915.364, 'title': 'Introduction to blockchain and cryptocurrencies', 'summary': 'Introduces python file handling and provides an overview of blockchain technology and cryptocurrencies, emphasizing its distributed data storage, security mechanisms, and the process of mining new blocks for cryptocurrency creation.', 'duration': 402.091, 'highlights': ['The blockchain technology is a distributed data storage that uses a chain of interconnected blocks, which can store various types of data, including transactions and other information.', "The security mechanism of blockchain involves hashing each block's data and storing the hash in the next block, making it difficult to manipulate data across multiple machines.", 'Cryptocurrencies use blockchain technology to store transaction data, ensuring its security through the distributed nature of the blockchain and the mining process for adding new blocks.', 'Mining is the process of adding new blocks to the blockchain by solving complex algorithms, and miners are rewarded with new coins for their efforts.', 'A wallet in the context of blockchain is essentially a node that enables users to send and receive coins through transactions, serving as a means of identification and transaction facilitation.']}, {'end': 1645.456, 'start': 1317.455, 'title': 'Blockchain basics and python programming', 'summary': 'Introduces the basics of blockchain and python programming, covering concepts such as distributed data storage, cryptocurrency transactions, and the step-by-step course content on python syntax, blockchain structure, security mechanisms, and communication protocols.', 'duration': 328.001, 'highlights': ['The course covers Python syntax and blockchain structure, including the development of a simple chain and list of coins, verification of blocks, and working with complex data structures and built-in functions. Python syntax, blockchain structure, simple chain development, verification of blocks, complex data structures, built-in functions', 'The course delves into security mechanisms such as creating real hashes, proof of work, and error handling to make the blockchain more robust and secure. Security mechanisms, real hashes, proof of work, error handling', "The course explores object-oriented programming with classes and the addition of a wallet for identification data, enhancing the blockchain's functionality. Object-oriented programming, wallet addition, blockchain functionality enhancement", 'The course covers communication protocols, including handling HTTP requests with Python, implementing a web UI for the blockchain, and simulating multiple nodes for communication between servers. Communication protocols, handling HTTP requests, web UI implementation, simulation of multiple nodes']}], 'duration': 730.092, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY915364.jpg', 'highlights': ['The blockchain technology is a distributed data storage that uses a chain of interconnected blocks, which can store various types of data, including transactions and other information.', 'Cryptocurrencies use blockchain technology to store transaction data, ensuring its security through the distributed nature of the blockchain and the mining process for adding new blocks.', 'Mining is the process of adding new blocks to the blockchain by solving complex algorithms, and miners are rewarded with new coins for their efforts.', "The security mechanism of blockchain involves hashing each block's data and storing the hash in the next block, making it difficult to manipulate data across multiple machines.", 'A wallet in the context of blockchain is essentially a node that enables users to send and receive coins through transactions, serving as a means of identification and transaction facilitation.', 'The course covers Python syntax and blockchain structure, including the development of a simple chain and list of coins, verification of blocks, and working with complex data structures and built-in functions.', "The course explores object-oriented programming with classes and the addition of a wallet for identification data, enhancing the blockchain's functionality.", 'The course delves into security mechanisms such as creating real hashes, proof of work, and error handling to make the blockchain more robust and secure.', 'The course covers communication protocols, including handling HTTP requests with Python, implementing a web UI for the blockchain, and simulating multiple nodes for communication between servers.']}, {'end': 2222.335, 'segs': [{'end': 2103.796, 'src': 'embed', 'start': 2075.235, 'weight': 0, 'content': [{'end': 2079.657, 'text': "If I'm going too fast, you can use the controls in Udemy Player to slow me down.", 'start': 2075.235, 'duration': 4.422}, {'end': 2082.237, 'text': "If I'm going too slow, you can use them to speed me up.", 'start': 2079.677, 'duration': 2.56}, {'end': 2084.438, 'text': 'Also, pause regularly.', 'start': 2082.978, 'duration': 1.46}, {'end': 2092.565, 'text': "If you're coding along, which I strongly recommend, you might need to pause the video so you can catch up with me.", 'start': 2085.08, 'duration': 7.485}, {'end': 2098.772, 'text': "Because if I take too long breaks, everyone who's not coding along will have a hard time and will get bored.", 'start': 2093.087, 'duration': 5.685}, {'end': 2100.793, 'text': "So I'm trying to find the right balance.", 'start': 2099.052, 'duration': 1.741}, {'end': 2103.796, 'text': "And therefore it's important that you adjust the speed,", 'start': 2101.254, 'duration': 2.542}], 'summary': 'In the udemy course, adjust speed for coding along to avoid boredom and find right balance.', 'duration': 28.561, 'max_score': 2075.235, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY2075235.jpg'}, {'end': 2148.085, 'src': 'embed', 'start': 2118.886, 'weight': 2, 'content': [{'end': 2121.147, 'text': 'Do the exercises I offer in this course.', 'start': 2118.886, 'duration': 2.261}, {'end': 2127.411, 'text': 'They are great for checking whether you really understood a certain concept, the things taught in a certain module.', 'start': 2121.307, 'duration': 6.104}, {'end': 2130.915, 'text': 'and of course use the course resources.', 'start': 2128.533, 'duration': 2.382}, {'end': 2139.14, 'text': 'So all the source code I show is attached to this course and not just one code attachment per module,', 'start': 2131.175, 'duration': 7.965}, {'end': 2142.542, 'text': 'but most of the time I have multiple snapshots per module.', 'start': 2139.14, 'duration': 3.402}, {'end': 2148.085, 'text': "You'll find them attached to the last lecture of each module and download and compare them to your code.", 'start': 2142.922, 'duration': 5.163}], 'summary': 'Course offers exercises to check understanding, multiple snapshots per module.', 'duration': 29.199, 'max_score': 2118.886, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY2118886.jpg'}], 'start': 1645.976, 'title': 'Python language overview and future prospects', 'summary': "Provides an overview of python's versatility, ease of use, and applications in data science, desktop apps, utility scripts, and web apps, as compared to other languages. it also discusses the differences between python 2.7 and 3.x, highlighting the importance of learning 3.x due to its active development and future prospects, with python 2.7 to be supported until 2020.", 'chapters': [{'end': 1900.713, 'start': 1645.976, 'title': 'Python versatility & usage', 'summary': 'Covers the basics and advantages of python, including its versatility, ease of use, and applications in data science, desktop apps, utility scripts, and web apps, compared to other languages like c++ and java.', 'duration': 254.737, 'highlights': ["Python's versatility and applications in data science, desktop apps, utility scripts, and web apps compared to other languages like C++ and Java. Python is versatile and can be used for data science, desktop apps, utility scripts, and web apps, making it a strong choice for various applications, unlike languages like C++ and Java which have specific use cases.", 'Comparison of Python with languages like C++ and Java in terms of complexity and use cases. Python is easier to use than C++ and Java, which are more complex and have specific use cases like desktop apps and games.', 'Advantages and limitations of Python compared to languages like JavaScript, Swift, and Objective-C. Python is versatile but cannot be used for building mobile apps or running in a browser, unlike languages like JavaScript, Swift, and Objective-C which have specific use cases for building mobile apps, websites, and web apps.']}, {'end': 2222.335, 'start': 1908.399, 'title': 'Python versions and future', 'summary': 'Discusses the differences between python 2.7 and 3.x, emphasizing that 3.x is the future of python, with python 2.7 to be supported until 2020, and highlights the importance of learning 3.x due to its active development and future prospects, while also providing guidance on maximizing the learning experience through video controls, coding along, exercises, course resources, and q&a participation.', 'duration': 313.936, 'highlights': ['Python 3.x is the future of Python, with active development and new features, while Python 2.7 will be supported until 2020. Python 3.x is emphasized as the future of Python and is currently under active development, contrasting it with the limited support for Python 2.7 until 2020.', 'Learning Python 3.x is recommended as it will make it easy to learn Python 2.7, and it is the version used in the course. The recommendation to learn Python 3.x is based on its potential to facilitate the learning of Python 2.7 and its relevance to the course content.', 'Guidance on maximizing the learning experience through video controls, coding along, exercises, course resources, and Q&A participation is provided. The importance of utilizing video controls, coding along, exercises, course resources, and Q&A participation for an enriched learning experience is highlighted.']}], 'duration': 576.359, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY1645976.jpg', 'highlights': ["Python's versatility and applications in data science, desktop apps, utility scripts, and web apps compared to other languages like C++ and Java.", 'Python 3.x is the future of Python, with active development and new features, while Python 2.7 will be supported until 2020.', 'Learning Python 3.x is recommended as it will make it easy to learn Python 2.7, and it is the version used in the course.']}, {'end': 3014.882, 'segs': [{'end': 2276.222, 'src': 'embed', 'start': 2246.647, 'weight': 0, 'content': [{'end': 2252.61, 'text': "And a nice side effect, you'll also have a very solid understanding of what the blockchain actually is and how it works.", 'start': 2246.647, 'duration': 5.963}, {'end': 2258.253, 'text': "So with that, let's finally dive into the next module and start with the base syntax of Python.", 'start': 2252.99, 'duration': 5.263}, {'end': 2268.274, 'text': "So let's start diving deeper into Python.", 'start': 2265.751, 'duration': 2.523}, {'end': 2276.222, 'text': 'Now that we played around with it a bit in the command line and that we learned the basics about what a blockchain actually is,', 'start': 2268.774, 'duration': 7.448}], 'summary': 'Introduction to blockchain and python syntax is covered in the module.', 'duration': 29.575, 'max_score': 2246.647, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY2246647.jpg'}, {'end': 2356.633, 'src': 'embed', 'start': 2326.892, 'weight': 2, 'content': [{'end': 2331.836, 'text': "we'll understand what operators are and which operators exist and how we can use them.", 'start': 2326.892, 'duration': 4.944}, {'end': 2342.523, 'text': 'Now we will build a blockchain in this course and, as the name suggests, a blockchain includes the chain part, so multiple pieces of something.', 'start': 2332.819, 'duration': 9.704}, {'end': 2347.906, 'text': "Therefore, in this module, we'll also explore what lists are and how we work with lists in Python.", 'start': 2343.224, 'duration': 4.682}, {'end': 2356.633, 'text': 'And to round up this module and write a program that is a little bit more useful than what we had thus far.', 'start': 2348.906, 'duration': 7.727}], 'summary': 'Learn about operators, build a blockchain, explore lists in python, and create a useful program.', 'duration': 29.741, 'max_score': 2326.892, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY2326892.jpg'}, {'end': 2562.248, 'src': 'embed', 'start': 2540.513, 'weight': 4, 'content': [{'end': 2549.979, 'text': 'Numbers are divided up in integers, which is basically a number without a decimal place, and floats, which is a number with a decimal place.', 'start': 2540.513, 'duration': 9.466}, {'end': 2554.182, 'text': 'And we have both negative and positive values for numbers.', 'start': 2550.84, 'duration': 3.342}, {'end': 2562.248, 'text': "We obviously work with numbers a lot in most programs, be that your accounting software you're creating, where users might enter their data,", 'start': 2554.603, 'duration': 7.645}], 'summary': 'Transcript explains the concepts of integers and floats, and the importance of numbers in programming.', 'duration': 21.735, 'max_score': 2540.513, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY2540513.jpg'}, {'end': 2690.156, 'src': 'embed', 'start': 2659.454, 'weight': 6, 'content': [{'end': 2665.931, 'text': "Now with that, let's see what exactly numbers are and how we can use them in a typical Python program.", 'start': 2659.454, 'duration': 6.477}, {'end': 2682.132, 'text': "Now to work with numbers, I'm back in the REPL or right now, to be precise, only in the terminal or command prompt of my machine.", 'start': 2673.328, 'duration': 8.804}, {'end': 2690.156, 'text': 'We enter the Python REPL by typing Python, assuming that Python was installed, which we did in the first course module.', 'start': 2682.732, 'duration': 7.424}], 'summary': 'Introduction to using numbers in python repl for programming.', 'duration': 30.702, 'max_score': 2659.454, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY2659454.jpg'}, {'end': 2977.445, 'src': 'embed', 'start': 2945.36, 'weight': 1, 'content': [{'end': 2947.481, 'text': 'Numbers, where we have integers and floats.', 'start': 2945.36, 'duration': 2.121}, {'end': 2949.841, 'text': 'Booleans, where we have true and false.', 'start': 2948.041, 'duration': 1.8}, {'end': 2955.764, 'text': 'And strings, which are just text enclosed by double or single quotation marks.', 'start': 2950.502, 'duration': 5.262}, {'end': 2970.957, 'text': 'Now that we had a first look at the important data types and how we use them, with the very important concept of variables,', 'start': 2963.126, 'duration': 7.831}, {'end': 2977.445, 'text': "let's have a brief look at what exactly can be done with numbers or some important information you should have on them.", 'start': 2970.957, 'duration': 6.488}], 'summary': 'Introduction to data types: integers, floats, booleans, and strings, and variables.', 'duration': 32.085, 'max_score': 2945.36, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY2945360.jpg'}], 'start': 2222.655, 'title': 'Python fundamentals and data types', 'summary': 'Covers learning python fundamentals, building a basic blockchain, and the basics of python data types and variables, emphasizing working with python variables, operators, lists, functions, and the use of the repl for interactive work, with an emphasis on understanding the blockchain and python data types (numbers, strings, booleans).', 'chapters': [{'end': 2397.591, 'start': 2222.655, 'title': 'Python fundamentals and blockchain basics', 'summary': 'Covers learning python fundamentals, core concepts, and building a basic blockchain, with an emphasis on understanding the blockchain and working with python variables, operators, lists, and functions.', 'duration': 174.936, 'highlights': ['The chapter emphasizes learning Python fundamentals and core concepts to gain a solid understanding of the language and how to write Python programs.', 'The section also focuses on understanding the blockchain, managing a list of blocks, and working with coins to mine data and output the blockchain.', 'The module covers working with Python variables, data types, and operators, as well as exploring lists and functions as key language constructs.']}, {'end': 3014.882, 'start': 2404.946, 'title': 'Python basics: data types & variables', 'summary': 'Covers the basics of python data types and variables, including the use of the repl for interactive work, the types of data in python (numbers, strings, booleans), and the concept of variables for dynamic calculations and manipulation.', 'duration': 609.936, 'highlights': ['The chapter covers the basics of Python data types and variables The chapter discusses the fundamental concepts of Python data types and variables, providing a foundation for understanding and working with data in Python.', 'The use of the REPL for interactive work The REPL (Read, Eval, Print, Loop) is explained as an interactive shell for issuing commands and working with Python, providing a practical way for simple calculations and practice.', 'The types of data in Python (numbers, strings, booleans) The types of data in Python are elaborated, including numbers (integers, floats), strings, and booleans, with examples and their significance in programming and application in various programs.', 'The concept of variables for dynamic calculations and manipulation The concept of variables as data containers for storing and manipulating values, enabling dynamic calculations and modifications, is explained with practical examples and its significance in programming.']}], 'duration': 792.227, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY2222655.jpg', 'highlights': ['The chapter emphasizes learning Python fundamentals and core concepts to gain a solid understanding of the language and how to write Python programs.', 'The section also focuses on understanding the blockchain, managing a list of blocks, and working with coins to mine data and output the blockchain.', 'The module covers working with Python variables, data types, and operators, as well as exploring lists and functions as key language constructs.', 'The chapter covers the basics of Python data types and variables, providing a foundation for understanding and working with data in Python.', 'The REPL (Read, Eval, Print, Loop) is explained as an interactive shell for issuing commands and working with Python, providing a practical way for simple calculations and practice.', 'The types of data in Python are elaborated, including numbers (integers, floats), strings, and booleans, with examples and their significance in programming and application in various programs.', 'The concept of variables as data containers for storing and manipulating values, enabling dynamic calculations and modifications, is explained with practical examples and its significance in programming.']}, {'end': 3725.676, 'segs': [{'end': 3397.158, 'src': 'embed', 'start': 3369.512, 'weight': 3, 'content': [{'end': 3376.955, 'text': 'Now, if you want to have the other behavior, though, if you want to get an integer as a result, you can use the double slashes.', 'start': 3369.512, 'duration': 7.443}, {'end': 3385.319, 'text': 'That is the floor division operator here for the same operation with the double slash operator.', 'start': 3377.575, 'duration': 7.744}, {'end': 3390.941, 'text': 'We get zero as a result because it automatically cuts off the decimal place.', 'start': 3385.639, 'duration': 5.302}, {'end': 3397.158, 'text': 'We also got two asterisks, which would be the power operator.', 'start': 3392.355, 'duration': 4.803}], 'summary': 'Using double slashes yields integer result, floor division, zero decimal place, and power operator with two asterisks.', 'duration': 27.646, 'max_score': 3369.512, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY3369512.jpg'}, {'end': 3450.658, 'src': 'embed', 'start': 3419.335, 'weight': 0, 'content': [{'end': 3424.599, 'text': "10 doesn't fit into 5 one single time, so the remainder is 5 and that would be the result.", 'start': 3419.335, 'duration': 5.264}, {'end': 3431.785, 'text': 'Now one important note about these operators, the plus operator also works with strings as you already saw.', 'start': 3425.26, 'duration': 6.525}, {'end': 3433.866, 'text': 'You can concatenate two strings.', 'start': 3432.025, 'duration': 1.841}, {'end': 3442.332, 'text': 'and the multiplication operator also kind of works with strings, but only if used correctly.', 'start': 3435.087, 'duration': 7.245}, {'end': 3444.053, 'text': 'Let me show you what this means.', 'start': 3442.772, 'duration': 1.281}, {'end': 3450.658, 'text': 'If we got a string like hello and another string like world, if we add the plus,', 'start': 3444.734, 'duration': 5.924}], 'summary': 'Using operators with strings and numbers, including remainder calculation.', 'duration': 31.323, 'max_score': 3419.335, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY3419335.jpg'}], 'start': 3015.922, 'title': 'Python data types and operations', 'summary': 'Covers python data type conversion, including strings to integers and floats, conventions for true, false, and negative numbers, as well as python numbers, operators, challenges of floating point numbers, and limitations in precision.', 'chapters': [{'end': 3228.633, 'start': 3015.922, 'title': 'Data type conversion in python', 'summary': 'Discusses the conversion of data types in python, including converting strings to integers and floats using the int and float functions, with examples and conventions for conversions of true, false, and negative numbers.', 'duration': 212.711, 'highlights': ["The int function can convert a string to an integer, allowing arithmetic operations with numbers, illustrated by converting the string '29' to the integer 29, resolving the concatenation issue and producing the correct result of 30.", "The float function can convert a string to a floating-point number, enabling arithmetic operations with decimal numbers, demonstrated by converting the string '29' to the float 29.0, and showcasing conversions of true and false to 1.0 and 0.0 respectively.", 'Converting a float using the int function results in the decimal being truncated, and true and false are converted to 1 and 0 respectively, showcasing the conventions for these conversions.', "The limitations of memory and operating systems are highlighted, emphasizing the constraints on the size and range of numbers that can be stored, along with the float function's ability to convert other data types to floating-point numbers."]}, {'end': 3725.676, 'start': 3228.633, 'title': 'Python numbers and operators', 'summary': 'Covers the basics of python numbers and operators, including integer and float data types, using underscores to improve readability for long numbers, and the behavior of various arithmetic and string operators. it also addresses the challenges of floating point numbers in computer systems and the resulting limitations in precision.', 'duration': 497.043, 'highlights': ['The chapter covers the basics of Python numbers and operators, including integer and float data types, using underscores to improve readability for long numbers, and the behavior of various arithmetic and string operators.', 'The importance of using underscores for improving the readability of long numbers is highlighted, with an example of storing a large number (1 million) and using underscores for easier readability.', 'Explanation of basic arithmetic operators such as addition, subtraction, multiplication, division, and their behaviors with integers and floats, including the floor division and power operators, is provided.', 'The challenges of floating point numbers in computer systems and the resulting limitations in precision are discussed in detail, with examples and explanations of the issues arising from decimal places and binary fractions.']}], 'duration': 709.754, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY3015922.jpg', 'highlights': ["The int function can convert a string to an integer, allowing arithmetic operations with numbers, illustrated by converting the string '29' to the integer 29, resolving the concatenation issue and producing the correct result of 30.", "The float function can convert a string to a floating-point number, enabling arithmetic operations with decimal numbers, demonstrated by converting the string '29' to the float 29.0, and showcasing conversions of true and false to 1.0 and 0.0 respectively.", 'The chapter covers the basics of Python numbers and operators, including integer and float data types, using underscores to improve readability for long numbers, and the behavior of various arithmetic and string operators.', 'Converting a float using the int function results in the decimal being truncated, and true and false are converted to 1 and 0 respectively, showcasing the conventions for these conversions.', "The limitations of memory and operating systems are highlighted, emphasizing the constraints on the size and range of numbers that can be stored, along with the float function's ability to convert other data types to floating-point numbers."]}, {'end': 4498.275, 'segs': [{'end': 3855.996, 'src': 'embed', 'start': 3821.57, 'weight': 6, 'content': [{'end': 3824.412, 'text': 'But that are your options, double or single quotation marks.', 'start': 3821.57, 'duration': 2.842}, {'end': 3829.556, 'text': 'Now, if you got a longer text, you also sometimes want to have multi-line text.', 'start': 3824.792, 'duration': 4.764}, {'end': 3834.719, 'text': 'And you can create multi-line strings by using three double quotation marks, opening and closing.', 'start': 3829.576, 'duration': 5.143}, {'end': 3841.865, 'text': 'And in between, you can add your text, which can also span multiple lines, as you can see here.', 'start': 3835.18, 'duration': 6.685}, {'end': 3846.949, 'text': "If I don't close it but just open it, you can add your text.", 'start': 3842.445, 'duration': 4.504}, {'end': 3855.996, 'text': "then you can continue typing on the next line, which can span multiple lines, and close it with three double quotation marks once you're done.", 'start': 3846.949, 'duration': 9.047}], 'summary': 'Options for creating multi-line strings using three double quotation marks.', 'duration': 34.426, 'max_score': 3821.57, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY3821570.jpg'}, {'end': 4400.623, 'src': 'embed', 'start': 4318.132, 'weight': 0, 'content': [{'end': 4322.474, 'text': 'And then it manipulates the original list and removes the element from there.', 'start': 4318.132, 'duration': 4.342}, {'end': 4328.455, 'text': "So that's a first glimpse at functions, something we'll dive also in in the next lectures.", 'start': 4323.652, 'duration': 4.803}, {'end': 4333.778, 'text': 'And this is how we can in general work with the list and how we can start building our blockchain.', 'start': 4328.935, 'duration': 4.843}, {'end': 4340.081, 'text': 'And actually whilst this blockchain is very simple, this is how we will work with it throughout the course.', 'start': 4334.278, 'duration': 5.803}, {'end': 4347.806, 'text': "We'll manage our blockchain in a list and later the things will change is of course how we work with it, how we manipulate it.", 'start': 4340.662, 'duration': 7.144}, {'end': 4353.328, 'text': "how we verify it and check if it's valid, the type of data we store.", 'start': 4348.406, 'duration': 4.922}, {'end': 4360.971, 'text': "it'll be more complex and, of course, we'll also learn how we store it in a file so that it's not lost if we restart the program.", 'start': 4353.328, 'duration': 7.643}, {'end': 4364.093, 'text': 'Because right now, if I quit here and I..', 'start': 4361.632, 'duration': 2.461}, {'end': 4369.17, 'text': 'Go back into my rappel mode.', 'start': 4367.267, 'duration': 1.903}, {'end': 4371.312, 'text': 'The blockchain is gone.', 'start': 4369.87, 'duration': 1.442}, {'end': 4378.582, 'text': 'This variable does not exist anymore because it basically resets the old state whenever we restart this.', 'start': 4371.793, 'duration': 6.789}, {'end': 4382.968, 'text': "So that's all something we'll fix throughout the course once we can store that in files.", 'start': 4379.003, 'duration': 3.965}, {'end': 4393.741, 'text': 'So we got the very basics about Python out of the way.', 'start': 4390.68, 'duration': 3.061}, {'end': 4397.422, 'text': 'We learned about the core data types and how we store them in variables.', 'start': 4393.961, 'duration': 3.461}, {'end': 4400.623, 'text': 'However, thus far, we did everything in the REPL.', 'start': 4397.882, 'duration': 2.741}], 'summary': 'Introduction to working with lists and blockchain basics in python.', 'duration': 82.491, 'max_score': 4318.132, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY4318132.jpg'}, {'end': 4478.823, 'src': 'embed', 'start': 4427.105, 'weight': 2, 'content': [{'end': 4433.508, 'text': 'And for the first block it might be one value, but the important part is for the other blocks in the blockchain,', 'start': 4427.105, 'duration': 6.403}, {'end': 4447.356, 'text': 'each nested list will actually always contain the previous values to kind of simulate that part which I mentioned earlier in the course where each block knows about its previous block by its hash.', 'start': 4433.508, 'duration': 13.848}, {'end': 4451.338, 'text': "Now we won't hash it here because that requires some knowledge we don't have yet.", 'start': 4447.856, 'duration': 3.482}, {'end': 4460.52, 'text': "but we'll kind of fake it by ensuring that every block is just a nested list which contains the previous values as well as the new value.", 'start': 4451.938, 'duration': 8.582}, {'end': 4469.981, 'text': "So it's basically like that game where you're packing your bags for leaving and you name one word like toothbrush,", 'start': 4460.9, 'duration': 9.081}, {'end': 4475.222, 'text': 'and your partner then has to name your word toothbrush as well as a new word towel.', 'start': 4469.981, 'duration': 5.241}, {'end': 4478.823, 'text': "and then you say toothbrush, towel and, let's say, a comb.", 'start': 4475.222, 'duration': 3.601}], 'summary': 'Blockchain uses nested lists to link each block to its previous values, simulating its knowledge of the previous block by its hash.', 'duration': 51.718, 'max_score': 4427.105, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY4427105.jpg'}], 'start': 3725.796, 'title': 'Python data types & string handling and building blockchain with python', 'summary': 'Covers inherent floating point precision issue in python, working with strings, including single and double quotation marks, multi-line strings, and escape characters, and building a blockchain in python using lists to store data, accessing elements by index, modifying the list using append and pop methods, and the concept of nested lists to simulate blockchains, all while preparing to transition from a repl to a local ide.', 'chapters': [{'end': 3895.101, 'start': 3725.796, 'title': 'Python data types & string handling', 'summary': 'Covers the inherent floating point precision issue in computers affecting python, and also delves into working with strings, including single and double quotation marks, multi-line strings, and escape characters.', 'duration': 169.305, 'highlights': ['Working with strings: Explains the usage of single and double quotation marks, including the ability to use single quotation marks within double quotation marks, and the use of escape characters to include single quotation marks in a string.', 'Multi-line strings: Describes the creation of multi-line strings using three double quotation marks, allowing for the inclusion of text spanning multiple lines and the use of backslash n for line breaks.', "Floating point precision issue: Mentions the issue of missing floating point precision inherent to computers, affecting Python's values.", 'Escape characters: Touches upon the use of escape characters in strings, such as adding a backslash in front of a character to include it in the string, and mentions a deeper dive into escape characters later in the course.']}, {'end': 4498.275, 'start': 3895.602, 'title': 'Building blockchain with python', 'summary': 'Explains how to build a blockchain in python using lists to store data, accessing elements by index, modifying the list using append and pop methods, and the concept of nested lists to simulate blockchains, all while preparing to transition from a repl to a local ide.', 'duration': 602.673, 'highlights': ['Explaining how to build a blockchain in Python using lists to store data The chapter discusses the process of building a blockchain in Python, emphasizing the use of lists to store data for each block.', 'Accessing elements by index and modifying the list using append and pop methods The chapter details how to access elements in a list by index and modify the list using the append and pop methods.', 'Introducing the concept of nested lists to simulate blockchains The concept of using nested lists to simulate blockchains is introduced, highlighting the method of storing old data along with new data in each block.', 'Transitioning from a REPL to a local IDE to continue building the blockchain The chapter mentions the transition from a REPL to a local IDE to continue the development of the blockchain, indicating a shift towards more complex functionalities and data storage.']}], 'duration': 772.479, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY3725796.jpg', 'highlights': ['Explaining how to build a blockchain in Python using lists to store data', 'Accessing elements by index and modifying the list using append and pop methods', 'Introducing the concept of nested lists to simulate blockchains', 'Transitioning from a REPL to a local IDE to continue building the blockchain', 'Working with strings: Explains the usage of single and double quotation marks, including the ability to use single quotation marks within double quotation marks, and the use of escape characters to include single quotation marks in a string', 'Multi-line strings: Describes the creation of multi-line strings using three double quotation marks, allowing for the inclusion of text spanning multiple lines and the use of backslash n for line breaks', "Floating point precision issue: Mentions the issue of missing floating point precision inherent to computers, affecting Python's values", 'Escape characters: Touches upon the use of escape characters in strings, such as adding a backslash in front of a character to include it in the string, and mentions a deeper dive into escape characters later in the course']}, {'end': 5802.05, 'segs': [{'end': 4548.656, 'src': 'embed', 'start': 4499.236, 'weight': 0, 'content': [{'end': 4501.998, 'text': "Now, as I said, we won't do this in the REPL though.", 'start': 4499.236, 'duration': 2.762}, {'end': 4508.842, 'text': "We'll use a local IDE and a more elaborate setup, which you typically use for any bigger project you build.", 'start': 4502.258, 'duration': 6.584}, {'end': 4525.465, 'text': "To work locally, we'll work with text files and we want to write code in these text files, which is easy for us to write and to understand.", 'start': 4516.482, 'duration': 8.983}, {'end': 4534.749, 'text': "And for this, we'll use an IDE, an integrated development environment, which is a tool, basically a text editor with a lot of additional features.", 'start': 4525.746, 'duration': 9.003}, {'end': 4542.993, 'text': "which make writing code more fun and easier, because we'll get suggestions, errors will be shown to us automatically,", 'start': 4535.229, 'duration': 7.764}, {'end': 4546.034, 'text': 'we get different colors for keywords and so on.', 'start': 4542.993, 'duration': 3.041}, {'end': 4548.656, 'text': "It's more fun to write code with an IDE.", 'start': 4546.555, 'duration': 2.101}], 'summary': 'Using a local ide with additional features makes coding more efficient and enjoyable.', 'duration': 49.42, 'max_score': 4499.236, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY4499236.jpg'}, {'end': 4815.805, 'src': 'heatmap', 'start': 4574.998, 'weight': 0.814, 'content': [{'end': 4581.24, 'text': "It's called PyCharm and you can simply Google for it and click on that link you should find there.", 'start': 4574.998, 'duration': 6.242}, {'end': 4586.502, 'text': 'And whilst there is a paid version of PyCharm, there also is a free version of it.', 'start': 4581.66, 'duration': 4.842}, {'end': 4591.248, 'text': 'You simply have to scroll down a bit and then pick that PyCharm Community Edition.', 'start': 4587.222, 'duration': 4.026}, {'end': 4594.012, 'text': 'You can download that for free and use it for free.', 'start': 4591.268, 'duration': 2.744}, {'end': 4600.241, 'text': 'And this is a different IDE, also bringing the advantages like color coding and so on, which you can also try out.', 'start': 4594.352, 'duration': 5.889}, {'end': 4602.604, 'text': "However, I'll go with Visual Studio Code.", 'start': 4600.561, 'duration': 2.043}, {'end': 4611.728, 'text': 'Once you installed Visual Studio Code, you can open a folder which you should simply create in your Mac Finder or Windows Explorer,', 'start': 4603.505, 'duration': 8.223}, {'end': 4613.449, 'text': 'where you will store your project.', 'start': 4611.728, 'duration': 1.721}, {'end': 4615.11, 'text': 'So this blockchain project.', 'start': 4613.689, 'duration': 1.421}, {'end': 4618.051, 'text': 'Simply create a new folder somewhere on your machine for that.', 'start': 4615.17, 'duration': 2.881}, {'end': 4619.311, 'text': 'An empty folder.', 'start': 4618.591, 'duration': 0.72}, {'end': 4623.713, 'text': 'Then you pick open folder and simply navigate to that folder.', 'start': 4620.132, 'duration': 3.581}, {'end': 4627.515, 'text': "Here I selected my Python blockchain folder and I'll click open.", 'start': 4623.853, 'duration': 3.662}, {'end': 4630.536, 'text': 'And now this opens the folder in the IDE.', 'start': 4628.035, 'duration': 2.501}, {'end': 4634.407, 'text': 'Let me hide this here.', 'start': 4633.246, 'duration': 1.161}, {'end': 4642.212, 'text': 'And now if your installation looks a bit differently, I simply enter presentation mode here and remove the toolbar at the bottom, for example.', 'start': 4634.967, 'duration': 7.245}, {'end': 4646.175, 'text': 'And what I also did is I switched the theme to dark.', 'start': 4642.853, 'duration': 3.322}, {'end': 4651.859, 'text': 'You can do that from the menu by clicking on preferences, color theme.', 'start': 4646.615, 'duration': 5.244}, {'end': 4659.104, 'text': 'There you have the choice of different built-in themes and I simply choose dark plus this default dark theme.', 'start': 4652.54, 'duration': 6.564}, {'end': 4669.152, 'text': 'this is my setup here now, to work with python, we also want to install some extensions that make that a bit easier.', 'start': 4660.265, 'duration': 8.887}, {'end': 4676.037, 'text': "for this, you can simply go to view and then extensions, or, if you didn't remove that sidebar,", 'start': 4669.152, 'duration': 6.885}, {'end': 4679.039, 'text': "you'll also have an extension buttons here on the left.", 'start': 4676.037, 'duration': 3.002}, {'end': 4684.083, 'text': 'but view extensions will always work, and in there you can search for python.', 'start': 4679.039, 'duration': 5.044}, {'end': 4692.016, 'text': 'Now I already installed it, but this first Python package here is the one I recommend installing.', 'start': 4685.205, 'duration': 6.811}, {'end': 4695.641, 'text': "As I said, I have it installed, but you'll have an install button here.", 'start': 4692.436, 'duration': 3.205}, {'end': 4700.028, 'text': 'Simply click it and restart the IDE when prompted to do so.', 'start': 4695.882, 'duration': 4.146}, {'end': 4707.652, 'text': "Now, additionally in this course and this is totally optional I'll use the material icon theme here,", 'start': 4701.089, 'duration': 6.563}, {'end': 4711.054, 'text': 'which simply changes the file icons which will be displayed in this project.', 'start': 4707.652, 'duration': 3.402}, {'end': 4714.535, 'text': 'You can also install that, but again, this is purely optional.', 'start': 4711.394, 'duration': 3.141}, {'end': 4717.737, 'text': 'The Python extension is one you should install though.', 'start': 4714.755, 'duration': 2.982}, {'end': 4720.998, 'text': 'Thereafter, you can go back to view explorer.', 'start': 4718.297, 'duration': 2.701}, {'end': 4728.302, 'text': 'Now in here, you can create a new file by clicking this new file button or a new folder with that button or with command N.', 'start': 4721.959, 'duration': 6.343}, {'end': 4731.783, 'text': "And here I'll add my blockchain file.", 'start': 4728.982, 'duration': 2.801}, {'end': 4736.845, 'text': "The important part is since we're working with Python, it has to end with .py.", 'start': 4732.123, 'duration': 4.722}, {'end': 4739.106, 'text': 'This turns it into a Python file.', 'start': 4737.365, 'duration': 1.741}, {'end': 4742.527, 'text': 'Now let me quickly switch to my other icon theme.', 'start': 4739.746, 'duration': 2.781}, {'end': 4744.937, 'text': 'Yeah, I prefer that.', 'start': 4743.737, 'duration': 1.2}, {'end': 4752, 'text': "So this is my blockchain Python file, and this is the file with which I'll work for the next lectures.", 'start': 4745.778, 'duration': 6.222}, {'end': 4759.903, 'text': 'Now, obviously you might be wondering, how do we execute that file now? And the answer is from within your terminal.', 'start': 4752.6, 'duration': 7.303}, {'end': 4768.403, 'text': 'In Visual Studio Code, you can also go to view, Integrated terminal or use the shortcut which is displayed there.', 'start': 4760.884, 'duration': 7.519}, {'end': 4775.769, 'text': 'And this will open your normal operating system command prompt or terminal automatically navigated into your project folder.', 'start': 4769.083, 'duration': 6.686}, {'end': 4785.698, 'text': "And there you can run Python and then a blank, and then the name of the file, like blockchain.py in this case, and it'll execute that file.", 'start': 4776.51, 'duration': 9.188}, {'end': 4788.8, 'text': "And in this case, it does nothing because there's nothing in the file.", 'start': 4786.198, 'duration': 2.602}, {'end': 4798.308, 'text': "But if I were to, for example, use print, a function which outputs something to the console, if you're not using the REPL,", 'start': 4789.381, 'duration': 8.927}, {'end': 4801.251, 'text': "you'll have to explicitly tell Python to output something.", 'start': 4798.308, 'duration': 2.943}, {'end': 4808.997, 'text': "So if you use print and you output two plus two, for example, and you save the file, don't forget that If you run the command again,", 'start': 4801.951, 'duration': 7.046}, {'end': 4810.539, 'text': 'you see four down here.', 'start': 4808.997, 'duration': 1.542}, {'end': 4815.805, 'text': 'So this is how we work with files and how we work with visual studio code as our ID.', 'start': 4811.36, 'duration': 4.445}], 'summary': 'Pycharm and visual studio code are recommended as ides for python development, with specific instructions on installation and usage provided for visual studio code.', 'duration': 240.807, 'max_score': 4574.998, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY4574998.jpg'}, {'end': 4759.903, 'src': 'embed', 'start': 4728.982, 'weight': 2, 'content': [{'end': 4731.783, 'text': "And here I'll add my blockchain file.", 'start': 4728.982, 'duration': 2.801}, {'end': 4736.845, 'text': "The important part is since we're working with Python, it has to end with .py.", 'start': 4732.123, 'duration': 4.722}, {'end': 4739.106, 'text': 'This turns it into a Python file.', 'start': 4737.365, 'duration': 1.741}, {'end': 4742.527, 'text': 'Now let me quickly switch to my other icon theme.', 'start': 4739.746, 'duration': 2.781}, {'end': 4744.937, 'text': 'Yeah, I prefer that.', 'start': 4743.737, 'duration': 1.2}, {'end': 4752, 'text': "So this is my blockchain Python file, and this is the file with which I'll work for the next lectures.", 'start': 4745.778, 'duration': 6.222}, {'end': 4759.903, 'text': 'Now, obviously you might be wondering, how do we execute that file now? And the answer is from within your terminal.', 'start': 4752.6, 'duration': 7.303}], 'summary': 'Creating a blockchain python file with .py extension and executing it from the terminal.', 'duration': 30.921, 'max_score': 4728.982, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY4728982.jpg'}, {'end': 4921.123, 'src': 'embed', 'start': 4894.692, 'weight': 8, 'content': [{'end': 4905.421, 'text': 'you should use four spaces here to provide or write the code that will be executed whenever you call the function.', 'start': 4894.692, 'duration': 10.729}, {'end': 4910.135, 'text': 'now, calling the function is something which is done like that Or like that.', 'start': 4905.421, 'duration': 4.714}, {'end': 4912.897, 'text': "This is the multiple times execution I'm referring to.", 'start': 4910.715, 'duration': 2.182}, {'end': 4918.1, 'text': 'When you define the function, so the first part in this box, nothing will happen.', 'start': 4913.877, 'duration': 4.223}, {'end': 4921.123, 'text': 'Python will recognize that but not run the code in there.', 'start': 4918.321, 'duration': 2.802}], 'summary': 'Defining a function in python involves using four spaces and specifying the code to be executed when the function is called.', 'duration': 26.431, 'max_score': 4894.692, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY4894692.jpg'}, {'end': 5369.542, 'src': 'embed', 'start': 5339.097, 'weight': 9, 'content': [{'end': 5345.196, 'text': 'now, with that, if i clear this to make it easier to read, Here we see how we now execute our code.', 'start': 5339.097, 'duration': 6.099}, {'end': 5353.777, 'text': 'We always add an additional level of nesting, because if we access the last element in the second add value call,', 'start': 5345.556, 'duration': 8.221}, {'end': 5358.358, 'text': 'we get this result because here the last element actually is this list.', 'start': 5353.777, 'duration': 4.581}, {'end': 5369.542, 'text': 'So when we append a new value to our blockchain, we take the old blockchain, which is this part, And then we append the old last value.', 'start': 5359.059, 'duration': 10.483}], 'summary': 'Demonstrates code execution and blockchain appending process with nested levels.', 'duration': 30.445, 'max_score': 5339.097, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY5339097.jpg'}, {'end': 5415.021, 'src': 'embed', 'start': 5385.934, 'weight': 7, 'content': [{'end': 5396.078, 'text': "And for the last at value call, This is the part we're starting with, and then we're appending a new list, hence the outer squared brackets here.", 'start': 5385.934, 'duration': 10.144}, {'end': 5407.831, 'text': 'And in that new list, we have 5.3 as a new value, this value, but then we access the last value of the old blockchain, which is this value here.', 'start': 5397.039, 'duration': 10.792}, {'end': 5415.021, 'text': 'And this is why you now see this value with three opening and one closing square bracket in here.', 'start': 5408.272, 'duration': 6.749}], 'summary': 'Appending a new list with 5.3 to old blockchain value.', 'duration': 29.087, 'max_score': 5385.934, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY5385934.jpg'}, {'end': 5624.407, 'src': 'embed', 'start': 5596.212, 'weight': 6, 'content': [{'end': 5600.715, 'text': 'And there you can see, we also pass an argument, right? We pass the argument, we want to append.', 'start': 5596.212, 'duration': 4.503}, {'end': 5604.877, 'text': 'So append actually also is a function that takes some input.', 'start': 5601.095, 'duration': 3.782}, {'end': 5617.28, 'text': 'We already learned some nice things about functions, but they can do even more than what we learned this far.', 'start': 5612.355, 'duration': 4.925}, {'end': 5619.562, 'text': 'They can also return values.', 'start': 5617.781, 'duration': 1.781}, {'end': 5622.125, 'text': "And what does this mean? Here's an example.", 'start': 5619.923, 'duration': 2.202}, {'end': 5624.407, 'text': 'We got our sum function here.', 'start': 5622.626, 'duration': 1.781}], 'summary': 'Functions can take input, return values, and do more than previously learned.', 'duration': 28.195, 'max_score': 5596.212, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY5596212.jpg'}], 'start': 4499.236, 'title': 'Python functions and ide setup', 'summary': 'Covers choosing an ide for local development, specifically recommending visual studio code and pycharm community edition, setting up python in visual studio code, including extensions and file execution, and the use of functions in python for blockchain, highlighting syntax and execution, along with function arguments and return values for improved code readability and reusability.', 'chapters': [{'end': 4634.407, 'start': 4499.236, 'title': 'Choosing an ide for local development', 'summary': 'Introduces using a local ide for coding, specifically recommending visual studio code for its features and simplicity, and mentions the availability of pycharm community edition as a free alternative.', 'duration': 135.171, 'highlights': ['Visual Studio Code is recommended for its features and simplicity. The chapter recommends using Visual Studio Code for its additional features, such as suggestions, automatic error detection, and color-coding, making coding more fun and easier.', 'PyCharm Community Edition is mentioned as a free alternative to Visual Studio Code. The chapter mentions PyCharm Community Edition as a free alternative to Visual Studio Code, highlighting its availability and the advantages it offers, such as color coding and more, which users can try out.', 'Instructions for downloading and installing Visual Studio Code and PyCharm Community Edition are provided. The chapter provides instructions for downloading and installing Visual Studio Code, a free IDE available for different operating systems. It also mentions the availability of PyCharm Community Edition, directing users to download it for free and use it for free.']}, {'end': 4823.493, 'start': 4634.967, 'title': 'Setting up python in visual studio code', 'summary': 'Explains how to set up python in visual studio code, including installing extensions, creating python files, changing themes, and executing python files in the integrated terminal.', 'duration': 188.526, 'highlights': ['Installing Python extension is recommended The Python extension is recommended for easier Python development and installation is prompted with a button, and it should be restarted after installation.', "Creating Python files and executing them in the integrated terminal It is explained how to create Python files and execute them in the integrated terminal by running 'python filename.py', and an example of using the 'print' function is demonstrated.", 'Changing themes and installing optional icon theme The process of changing themes and the optional installation of the material icon theme for file icons is mentioned as purely optional.']}, {'end': 5437.301, 'start': 4823.934, 'title': 'Functions in python for blockchain', 'summary': 'Explains the use of functions in python, highlighting the syntax and execution of functions, as well as the process of building a blockchain by utilizing functions and nested lists.', 'duration': 613.367, 'highlights': ["The chapter explains the syntax and execution of functions in Python, emphasizing the use of 'def' keyword and indentation, and the absence of semicolons and curly braces. It also mentions the convenience of using Visual Studio Code for coding.", "It details the process of building a blockchain by defining and using functions in Python. It mentions the creation of an empty list for the blockchain and the addition of values to the list using the 'add_value' function.", "It describes the process of storing nested lists in the blockchain, which contain old and new transactions, and explains the logic behind referring to the last value in the blockchain. It includes the convenient trick of using '-1' to access the last element of a list.", 'The chapter explains the process of adding an additional level of nesting to the blockchain when appending a new value, illustrating the elements and structure of the nested lists in the blockchain.']}, {'end': 5802.05, 'start': 5437.301, 'title': 'Functions and arguments in python', 'summary': 'Explains how functions in python can receive and utilize arguments, enabling dynamic value injection, and also demonstrates the use of return values within functions, along with the division of a function into two for improved code readability and reusability.', 'duration': 364.749, 'highlights': ['Functions can receive arguments, enabling dynamic value injection and usage within the function. Functions in Python can receive arguments which are parameters passed between the opening and closing parentheses next to the function name, allowing dynamic value injection and usage within the function body.', 'Return values can be utilized within functions, providing the ability to return a value to the caller. Functions in Python can utilize return values, allowing the function to return a specific value to the caller, which can be further utilized for different operations or stored in a variable.', 'Division of a function into two for improved code readability and reusability. The chapter demonstrates the division of a function into two, focusing on the core value of Python - readable and reusable code, thus improving the overall code organization and maintainability.']}], 'duration': 1302.814, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY4499236.jpg', 'highlights': ['Visual Studio Code is recommended for its features and simplicity, including suggestions, automatic error detection, and color-coding.', 'PyCharm Community Edition is mentioned as a free alternative to Visual Studio Code, highlighting its availability and advantages.', 'Instructions for downloading and installing Visual Studio Code and PyCharm Community Edition are provided for different operating systems.', 'The Python extension is recommended for easier Python development, prompting installation with a button and restart after installation.', "Explains how to create Python files and execute them in the integrated terminal by running 'python filename.py'.", "Details the process of building a blockchain by defining and using functions in Python, including the creation of an empty list for the blockchain and the addition of values to the list using the 'add_value' function.", 'Describes the process of storing nested lists in the blockchain, which contain old and new transactions, and explains the logic behind referring to the last value in the blockchain.', 'Functions in Python can receive arguments, enabling dynamic value injection and usage within the function.', 'Return values can be utilized within functions, providing the ability to return a value to the caller.', 'Demonstrates the division of a function into two for improved code readability and reusability, focusing on the core value of Python - readable and reusable code.']}, {'end': 7004.217, 'segs': [{'end': 6115.705, 'src': 'embed', 'start': 6089.104, 'weight': 4, 'content': [{'end': 6094.65, 'text': "The second best solution, as I mentioned, but also just one of the many examples you'll see throughout the course.", 'start': 6089.104, 'duration': 5.546}, {'end': 6109.44, 'text': "Now, we're almost done with functions, but here's one last nice feature you should be aware of, and that are keyword arguments.", 'start': 6102.253, 'duration': 7.187}, {'end': 6112.923, 'text': "Now, what's that again? It's actually not that difficult.", 'start': 6109.82, 'duration': 3.103}, {'end': 6115.705, 'text': 'We got a function with two arguments, name and age.', 'start': 6113.523, 'duration': 2.182}], 'summary': 'Covering functions and keyword arguments in coding course.', 'duration': 26.601, 'max_score': 6089.104, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY6089104.jpg'}, {'end': 7004.217, 'src': 'embed', 'start': 6953.54, 'weight': 0, 'content': [{'end': 6960.325, 'text': "And just like that, you don't immediately assign a value, but you just tell Python hey, there is this global variable.", 'start': 6953.54, 'duration': 6.785}, {'end': 6965.688, 'text': 'please, if I use name in this function, use the global version of that.', 'start': 6960.325, 'duration': 5.363}, {'end': 6969.351, 'text': "Of course, if no such global variable exists, you'll get a problem.", 'start': 6966.088, 'duration': 3.263}, {'end': 6972.632, 'text': "So let's now enter and indent again.", 'start': 6970.271, 'duration': 2.361}, {'end': 6977.053, 'text': 'And now we can again use name, input your name like that.', 'start': 6973.052, 'duration': 4.001}, {'end': 6982.674, 'text': "And now this will actually use the global name variable because we're telling it to do so here.", 'start': 6977.933, 'duration': 4.741}, {'end': 6993.941, 'text': 'So now, if I hit enter again and I quit this function, if I now call get name here and I enter Michael now and I now print name, you see,', 'start': 6983.334, 'duration': 10.607}, {'end': 7004.217, 'text': "now it's Michael and not Max anymore, because thanks to global name, this actually targets the global name variable instead of a new local one.", 'start': 6993.941, 'duration': 10.276}], 'summary': 'Python uses global variables within functions, impacting variable scope.', 'duration': 50.677, 'max_score': 6953.54, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY6953540.jpg'}], 'start': 5802.591, 'title': 'Python functions and arguments', 'summary': 'Discusses the usage of return keyword, default arguments, and function arguments in python, showcasing the ability to split functions and handle errors effectively. it also explores the usage of default arguments in a blockchain example and introduces keyword arguments in functions, allowing for greater control over which argument receives which data. additionally, it discusses minimizing code repetition by defining functions, handling user input, and understanding global and local variable scope.', 'chapters': [{'end': 5910.551, 'start': 5802.591, 'title': 'Python functions and arguments', 'summary': 'Discusses the usage of return keyword, default arguments, and function arguments in python, showcasing the ability to split functions and handle errors effectively.', 'duration': 107.96, 'highlights': ['The return keyword allows for the splitting of functions and the extraction of values into new lists, resulting in a more organized and efficient code execution.', 'Default arguments in Python enable the setting of a default value for an argument, eliminating the need to pass data for that argument when calling the function, thus preventing errors.', 'The chapter also emphasizes the usage of function arguments and showcases how they can be utilized effectively in Python scripts.']}, {'end': 6088.563, 'start': 5910.911, 'title': 'Improving code with default arguments', 'summary': 'Explores the usage of default arguments in a blockchain example to handle cases where no value is provided, ultimately resulting in improved code functionality.', 'duration': 177.652, 'highlights': ['The chapter demonstrates using default arguments to handle cases where no value is provided in a blockchain example, ensuring improved code functionality.', 'By using default arguments in the add value function, the code is improved to handle cases where no value is provided, resulting in a more robust blockchain implementation.', 'The example highlights the usage of default arguments to ensure that the code operates effectively, providing a practical demonstration of their importance in programming.']}, {'end': 6461.241, 'start': 6089.104, 'title': 'Functions and keyword arguments', 'summary': 'Introduces keyword arguments in functions, allowing for greater control over which argument receives which data, and provides examples of using user input with the input function, converting text to numbers.', 'duration': 372.137, 'highlights': ['The chapter introduces keyword arguments in functions, which provide greater control over which argument receives which data, allowing for the ability to switch the position or omit some arguments while calling a function.', 'The input function is demonstrated as a way to handle user input, with examples of converting text to numbers using int and float, enabling the use of user-entered values in the code.', 'The chapter discusses the use of positional arguments and the advantage of keyword arguments in functions, offering examples of reversing the order of arguments in a function call and the impact on the output values.']}, {'end': 7004.217, 'start': 6461.241, 'title': 'Minimizing code repetition and understanding variable scope', 'summary': 'Discusses minimizing code repetition by defining functions, handling user input, and understanding global and local variable scope, highlighting the importance of avoiding code repetition and explaining the concept of global and local variable scopes.', 'duration': 542.976, 'highlights': ['The chapter emphasizes minimizing code repetition and introduces the concept of defining functions to reduce repetition, with the promise of further improvement after the next module. The chapter emphasizes minimizing code repetition through the introduction of defining functions and mentions the potential for further improvement after the next module.', 'The chapter explains the concept of global and local variable scope, distinguishing between variables defined outside and inside functions and highlighting their accessibility. The chapter provides an explanation of global and local variable scope, distinguishing between variables defined outside and inside functions and highlighting their accessibility.', 'The chapter demonstrates the use of global keyword to access and modify global variables within functions, providing a clear example of using the global keyword to target the global variable instead of creating a new local one. The chapter demonstrates the use of the global keyword to access and modify global variables within functions, providing a clear example of using the global keyword to target the global variable instead of creating a new local one.']}], 'duration': 1201.626, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY5802591.jpg', 'highlights': ['The return keyword allows for the splitting of functions and the extraction of values into new lists, resulting in a more organized and efficient code execution.', 'Default arguments in Python enable the setting of a default value for an argument, eliminating the need to pass data for that argument when calling the function, thus preventing errors.', 'The chapter introduces keyword arguments in functions, which provide greater control over which argument receives which data, allowing for the ability to switch the position or omit some arguments while calling a function.', 'The chapter emphasizes minimizing code repetition and introduces the concept of defining functions to reduce repetition, with the promise of further improvement after the next module.', 'The chapter explains the concept of global and local variable scope, distinguishing between variables defined outside and inside functions and highlighting their accessibility.']}, {'end': 7747.383, 'segs': [{'end': 7041.711, 'src': 'embed', 'start': 7012.369, 'weight': 0, 'content': [{'end': 7014.75, 'text': 'We covered a lot of ground in this module.', 'start': 7012.369, 'duration': 2.381}, {'end': 7017.372, 'text': 'We learned a lot about the core basics.', 'start': 7015.231, 'duration': 2.141}, {'end': 7019.973, 'text': "Now we'll continue diving into the basics.", 'start': 7017.852, 'duration': 2.121}, {'end': 7025.376, 'text': 'A great place for you to also dive deeper are the official docs, which you can find on python.org.', 'start': 7020.593, 'duration': 4.783}, {'end': 7028.318, 'text': 'Make sure to pick the .free, the free.x docs.', 'start': 7026.036, 'duration': 2.282}, {'end': 7034.623, 'text': 'And there the tutorial is a great place to learn all these basics again.', 'start': 7029.997, 'duration': 4.626}, {'end': 7037.626, 'text': 'Numbers, strings, lists, these are things we learn about.', 'start': 7034.923, 'duration': 2.703}, {'end': 7041.711, 'text': "Now, if and so on, these are things we'll learn about in the next module.", 'start': 7038.107, 'duration': 3.604}], 'summary': 'A module covering core python basics with resources on python.org, including numbers, strings, and lists. next module focuses on if and so on.', 'duration': 29.342, 'max_score': 7012.369, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY7012369.jpg'}, {'end': 7195.964, 'src': 'embed', 'start': 7140.773, 'weight': 1, 'content': [{'end': 7146.338, 'text': "they can be really confusing and they're not official documentation, they are recommendations, they are proposals.", 'start': 7140.773, 'duration': 5.565}, {'end': 7153.176, 'text': 'If you want to learn the core of the language, watch this course, of course, and fall back to the official docs for deep dives.', 'start': 7146.698, 'duration': 6.478}, {'end': 7165.105, 'text': "Now, one thing you'll also find mentioned in the PEPs is how you comment your code.", 'start': 7160.58, 'duration': 4.525}, {'end': 7167.227, 'text': "And that is something we didn't have a look at yet.", 'start': 7165.565, 'duration': 1.662}, {'end': 7171.932, 'text': 'You can create comments in Python by using the hash symbol.', 'start': 7167.988, 'duration': 3.944}, {'end': 7179.08, 'text': 'Like here, we could say, initializing our blockchain list.', 'start': 7172.833, 'duration': 6.247}, {'end': 7183.027, 'text': 'Comments should be used to improve the readability of your code.', 'start': 7179.981, 'duration': 3.046}, {'end': 7188.657, 'text': 'But one core principle of Python also is that your code should be readable on its own.', 'start': 7183.568, 'duration': 5.089}, {'end': 7195.964, 'text': "So you should have clear function and variable names, And your code actually shouldn't need too many comments.", 'start': 7189.097, 'duration': 6.867}], 'summary': 'Python peps provide recommendations, use comments for code readability.', 'duration': 55.191, 'max_score': 7140.773, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY7140773.jpg'}, {'end': 7607.894, 'src': 'embed', 'start': 7579.045, 'weight': 3, 'content': [{'end': 7580.566, 'text': 'We also had a look at operators.', 'start': 7579.045, 'duration': 1.521}, {'end': 7586.551, 'text': 'We can do some base arithmetic with plus, minus, times, and by dividing values.', 'start': 7581.207, 'duration': 5.344}, {'end': 7591.594, 'text': 'But we also have the modulus operator, which allows us to get the remainder of a division.', 'start': 7587.271, 'duration': 4.323}, {'end': 7595.958, 'text': 'We got the floor division, which always returns an integer instead of a float.', 'start': 7592.275, 'duration': 3.683}, {'end': 7601.688, 'text': 'We got the power operator to calculate the power of a number to some other number.', 'start': 7596.803, 'duration': 4.885}, {'end': 7607.894, 'text': "And what's important, we also learned that strings can be added and multiplied.", 'start': 7602.909, 'duration': 4.985}], 'summary': 'Introduction to arithmetic and string operations in python.', 'duration': 28.849, 'max_score': 7579.045, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY7579045.jpg'}], 'start': 7012.369, 'title': 'Python basics and introduction', 'summary': 'Covers the core basics of python, highlighting official documentation and pep 8, and introduces key concepts including commenting, formatting, data types, operators, functions, and scope, with insights into blockchain implementation.', 'chapters': [{'end': 7350.48, 'start': 7012.369, 'title': 'Python basics and official documentation', 'summary': 'Covers the core basics of python, including numbers, strings, and lists, and emphasizes the importance of the official python documentation, particularly the python enhancement proposals (peps), with a focus on pep 8 for code styling and commenting practices.', 'duration': 338.111, 'highlights': ['The chapter emphasizes the importance of the official Python documentation and the Python Enhancement Proposals (PEPs), particularly focusing on PEP 8 for code styling and commenting practices, which provides guidelines such as using spaces instead of tabs and naming conventions. The transcript discusses the significance of the official Python documentation, particularly highlighting the Python Enhancement Proposals (PEPs), with specific emphasis on PEP 8 for code styling and commenting practices. It provides guidelines such as using spaces instead of tabs, naming conventions, and the importance of clear function and variable names.', 'The chapter introduces the concept of doc strings for commenting code, emphasizing their utility for providing descriptive information about functions, and notes that most IDEs support doc strings, making them particularly useful when sharing code with other developers. The transcript introduces doc strings as a method for commenting code, highlighting their utility for providing descriptive information about functions. It also notes that most Integrated Development Environments (IDEs) support doc strings, making them particularly useful when sharing code with other developers.', 'The chapter explains the use of comments in Python, emphasizing the principle that code should be readable on its own, and notes that while comments can improve code readability, clear function and variable names are essential, and excessive comments should be avoided. The transcript explains the use of comments in Python, emphasizing the principle that code should be readable on its own. It notes that while comments can improve code readability, clear function and variable names are essential, and excessive comments should be avoided.']}, {'end': 7747.383, 'start': 7350.48, 'title': 'Introduction to python basics', 'summary': 'Introduces key concepts of python, including commenting, formatting, data types, operators, functions, and scope, and also provides insight into blockchain implementation including mining and hashing.', 'duration': 396.903, 'highlights': ['We learned about the core data types: numbers, strings, booleans, and operators such as plus, minus, times, division, modulus, floor division, and power operator. Core data types and operators covered.', 'Functions were discussed, covering indentation and colons to define the function block, using arguments, returning values, default arguments, and scope. Functions and scope were well-explained.', 'The chapter also delves into blockchain implementation, highlighting the ability to mine new blocks and hash data within a basic implementation. Introduction to blockchain implementation.']}], 'duration': 735.014, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/KARxDX5DTgY/pics/KARxDX5DTgY7012369.jpg', 'highlights': ['The chapter emphasizes the importance of the official Python documentation and the Python Enhancement Proposals (PEPs), particularly focusing on PEP 8 for code styling and commenting practices.', 'The chapter introduces the concept of doc strings for commenting code, emphasizing their utility for providing descriptive information about functions, and notes that most IDEs support doc strings, making them particularly useful when sharing code with other developers.', 'The chapter explains the use of comments in Python, emphasizing the principle that code should be readable on its own, and notes that while comments can improve code readability, clear function and variable names are essential, and excessive comments should be avoided.', 'We learned about the core data types: numbers, strings, booleans, and operators such as plus, minus, times, division, modulus, floor division, and power operator.', 'Functions were discussed, covering indentation and colons to define the function block, using arguments, returning values, default arguments, and scope.', 'The chapter also delves into blockchain implementation, highlighting the ability to mine new blocks and hash data within a basic implementation.']}], 'highlights': ['The course project involves building a basic blockchain and a cryptocurrency, allowing students to apply their knowledge in a realistic and practical manner.', 'The course teaches Python from scratch with no prerequisites required and covers core syntax, object-oriented programming, web server setup with Flask, and building a basic blockchain and cryptocurrency.', 'The course provides an opportunity to learn about the core concepts of blockchain technology, offering a better understanding of this popular technology.', "Python's cross-platform compatibility and performance make it suitable for a wide range of applications and user environments.", "Python's versatility allows for the creation of diverse applications, from simple scripts to complex web applications and data science projects, with the support of third-party packages.", "Python's rich ecosystem of third-party packages and libraries enables the easy addition of new functionalities to programs, making development more efficient and streamlined.", "Python's popularity is evidenced by its increasing usage, surpassing many other languages, owing to its ease of learning, versatility, and extensibility.", 'The blockchain technology is a distributed data storage that uses a chain of interconnected blocks, which can store various types of data, including transactions and other information.', 'Cryptocurrencies use blockchain technology to store transaction data, ensuring its security through the distributed nature of the blockchain and the mining process for adding new blocks.', 'Mining is the process of adding new blocks to the blockchain by solving complex algorithms, and miners are rewarded with new coins for their efforts.', "The security mechanism of blockchain involves hashing each block's data and storing the hash in the next block, making it difficult to manipulate data across multiple machines.", 'A wallet in the context of blockchain is essentially a node that enables users to send and receive coins through transactions, serving as a means of identification and transaction facilitation.', "Python's versatility and applications in data science, desktop apps, utility scripts, and web apps compared to other languages like C++ and Java.", 'Python 3.x is the future of Python, with active development and new features, while Python 2.7 will be supported until 2020.', 'The chapter emphasizes learning Python fundamentals and core concepts to gain a solid understanding of the language and how to write Python programs.', "The int function can convert a string to an integer, allowing arithmetic operations with numbers, illustrated by converting the string '29' to the integer 29, resolving the concatenation issue and producing the correct result of 30.", "The float function can convert a string to a floating-point number, enabling arithmetic operations with decimal numbers, demonstrated by converting the string '29' to the float 29.0, and showcasing conversions of true and false to 1.0 and 0.0 respectively.", 'Explaining how to build a blockchain in Python using lists to store data', 'Visual Studio Code is recommended for its features and simplicity, including suggestions, automatic error detection, and color-coding.', 'The return keyword allows for the splitting of functions and the extraction of values into new lists, resulting in a more organized and efficient code execution.', 'Default arguments in Python enable the setting of a default value for an argument, eliminating the need to pass data for that argument when calling the function, thus preventing errors.', 'The chapter emphasizes the importance of the official Python documentation and the Python Enhancement Proposals (PEPs), particularly focusing on PEP 8 for code styling and commenting practices.']}