Question: I am from Java programming, new to Python. Should I consider integer, float and string literals also as object of python programming? 

eg: `2`, `4.3`, `'stackoveflow'`

Answer: 
[Everything in python is an object.](http://docs.python.org/reference/datamodel.html) Even functions and plain numbers/booleans.

> 
> *Objects* are Python’s abstraction for data. All data in a Python program is represented by objects
> 
> 
> 

This has quite some advantages, for example, you can easily subclass a type such as `str` or `unicode` if you need a custom type with the default behaviour but additional features (often done in template engines to mark strings as HTML-safe).  

Another more common thing is the `join()` method on strings. While most languages have such a methods on arrays, Python has it as a string method which is used like this, allowing you to pass *any* iterable/sequence to it: `', '.join(some_iterable)`
Yes. In fact, doing so is central to some common idioms - especially string formatting:

```
>>> "Hello {}".format("name")
'Hello name'

```

and joining the items of a sequence:

```
>>> a = ['one', 'two', 'three']
>>> ' + '.join(a)
'one + two + three'

```

Both of these rely on string literals being objects, and hence being able to call methods on them.