DEV Community

Super Kai (Kazuya Ito)
Super Kai (Kazuya Ito)

Posted on • Edited on

Function in Python (1)

Buy Me a Coffee

*Memo:

  • My post explains a function (2).
  • My post explains parameters and arguments in a function.
  • My post explains the iterable unpacking with * and a function (1).
  • My post explains the dictionary unpacking with ** within a dictionary and function.
  • My post explains *args.
  • My post explains **kwargs.
  • My post explains a lambda.
  • My post explains a variable assignment.
  • My post explains an identifier.
  • My post explains naming convention.

A function:

  • is the statement which can do a specific task, reusing and reducing code and whose type is func.
  • must have a def, identifier, (): and its body code.
  • can have zero or more parameters.
  • can have zero or more return statements.
  • can have one or more pass statements, return statements and values to do nothing, returning None.
  • can be assigned a variable, function and class to.
  • can be defined a variable, function and class in.
  • can be written in one line.
  • can be indirectly assigned to a variable and parameter but not directly.
  • and parameter name can have letters, _, the digits except for the 1st character and can be a reserved soft keyword but cannot start with a digit and cannot be a reserved keyword and should be lower_snake_case.

A function is the statement whose type is func to do a specific task, reusing and reducing code as shown below:

def func(num1, num2):
    return num1+num2

print(func(3, 5))
# 8

print(func(7, 2))
# 9

print(func(1, 4))
# 5
Enter fullscreen mode Exit fullscreen mode
def func(num1, num2):
    return num1+num2

print(func)
# <function func at 0x00000197701259E0>

print(type(func))
# <class 'function'>
Enter fullscreen mode Exit fullscreen mode

*Code is more if not using a function.

num1 = 3
num2 = 5

print(num1+num2)
# 8

num1 = 7
num2 = 2

print(num1+num2)
# 9

num1 = 1
num2 = 4

print(num1+num2)
# 5
Enter fullscreen mode Exit fullscreen mode

Zero or more parameters can be set in a function as shown below:

def func():
    print("No param")

func()
# No param
Enter fullscreen mode Exit fullscreen mode
def func(p1, p2='p2'):
    print(p1, p2)

func('param1')
func(p1='param1')
# param1 p2

func('param1', 'param2')
func('param1', p2='param2')
func(p1='param1', p2='param2')
func(p2='param2', p1='param1')
# param1 param2
Enter fullscreen mode Exit fullscreen mode
def func(p1, /, p2='p2', *, p3='p3'):
    print(p1, p2, p3)

func('param1')
# param1 p2 p3

func('param1', 'param2')
func('param1', p2='param2')
# param1 param2 p3

func('param1', p3='param3')
# param1 p2 param3

func('param1', 'param2', p3='param3')
func('param1', p2='param2', p3='param3')
# param1 param2 param3
Enter fullscreen mode Exit fullscreen mode
def func(*args, **kwargs):
    print(args, kwargs)

func()
# () {}

func(0, 1)
func(*[0, 1])
# (0, 1) {}

func(A=2, B=3)
func(**{'A':2, 'B':3})
# () {'A': 2, 'B': 3}

func(0, 1, A=2, B=3)
func(*[0, 1], **{'A':2, 'B':3})
# (0, 1) {'A': 2, 'B': 3}
Enter fullscreen mode Exit fullscreen mode

One or more return statements can be set in a function as shown below:

def func():
    return "Hello"

print(func())
# Hello
Enter fullscreen mode Exit fullscreen mode
def func():
    return [0, 1, 2]

print(func())
# [0, 1, 2]
Enter fullscreen mode Exit fullscreen mode
def func():
    return "Hello"
    return [0, 1, 2]

print(func())
# Hello
Enter fullscreen mode Exit fullscreen mode
def func():
    return [0, 1, 2]
    return "Hello"

print(func())
# [0, 1, 2]
Enter fullscreen mode Exit fullscreen mode
def func():
    return

print(func())
# None
Enter fullscreen mode Exit fullscreen mode

Top comments (0)