Function Arguments in Python | Python Tutorial - Day #21

Function Arguments in Python | Python Tutorial - Day #21

Function Arguments in Python

Introduction to Function Arguments

  • The video introduces the concept of function arguments, explaining how they can be passed to functions in various ways, including as tuples and dictionaries.
  • It emphasizes that functions are used to separate code for better organization and reusability.

Default Arguments

  • Four types of arguments are discussed: Default Arguments, Keyword Arguments, Variable Length Arguments, and Required Arguments.
  • Default arguments allow a function to assume a value if none is provided during the call. For example, setting a to 9 and b to 1 by default.
  • If values for a and b are provided during the function call, those will override the defaults.
  • The speaker demonstrates how to provide only one argument while keeping another as default; e.g., providing a = 5, which results in an average calculation using the default value for b.

Keyword Arguments

  • Keyword arguments allow changing the order of parameters when calling a function. This means you can specify values using their parameter names (e.g., b = 9, a = 21).
  • The flexibility of keyword arguments is highlighted; it allows passing parameters without worrying about their positional order.

Required Arguments

  • Required arguments must be provided when calling a function. If not specified, an error occurs unless defaults are set.
  • The importance of matching the number of provided arguments with those defined in the function is emphasized.

Variable Length Arguments

  • Variable length arguments enable functions to accept an arbitrary number of inputs. This is useful for operations like calculating averages over multiple numbers.
  • An example illustrates defining a function that takes variable-length input using an iterable (*numbers) and iterates through them for calculations.

Understanding Average Calculation in Python

Function Implementation and Tuple Usage

  • The speaker demonstrates how to calculate the average of numbers using a function, initializing sum with 0 and dividing by the length of the input tuple. This is illustrated with an example: average(5, 6) which outputs 5.5.
  • It is explained that when passing arguments to the function, they are treated as a tuple, which is a type of list in Python. The distinction between lists and tuples will be covered later.

Handling Different Data Structures

  • The discussion transitions to using dictionaries as arguments for functions. A syntax example is provided where key-value pairs can be passed into a function using **name, indicating that this will create a dictionary from those pairs.
  • An example shows how names are printed from a dictionary format, reinforcing that when calling print(type(name)), it returns 'dict'. Indentation errors are also briefly mentioned as part of coding practices.

Return Statement in Functions

  • The speaker emphasizes the importance of returning values from functions instead of just printing them out. By adding a return statement in the average function (return sum/len(numbers)), it allows storing results in variable c. This change enables further use of computed averages outside the function context.
  • If no return statement is included, Python defaults to returning 'None', highlighting why it's crucial for functions intended to provide output to include return statements properly. Changing return values directly affects what gets stored or printed later on (e.g., changing it to return 7).

Understanding Return Behavior

  • The concept of return behavior is clarified: only the first return statement encountered within conditional structures (like if/else) will execute; subsequent ones are ignored unless structured differently within loops or other conditions. This reinforces understanding how control flow works in functions with multiple potential exit points via returns.
  • Finally, there’s an emphasis on grasping what "return" means—essentially taking calculated values back to where they were called from—and ensuring clarity on expected outputs versus actual results returned by functions like average calculations (e.g., achieving an output like "4.75").
Video description

Python is one of the most demanded programming languages in the job market. Surprisingly, it is equally easy to learn and master Python. This python tutorial for absolute beginners in Hindi series will focus on teaching you python concepts from the ground up. Access the Playlist: https://www.youtube.com/playlist?list=PLu0W_9lII9agwh1XjRt242xIpHhPT2llg Link to the Repl: https://replit.com/@codewithharry/21-Day-21-Function-Arguments#main.py Join Replit the browser-based IDE used in this course - https://join.replit.com/code-with-harry-100-doc ►Checkout my English channel here: https://www.youtube.com/channel/UC7btqG2Ww0_2LwuQxpvo2HQ ►Instagram: www.instagram.com/codewithharry python, C, C++, Java, JavaScript and Other Cheetsheets [++]: Playlist: https://www.youtube.com/playlist?list=PLu0W_9lII9agrsRZjFECeFuWY5ev2pQlk ►Learn in One Video[++]: Python[15 Hr]: https://www.youtube.com/watch?v=gfDE2a7MKjA&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Python Advance[3.5 Hr]: https://www.youtube.com/watch?v=61a7UkDO50s&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Python[1 Hr]: https://www.youtube.com/watch?v=qHJjMvHLJdg&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Python[2 Hr]: https://www.youtube.com/watch?v=ihk_Xglr164&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Python[15 Min]:https://www.youtube.com/watch?v=fr1f84rg4Nw&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 JavaScript[1 Hr]: https://www.youtube.com/watch?v=onbBV0uFVpo&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 C[1.3 Hr]-https://www.youtube.com/watch?v=YXcgD8hRHYY&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 php[1 Hr]: https://www.youtube.com/watch?v=xW7ro3lwaCI&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 php[2.3 Hr]:https://www.youtube.com/watch?v=1SnPKhCdlsU&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 php[Project]- https://www.youtube.com/watch?v=-al2bECumKg&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 HTML[30 Min]:https://www.youtube.com/watch?v=E3ByCRqE7Lo&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 CSS[8.5 Hr]:https://www.youtube.com/watch?v=Edsxf_NBFrw&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 CSS[1.4 Hr]:https://www.youtube.com/watch?v=u5-K_ua9sOw&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Wordpress[3.2 Hr]:https://www.youtube.com/watch?v=GlLRYml8mCY&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Angular[2 Hr]:https://www.youtube.com/watch?v=0LhBvp8qpro&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Java[2.3 Hr]:https://www.youtube.com/watch?v=rV_3Lewxx6o&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Web Scraping[1 Hr]:https://www.youtube.com/watch?v=uufDGjTuq34&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 MongoDB[2 Hr]:https://www.youtube.com/watch?v=oSIv-E60NiU&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Numpy[1 Hr]:https://www.youtube.com/watch?v=Rbh1rieb3zc&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Android Dev[12 Hr]- https://www.youtube.com/watch?v=mXjZQX3UzOs Linux[1 Hr]:https://www.youtube.com/watch?v=_tCY-c-sPZc&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 JQuery[1.1 Hr]:https://www.youtube.com/watch?v=YFlx1C8XwR0&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 Git and GitHub[1.1 Hr]:https://www.youtube.com/watch?v=gwWKnnCMQ5c&list=PLu0W_9lII9ahKZ42vg2w9ERPmShYbYAB7 ►Complete course [playlist]: React: https://www.youtube.com/playlist?list=PLu0W_9lII9agx66oZnT6IyhcMIbUMNMdt Python-https://www.youtube.com/playlist?list=PLu0W_9lII9agICnT8t4iYVSZ3eykIAOME OOP Python-https://www.youtube.com/playlist?list=PLu0W_9lII9ahfRrhFcoB-4lpp9YaBmdCP Java:https://www.youtube.com/playlist?list=PLu0W_9lII9agS67Uits0UnJyrYiXhDS6q JavaScript- https://www.youtube.com/playlist?list=PLu0W_9lII9ajyk081To1Cbt2eI5913SsL PHP-https://www.youtube.com/playlist?list=PLu0W_9lII9aikXkRE0WxDt1vozo3hnmtR C-https://www.youtube.com/playlist?list=PLu0W_9lII9aiXlHcLx-mDH1Qul38wD3aR C++-https://www.youtube.com/playlist?list=PLu0W_9lII9agpFUAlPFe_VNSlXW5uE0YL Git & GitHub-https://www.youtube.com/playlist?list=PLu0W_9lII9ahVQekD7ePHmnirTePXwIln Android Dev- https://www.youtube.com/playlist?list=PLu0W_9lII9aiL0kysYlfSOUgY5rNlOhUd Python GUI- https://www.youtube.com/playlist?list=PLu0W_9lII9ajLcqRcj4PoEihkukF_OTzA Web Development- https://www.youtube.com/playlist?list=PLu0W_9lII9agiCUZYRsvtGTXdxkzPyItg Python Django:https://www.youtube.com/playlist?list=PLu0W_9lII9ah7DDtYtflgwMwpT3xmjXY9 Projects Using HTML, CSS & Javascript- https://www.youtube.com/playlist?list=PLu0W_9lII9aiQiOwthuSvinxoflmhRxM3 Data Structure and Algo:https://www.youtube.com/playlist?list=PLu0W_9lII9ahIappRPN0MCAgtOu3lQjQi Follow Me On Social Media ►Website (created using Django Rest & Angular): https://www.codewithharry.com ►Facebook: https://www.facebook.com/CodeWithHarry ►Instagram: https://www.instagram.com/codewithharry/ Twitter: https://twitter.com/CodeWithHarry Comment "#HarryBhai" if you read this 😉😉