Por que alguns métodos usam notação de ponto e outros não?

Então, estou começando a aprender Python (usando o Codecademy) e estou um pouco confuso.

Por que existem alguns métodos que levam um argumento e outros usam a notação de ponto?

len () recebe um argumento, mas não funciona com a notação de ponto:

>>> len("Help")
4
>>>"help".len()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'len'

E da mesma forma:

>>>"help".upper()
'HELP'
>>>upper("help")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'upper' is not defined

questionAnswers(3)

yourAnswerToTheQuestion