-
Notifications
You must be signed in to change notification settings - Fork 98
/
function demo.py
54 lines (43 loc) · 1.75 KB
/
function demo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
def demo(name,adjective):
print(f"{name} is {adjective} at Python programming!")
# POSITIONAL ARGUMENTS-- where the order (position) matters
# whatever the first argument is will be the first parameter, "name"
# whatever the second argument is will be the second parameter, "adjective"
demo("Prarthana", "awesome")
demo("amazing", "Marc")
# KEYWORD ARGUMENTS-- where the value of parameters are stated DIRECTLY
# "adjective" and "name" are being defined directly, so it doesn't matter
# in what order these arguments are made
demo(adjective="amazing", name="Darrin")
# DEFAULT ARGUMENTS
def demo(name="Chad",adjective="...ok"):
print(f"{name} is {adjective} at Python programming!")
# *args
"""With *args, any number of extra arguments can be tacked on to your current formal parameters (including zero extra arguments)"""
def demo(name="Chad", *adjectives):
print(f"{name} is a ", end= "")
words= []
for adj in adjectives:
words.append(adj)
print(", ".join(words), end= " ")
print("Python programmer!")
demo()
demo("Phil","feisty", "zippy", "slappy")
# **kwargs
#**kwargs allows us to pass any number of keyword arguments to the function.
# **KWARGS (keyword arguments)
def demo(**stats):
print(f"{stats['name']} statistics:")
print(f" • Age: {stats['age']}")
print(f" • Email: {stats['email']}")
print(f" • Country: {stats['country']}")
# writing a ton of arguments in one line (yuck)
demo(name="Chad", age=37, email="[email protected]", country="United States")
# putting those arguments in a dictionary...
data= {"name": "Chad",
"age": 37,
"email": "[email protected]",
"country": "United States"}
# ...and passing all those key:value pairs as
# keyword arguments to the function
demo(**data)