Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

2/2/2021 Python for O&G Lecture 63: **kwargs operator - Colaboratory

Python for Oil and Gas

Website - https://petroleumfromscratchin.wordpress.com/

LinkedIn - https://www.linkedin.com/company/petroleum-from-scratch

YouTube - https://www.youtube.com/channel/UC_lT10npISN5V32HDLAklsw

# double start operator


# keyword argument

def func(**kwargs):
return kwargs

func(one = 1, two = 2, three = 3)

{'one': 1, 'three': 3, 'two': 2}

type(func(one = 1, two = 2, three = 3))

dict
/
2/2/2021 Python for O&G Lecture 63: **kwargs operator - Colaboratory

# just give positional argument here and see the results

func(1, 2, 3)

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-e0aac76a4982> in <module>()
1 # just give positional argument here and see the results
2
----> 3 func(1, 2, 3)

TypeError: func() takes 0 positional arguments but 3 were given

SEARCH STACK OVERFLOW

# make a dictionary using **kwargs which takes porosity, permeability and depth as keys

def func_2(**kwargs):
return kwargs

Code Text
func_2(por = 0.15, perm = 35, depth = 3500)

{'depth': 3500, 'perm': 35, 'por': 0.15}

# create a function which will loop in kwargs

def func_3(**abc):
for i, j in abc.items():
print(f'{i} is: {j}')

func_3(por = 0.15, perm = 35, depth = 3500)

/
2/2/2021 Python for O&G Lecture 63: **kwargs operator - Colaboratory

por is: 0.15


perm is: 35
depth is: 3500

# **kwargs with normal parameter

def func_4(a, b, **kwargs):


print(a)
print(b)
print(kwargs)

func_4(165, 465, por = 0.15, perm = 35, depth = 3500)

165
465
{'por': 0.15, 'perm': 35, 'depth': 3500}

# this time take normal parameter after the **kwargs

def func_5(**kwargs, a):


print(a)

print(kwargs)

func_4(165, por = 0.15, perm = 35, depth = 3500)

# In coming video, we will use *args, **kwargs, normal arguments all in one function and there we'll see the proper order of their positioning
/
2/2/2021 Python for O&G Lecture 63: **kwargs operator - Colaboratory

File "<ipython-input-14-34100b69241e>", line 5


def func_5(**kwargs, a):
^
SyntaxError: invalid syntax

SEARCH STACK OVERFLOW

Dictionary Unpacking

dict_1 = {
'por' : 0.14,
'perm': '40 md',
'depth': '2500 ft'
}

def func_6(**kwargs):
return kwargs

func_6(**dict_1)

{'depth': '2500 ft', 'perm': '40 md', 'por': 0.14}

/
2/2/2021 Python for O&G Lecture 63: **kwargs operator - Colaboratory

You might also like