when calling the functionthese positional arguments must be specified in orderand none can be missed or skipped this is the most common way we've specified arguments in our previous examplesdef mandatory_args(xyz)pass to call itmandatory_args(" string"a_variable any type of object can be passed as an argumentan objecta containera primitiveeven functions and classes the preceding call shows hardcoded stringan unknown variableand an integer passed into the function default arguments if we want to make an argument optionalrather than creating second method with different set of argumentswe can specify default value in single methodusing an equals sign if the calling code does not supply this argumentit will be assigned default value howeverthe calling code can still choose to override the default by passing in different value oftena default value of noneor an empty string or list is suitable here' function definition with default argumentsdef default_arguments(xyza="some string" =false)pass the first three arguments are still mandatory and must be passed by the calling code the last two parameters have default arguments supplied there are several ways we can call this function we can supply all arguments in order as though all the arguments were positional argumentsdefault_arguments(" string"variable ""truealternativelywe can supply just the mandatory arguments in orderleaving the keyword arguments to be assigned their default valuesdefault_arguments(" longer string"some_variable we can also use the equals sign syntax when calling function to provide values in different orderor to skip default values that we aren' interested in for examplewe can skip the first keyword arguments and supply the second onedefault_arguments(" string"variable =true