Question: I am trying to build my first project using an existing sqlite database in Android Studio. All of the instructions I have referenced say to create an assets folder and copy the database into that folder. A call from the database helper will move the file for me for run time testing. The problem is that when the database is in the assets folder and I click on the plus sign next to the folder, Android studio immediately halts, closing all windows and displays no error. I am running studio 3.01 build #AI-171.4443003 dated 11/9/2017. I have applied all updates and the results are the same. I have tried using different extension for the DB with no luck.

Answer: 
Because `spam` isn't a function, it's the result of calling the function `print` with the argument `'Hello!'`, which is `None`, of type `NoneType`.

If you want to assign that expression to a variable, then you can use a lambda:

```
l = lambda: print('Hello!') # Doesn't actually call print
l() # 1. Prints 'Hello!'
l() # 2. Prints 'Hello!'
l() # 3. Prints 'Hello!'

```
```
spam = print('Hello!')

```

evaluates the expression on the right hand side and binds its value to `spam`. The return value of the (Python 3) `print()` function is `None`, so `spam` refers to `None`:

```
>>> spam = print('Hello!')
Hello!
>>> spam is None
True

```

One way to handle this is to create a partial function with `functools.partial()`:

```
>>> from functools import partial
>>> spam = partial(print, 'Hello!')
>>> spam
functools.partial(<built-in function print>, 'Hello!')
>>> spam()
Hello!

```

Or a `lambda` expression:

```
>>> spam = lambda : print('Hello!')
>>> spam
<function <lambda> at 0x7f619cabf9d8>
>>> spam()
Hello!

```

Essentially both of the above use a closure around a function like this:

```
def printer(s):
    def f():
        print(s)
    return f

>>> spam = printer('Hello!')
>>> spam
<function printer.<locals>.f at 0x7f619cabfb70>
>>> spam()
Hello!

```